英文

NVIDIA FastPitch (en-US)

| | | | |

FastPitch [1] 是一个具有音调控制和单个音素持续时间的完全并行变压器架构。此外,它还使用了一个无监督的语音文本对齐器[2]。有关完整的架构细节,请参见模型架构部分。

它还与NVIDIA Riva兼容,用于生产级服务器部署。

使用

该模型可在NeMo工具包[3]中使用,并可用作用于其他数据集上的预训练检查点的推断或微调。

要训练、微调或操作该模型,您需要安装 NVIDIA NeMo 。我们建议在安装最新的PyTorch版本后再安装它。

pip install nemo_toolkit['all']

自动实例化模型

注意:此模型只生成声谱图,需要使用声码器将声谱图转换为声波。此示例中使用的是HiFiGAN。

# Load FastPitch
from nemo.collections.tts.models import FastPitchModel
spec_generator = FastPitchModel.from_pretrained("nvidia/tts_en_fastpitch")

# Load vocoder
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)

保存生成的音频文件

# Save the audio to disk in a file called speech.wav
sf.write("speech.wav", audio.to('cpu').detach().numpy()[0], 22050)

输入

此模型接受文本批次。

输出

此模型生成梅尔频谱图。

模型架构

FastPitch是基于FastSpeech的完全并行文本到语音模型,以基频轮廓为条件。该模型在推断过程中预测基频轮廓。通过改变这些预测,生成的语音可以更富有表现力,更好地匹配话语的语义,并且最终更能吸引听众。FastPitch基于完全并行的Transformer架构,其典型话语的梅尔频谱图合成的实时因子远高于Tacotron2。它使用了一个无监督的语音文本对齐器。

训练

NeMo工具包[3]用于训练模型进行1000个epochs。这些模型是使用 example script base config 进行训练的。

数据集

该模型是在22050Hz的LJSpeech上进行训练的,并且已经在生成具有美式口音的女性英语声音上进行了测试。

性能

目前没有可用的性能信息。

限制

此检查点只适用于在22050Hz数据上进行训练的声码器。否则,生成的音频可能会听起来刺耳或有杂音。

使用NVIDIA Riva进行部署

为了获得最佳的实时准确性、延迟和吞吐量,将模型与 NVIDIA Riva 一起部署, NVIDIA Riva 是一种加速的语音AI SDK,可在本地、所有云、多云、混合云、边缘和嵌入式环境中部署。此外,Riva提供:

  • 具有使用数十万个GPU计算小时对专有数据进行训练的模型检查点,为最常见的语言提供全球一流的开箱即用准确性
  • 具有运行时单词提升(例如品牌和产品名称)以及对声学模型、语言模型和逆文本规范化的自定义的最佳准确性
  • 流式语音识别、与Kubernetes兼容的扩展和企业级支持。请查看 Riva live demo

参考文献

.hf-sanitized.hf-sanitized-NiYmDE7LWSCbh1ArH2aed img {display: inline;}