🚀 NVIDIA Hifigan声码器 (en-US)
HiFiGAN是一种生成对抗网络(GAN)模型,可从梅尔频谱图生成音频。该模型在语音合成领域具有重要价值,能高效且高保真地将文本转化为自然流畅的语音。
|
|
|
|
|
🚀 快速开始
HiFiGAN [1] 是一种生成对抗网络(GAN)模型,可从梅尔频谱图生成音频。生成器使用转置卷积将梅尔频谱图上采样为音频。
📦 安装指南
该模型可在NeMo工具包 [2] 中使用,可作为预训练检查点进行推理,或在其他数据集上进行微调。
要训练、微调或使用该模型,你需要安装 NVIDIA NeMo。我们建议你在安装最新版本的PyTorch后再安装它。
pip install nemo_toolkit['all']
💻 使用示例
基础用法
注意:为了生成音频,你还需要一个来自NeMo的频谱图生成器。此示例使用FastPitch模型。
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').numpy(), 22050)
输入
该模型接受批量的梅尔频谱图。
输出
该模型输出22050Hz的音频。
📚 详细文档
模型架构
HiFi-GAN [1] 由一个生成器和两个判别器组成:多尺度判别器和多周期判别器。生成器和判别器通过对抗训练进行训练,并使用另外两种损失来提高训练稳定性和模型性能。
训练
NeMo工具包 [3] 用于对模型进行多个周期的训练。这些模型使用 此示例脚本 和 此基础配置 进行训练。
数据集
该模型在采样率为22050Hz的LJSpeech数据集上进行训练,并已在生成带有美国口音的女性英语语音方面进行了测试。
性能
目前暂无性能信息。
局限性
如果频谱图生成器模型(例如FastPitch)在新说话者的数据上进行训练/微调,建议也对HiFi-GAN进行微调。HiFi-GAN在使用合成的梅尔频谱图时表现有所提升,因此第一步是使用我们微调后的FastPitch模型生成梅尔频谱图,作为微调HiFiGAN的输入。
使用NVIDIA Riva进行部署
为了获得最佳的实时准确性、低延迟和高吞吐量,请使用 NVIDIA Riva 部署该模型。NVIDIA Riva是一个加速语音AI SDK,可在本地、所有云、多云、混合云、边缘和嵌入式设备上进行部署。
此外,Riva还提供:
- 针对最常用语言的世界级开箱即用准确性,其模型检查点在专有数据上进行训练,使用了数十万小时的GPU计算资源
- 一流的准确性,支持运行时单词增强(例如品牌和产品名称),并可自定义声学模型、语言模型和逆文本归一化
- 流式语音识别、与Kubernetes兼容的扩展能力以及企业级支持
查看 Riva实时演示。
📄 许可证
本项目采用CC BY 4.0许可证。
🔗 参考文献