语言:
- 英文
模型库名称: nemo
数据集:
- ljspeech
缩略图: 无
标签:
- 文本转语音
- 语音
- 音频
- Transformer
- pytorch
- NeMo
- Riva
许可协议: cc-by-4.0
NVIDIA FastPitch (英语-美式)
|
|
|
|
|
FastPitch [1] 是一种完全并行的Transformer架构,能够控制音高和单个音素的持续时间。此外,它还采用了无监督的语音-文本对齐器[2]。完整架构细节请参阅模型架构部分。
该模型也与NVIDIA Riva兼容,可用于生产级服务器部署。
使用方式
该模型可在NeMo工具包[3]中使用,可作为预训练检查点用于推理或在其他数据集上进行微调。
要训练、微调或使用该模型,您需要安装NVIDIA NeMo。建议在安装最新版PyTorch后再安装NeMo。
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("在此输入您的句子,nemo将生成语音。")
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部署模型,这是一个加速的语音AI SDK,可部署在本地、所有云、多云、混合云、边缘和嵌入式设备上。
此外,Riva提供:
- 针对最常见语言的世界级开箱即用准确性,模型检查点基于专有数据训练,耗费数十万GPU计算小时
- 通过运行时词汇增强(如品牌和产品名称)以及声学模型、语言模型和反向文本归一化的定制,实现最佳准确性
- 流式语音识别、兼容Kubernetes的扩展以及企业级支持
查看Riva实时演示。
参考文献