依赖
paddlepaddle==2.4.2
paddleaudio==1.1.0
paddlespeech==1.4.1
gradio==3.20.1
试验
## https://www.paddlepaddle.org.cn/modelsDetail?modelId=26
from paddlespeech.cli.tts import TTSExecutor
## 如果找不到nltk的zip,就手动执行下 nltk_download.py
tts_executor = TTSExecutor()
wav_file = tts_executor(
text="热烈欢迎您在 Discussions 中提交问题,并在 Issues 中指出发现的 bug。此外,我们非常希望您参与到 Paddle Speech 的开发中!",
output='output.wav',
am='fastspeech2_mix',
voc='hifigan_csmsc',
lang='mix',
spk_id=170)
完整代码
import os
import gradio as gr
from paddlespeech.cli.tts import TTSExecutor
tts_executor = TTSExecutor()
def speech_generate(text: str) -> os.PathLike:
assert isinstance(text,str) and len(text) > 0, 'Input Chinese-English text...'
wav_file = tts_executor(
text=text,
output='output.wav',
am='fastspeech2_mix',
voc='hifigan_csmsc',
lang='zh',
spk_id=174)
return wav_file
def clear_all():
return None, None
with gr.Blocks() as demo:
gr.Markdown("文本合成语音")
with gr.Column(scale=1, min_width=50):
text_input = gr.Textbox(placeholder="Type here...", lines=5)
with gr.Row():
btn1 = gr.Button("Clear")
btn2 = gr.Button("Submit")
audio_output = gr.Audio(type="filepath", label="Output")
btn2.click(
fn=speech_generate,
inputs=text_input,
outputs=audio_output,
scroll_to_output=True)
btn1.click(fn=clear_all, inputs=None, outputs=[text_input, audio_output])
gr.Button.style(1)
demo.launch(server_port=7001)
文章评论