Views
No views yet
1import os
2import torchaudio
3from transformers import AutoModel, AutoProcessor
4
5processor = AutoProcessor.from_pretrained("fnlp/MOSS-TTSD-v0.5", codec_path="fnlp/XY_Tokenizer_TTSD_V0_hf", trust_remote_code=True)
6model = AutoModel.from_pretrained("fnlp/MOSS-TTSD-v0.5", trust_remote_code=True, device_map="auto").eval()
7
8data = [{
9 "base_path": "/path/to/audio/files",
10 "text": "[S1]Speaker 1 dialogue content[S2]Speaker 2 dialogue content[S1]...",
11 "prompt_audio": "path/to/shared_reference_audio.wav",
12 "prompt_text": "[S1]Reference text for speaker 1[S2]Reference text for speaker 2"
13}]
14
15inputs = processor(data)
16token_ids = model.generate(input_ids=inputs["input_ids"], attention_mask=inputs["attention_mask"])
17text, audios = processor.batch_decode(token_ids)
18
19if not os.path.exists("outputs/"):
20 os.mkdir("outputs/")
21for i, data in enumerate(audios):
22 for j, fragment in enumerate(data):
23 torchaudio.save(f"outputs/audio_{i}_{j}.wav", fragment.cpu(), 24000)