Nix-TTS简介
Nix-TTS是一个轻量级的端到端文本转语音(TTS)模型,通过对大型TTS教师模型进行知识蒸馏而得到。它具有以下特点:
- 端到端设计,无需额外的声码器
- 非自回归架构
- 参数量仅为5.23M,比教师模型减少89.34%
- 在Intel i7 CPU上推理速度提升3.04倍,在树莓派3B上提升8.36倍
- 保持了良好的语音自然度和可懂度
Nix-TTS通过模块化蒸馏方法,对编码器和解码器模块进行灵活独立的蒸馏,从而继承了教师模型的优点,同时显著减小了模型尺寸。
学习资源
1. 项目代码仓库
GitHub: https://github.com/rendchevi/nix-tts
这里可以找到Nix-TTS的完整源代码、安装说明和使用教程。
2. 论文
arXiv: https://arxiv.org/abs/2203.15643
详细介绍了Nix-TTS的技术原理和实验结果。
3. 在线演示
HuggingFace Spaces: https://huggingface.co/spaces/rendchevi/nix-tts
可以在线体验Nix-TTS的文本转语音效果。
4. 音频样本
Demo网站: https://anon1178.github.io/Nix-SLT-Demo/
提供了Nix-TTS生成的多个音频样本,可以直接听取效果。
5. 预训练模型
Google Drive: 预训练模型下载
提供了可直接使用的Nix-TTS预训练模型。
快速上手
- 克隆代码仓库:
git clone https://github.com/rendchevi/nix-tts.git
cd nix-tts
- 安装依赖:
pip install -r requirements.txt
sudo apt-get install espeak
-
下载预训练模型
-
使用Nix-TTS生成语音:
from nix.models.TTS import NixTTSInference
from IPython.display import Audio
nix = NixTTSInference(model_dir = "<path_to_the_downloaded_model>")
c, c_length, phoneme = nix.tokenize("Hello world!")
xw = nix.vocalize(c, c_length)
Audio(xw[0,0], rate = 22050)
相关项目
- VITS: Nix-TTS借鉴了其中的一些设计
- Comprehensive-Transformer-TTS: Nix-TTS也参考了其实现
总结
Nix-TTS作为一个轻量级端到端TTS模型,在保持良好语音质量的同时,显著降低了计算复杂度,非常适合在资源受限的场景下部署。本文汇总的学习资料可以帮助读者快速了解和使用这个创新的TTS模型。欢迎大家尝试使用Nix-TTS,也期待看到更多基于Nix-TTS的应用开发!
🐤 快来和可爱的Nix-TTS小鸟一起探索语音合成的世界吧!