TTS语言合成 在线体验|部署

一.前言

TTS技术在很多应用场景中都有广泛的应用,比如语音助手、电子书朗读、语音导航等。基于飞桨PaddleSpeech
开源模型库,本文提供语言合成在线体验应用并介绍部署教程

二.在线体验

利用百度飞桨深度学习框架,我在飞桨平台部署了TTS语音合成在线应用,用户可以直接体验,可以自由选择声学模型声码器,支持汉语、英语、汉英和粤语四种语言合成,合成500字仅需10s前往体验

三.部署

PaddleSpeech支持通过命令行和Python API形式调用上述的在线应用只提供了部分参数设置,接下来介绍通过Python API方式部署(注意,TTS语音合成使用CPU进行的话速度较慢,如果你本地机器没有GPU配置,可以使用百度飞桨平台提供的免费GPU环境)。

1.依赖安装

pip install paddle paddlespeech
# paddlespeech 依赖需要用到 nltk 包,但是有时会因为网络原因导致不好下载,此处手动下载一下放到百度服务器的包
wget https://paddlespeech.bj.bcebos.com/Parakeet/tools/nltk_data.tar.gz
# 解压到环境路径目录下
tar zxvf nltk_data.tar.gz

2.API调用

调用非常方便,只需要设置好参数就行,具体声学模型和声码器会自动下载

import paddle
from paddlespeech.cli.tts import TTSExecutor

tts_executor = TTSExecutor()

wav_file = tts_executor(
    text='今天的天气不错啊',
    output='output.wav',
    am='fastspeech2_csmsc',
    am_config=None,
    am_ckpt=None,
    am_stat=None,
    spk_id=0,
    phones_dict=None,
    tones_dict=None,
    speaker_dict=None,
    voc='pwgan_csmsc',
    voc_config=None,
    voc_ckpt=None,
    voc_stat=None,
    lang='zh',
    device=paddle.get_device())

具体参数:

  • input(必须输入):用于合成音频的文本。
  • am:TTS 任务的声学模型, 默认值:fastspeech2_csmsc
  • am_config:声学模型的配置文件,若不设置则使用默认配置,默认值:None
  • am_ckpt:声学模型的参数文件,若不设置则下载预训练模型使用,默认值:None
  • am_stat:训练声学模型时用于正则化 mel 频谱图的均值标准差文件,默认值:None
  • phones_dict:音素词表文件, 默认值:None
  • tones_dict:声调词表文件, 默认值:None
  • speaker_dict:说话人词表文件, 默认值:None
  • spk_id:说话人 id, 默认值: 0
  • voc:TTS 任务的声码器, 默认值: pwgan_csmsc
  • voc_config:声码器的配置文件,若不设置则使用默认配置,默认值:None
  • voc_ckpt:声码器的参数文件,若不设置则下载预训练模型使用,默认值:None
  • voc_stat:训练声码器时用于正则化 mel 频谱图的均值标准差文件,默认值:None
  • lang:TTS 任务的语言, 默认值:zh
  • device:执行预测的设备, 默认值:当前系统下 paddlepaddle 的默认 device。
  • output:输出音频的路径, 默认值:output.wav
  • use_onnx: 是否使用 ONNXRuntime 进行推理。
  • fs: 使用特定 ONNX 模型时的采样率。

猜你喜欢

转载自blog.csdn.net/wsfsp_4/article/details/131422796
今日推荐