FireRedTTS / app.py
hhguo's picture
update
6322243
raw
history blame
1.67 kB
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()