🚀 NVIDIA FastPitch (en-US)
NVIDIA FastPitch (en-US) 是一款文本转语音模型,采用全并行的Transformer架构,可对音高和单个音素持续时间进行韵律控制。它还使用了无监督的语音 - 文本对齐器,并且与NVIDIA Riva兼容,可用于生产级服务器部署。
🚀 快速开始
该模型可在NeMo工具包中使用,可作为预训练检查点进行推理或在其他数据集上进行微调。
要训练、微调或使用该模型,你需要安装 NVIDIA NeMo。建议在安装最新版本的PyTorch之后再安装它。
pip install nemo_toolkit['all']
💻 使用示例
基础用法
注意:此模型仅生成频谱图,需要一个声码器将频谱图转换为波形。在本示例中使用了HiFiGAN。
from nemo.collections.tts.models import FastPitchModel
spec_generator = FastPitchModel.from_pretrained("nvidia/tts_en_fastpitch")
from nemo.collections.tts.models import HifiGanModel
model = HifiGanModel.from_pretrained(model_name="nvidia/tts_hifigan")
高级用法
生成音频
import soundfile as sf
parsed = spec_generator.parse("You can type your sentence here to get nemo to produce speech.")
spectrogram = spec_generator.generate_spectrogram(tokens=parsed)
audio = model.convert_spectrogram_to_audio(spec=spectrogram)
保存生成的音频文件
sf.write("speech.wav", audio.to('cpu').detach().numpy()[0], 22050)
输入
该模型接受批量文本。
输出
该模型生成梅尔频谱图。
📚 详细文档
模型架构
FastPitch是一个基于FastSpeech的全并行文本转语音模型,以基频轮廓为条件。该模型在推理过程中预测音高轮廓。通过改变这些预测,生成的语音可以更具表现力,更好地匹配话语的语义,最终让听众更感兴趣。FastPitch基于全并行的Transformer架构,在合成典型话语的梅尔频谱图时,其实时因子比Tacotron2高得多。它使用了无监督的语音 - 文本对齐器。
训练
使用NeMo工具包 [3] 对模型进行了1000个周期的训练。这些模型使用 此示例脚本 和 此基础配置 进行训练。
数据集
该模型在采样率为22050Hz的LJSpeech数据集上进行训练,并已在生成带有美国口音的女性英语语音方面进行了测试。
性能
目前暂无性能信息。
局限性
此检查点仅适用于在22050Hz数据上训练的声码器。否则,生成的音频可能会有杂音或听起来断断续续。
使用NVIDIA Riva进行部署
为了获得最佳的实时准确性、低延迟和高吞吐量,请使用 NVIDIA Riva 部署该模型。NVIDIA Riva是一个加速语音AI SDK,可在本地、所有云环境、多云、混合云、边缘和嵌入式设备上进行部署。
此外,Riva还提供:
- 针对最常见语言的世界级开箱即用准确性,其模型检查点在专有数据上进行了数十万小时的GPU计算训练。
- 具有运行时单词增强(例如品牌和产品名称)以及声学模型、语言模型和逆文本归一化定制功能的一流准确性。
- 流式语音识别、Kubernetes兼容的扩展以及企业级支持。
查看 Riva实时演示。
📄 许可证
本项目采用CC BY 4.0许可证。
🔗 参考资料