定制语音的说话人适配器
目录
定制语音的说话人适配器#
说话人适配器是一种 TTS 技术,允许我们在使用较大数据训练的模型上微调持续时间接近 30 分钟的数据集,并获得令人满意的结果。使用适配器可以显著减少 FastPitch 的训练时间。
下载模型#
下载我们将要微调的预训练模型。
## Download FastPitch pretrained model.
ngc registry model download-version "nvidia/riva/tts_fastpitch_speaker_adapter_ipa:trainable_v1.0"
## Download HiFi-GAN pretrained model.
ngc registry model download-version "nvidia/riva/tts_en_hifigan_adapter:trainable_v1.0"
微调现有模型#
下载模型后,我们可以使用它们将模型微调到新的声音。使用 教程 来微调说话人适配器模型。教程 已经包含了微调的配方和推荐的超参数,但是,我们需要在 Set finetuning params
部分更新以下参数
pretrained_fastpitch_checkpoint="<Path to pretrained FastPitch.nemo ckpt, downloaded from ngc in previous section.>"
finetuned_hifigan_on_multispeaker_checkpoint="<Path to pretrained HifiGan.nemo ckpt, downloaded from ngc in previous section.>"
## To do finetuning based on an IPA pretrained model
use_ipa=True
生成 Riva 检查点#
微调完成后,我们将获得 .nemo
检查点。我们使用 .nemo
检查点来生成 .riva
检查点。将 .nemo
转换为 .riva
的过程记录在 创建 Riva 文件 中。我们为 HiFi-GAN 和 FastPitch 生成 .riva
检查点。下面提到了生成 .riva
的示例命令。
# FastPitch
nemo2riva --key tlt_encode --out FastPitch.riva FastPitch.nemo
# HiFi-GAN
nemo2riva --key tlt_encode --out HifiGan.riva HifiGan.nemo
生成 RMIR#
现在我们应该为 HiFi-GAN 和 FastPitch 都准备好了一个 .riva
检查点。接下来,我们使用 Riva 容器中的 riva-build
来创建一个可部署的 RMIR 检查点。有关更多详细信息,请参阅 Riva 文档。我们也可以使用下面的示例命令和适当的值来生成 RMIR
wget -o ipa.txt https://github.com/NVIDIA/NeMo/blob/main/scripts/tts_dataset_files/ipa_cmudict-0.7b_nv23.01.txt
riva-build speech_synthesis \
<rmir_filename>:<key> \
<riva_fastpitch_file>:<key> \
<riva_hifigan_file>:<key> \
--num_speakers=1 \
--phone_set=ipa \
--phone_dictionary_file=ipa.txt \
--sample_rate 44100 \
--voice_name <voice_name> \
--upper_case_chars=True
结论#
现在我们拥有部署模型所需的一切。我们可以使用 Riva 的 tts_deploy
来部署我们的模型。