VITS:端到端语音合成,音质接近真人
文章目录
VITS:端到端语音合成,音质接近真人
VITS 是由 Jaehyeon Kim 等人提出的端到端文本转语音模型,目前在 GitHub 上获得了 7,859 个 Star:


VITS 全称是 Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech。它将变分自编码器与对抗训练结合,实现了从文本到语音的直接生成,不需要传统的声码器作为第二阶段。
传统的两阶段 TTS 系统先由声学模型生成中间特征,再通过声码器合成波形。这种方式流程长,累积误差大。VITS 把这两个阶段合二为一,在单阶段内完成训练,同时支持并行采样,生成速度显著提升。
模型核心包含两部分改进。一是变分推断配合标准化流,增强了生成模型的表达能力。二是随机时长预测器,让同一段文本可以用不同的音高和节奏来朗读,自然呈现出语音的一对多特性。这种不确定性建模让合成语音更加自然。
在 LJ Speech 单说话人数据集上,VITS 的主观评测得分超过了当时最好的公开 TTS 系统,与真人录音的评分差距很小。项目提供了在线 demo 和预训练模型,可以直接试听效果。
环境准备
运行 VITS 需要 Python 3.6 或更高版本。系统需安装 espeak,Ubuntu 下可用 apt-get 安装:
apt-get install espeak
数据集方面,单说话人场景使用 LJ Speech,多说话人场景使用 VCTK。VCTK 数据需下采样到 22050 Hz。项目源码中已包含 LJ Speech 和 VCTK 预处理后的音素文件。
如需使用自己的数据集,需要构建 Monotonic Alignment Search 模块并执行预处理:
cd monotonic_align
python setup.py build_ext --inplace
训练与推理
单说话人训练命令:
python train.py -c configs/ljs_base.json -m ljs_base
多说话人训练命令:
python train_ms.py -c configs/vctk_base.json -m vctk_base
推理部分项目提供了 inference.ipynb 笔记本,可以直接加载训练好的模型生成语音。项目也支持在 Google Colab 上运行交互式 TTS demo,无需本地配置环境即可体验合成效果。
VITS 的代码结构清晰,配置通过 JSON 文件管理,训练和推理的入口脚本分工明确。对于从事语音合成研究或希望搭建 TTS 服务的开发者来说,这是一个值得参考的实现。
和推理的入口脚本分工明确。对于从事语音合成研究或希望搭建 TTS 服务的开发者来说,这是一个值得参考的实现。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)