from pathlib import Path
import argparse
import torch
import torchaudio
from chatterbox.tts_turbo import ChatterboxTurboTTS
p=argparse.ArgumentParser();p.add_argument('--variant',choices=['baseline','chuckle','cough'],required=True);p.add_argument('--reference',default='input.wav');p.add_argument('--seed',type=int,default=42);p.add_argument('--output',default='model-output');a=p.parse_args()
root=Path(__file__).resolve().parent;torch.manual_seed(a.seed)
model=ChatterboxTurboTTS.from_pretrained(device='cuda')
text=(root/(a.variant+'.txt')).read_text().strip()
wav=model.generate(text,audio_prompt_path=str((root/a.reference).resolve()))
out=root/a.output;out.mkdir(parents=True,exist_ok=True)
torchaudio.save(str(out/(a.variant+'.wav')),wav,model.sr)
print(out)
