import gradio as gr import os import requests from fireredtts.fireredtts import FireRedTTS def download_file(url, filename): response = requests.get(url) if response.status_code == 200: with open(filename, 'wb') as file: file.write(response.content) print(f"File downloaded successfully: {filename}") else: print(f"Failed to download file: HTTP {response.status_code}") download_file('https://huggingface.co/fireredteam/FireRedTTS/resolve/main/fireredtts_gpt.pt', 'pretrained_models/fireredtts_gpt.pt') download_file('https://huggingface.co/fireredteam/FireRedTTS/resolve/main/fireredtts_speaker.bin', 'pretrained_models/fireredtts_speaker.bin') download_file('https://huggingface.co/fireredteam/FireRedTTS/resolve/main/fireredtts_token2wav.pt', 'pretrained_models/fireredtts_token2wav.pt') tts = FireRedTTS( config_path="configs/config_24k.json", pretrained_path='pretrained_models', ) def tts_inference(text, prompt_wav='examples/prompt_1.wav', lang='zh'): syn_audio = tts.synthesize( prompt_wav=prompt_wav, text=text, lang=lang, ) return syn_audio.detach().cpu() iface = gr.Interface( fn=tts_inference, inputs=[ gr.Textbox(label="输入文本"), # gr.Dropdown(["en-US-Wav2Vec2-Kendra", "en-US-Wav2Vec2-John"], label="选择声音"), # gr.Slider(minimum=0.5, maximum=2.0, value=1.0, label="语速") ], outputs=gr.Audio(label="生成的语音"), title="TTS Demo", description="Enter some text and listen to the generated speech." ) if __name__ == "__main__": iface.launch()