Comprehensive-Transformer-TTS 项目介绍
Comprehensive-Transformer-TTS 是一个基于非自回归变压器的文本到语音(TTS)转换项目,支持一系列先进的变压器技术,并包含有监督和无监督的时长建模。这个项目随着研究社区的壮大不断发展,致力于实现终极的 TTS 技术,并欢迎对打造最佳非自回归 TTS 的建议和讨论。
变压器技术
该项目整合了多种先进的变压器模型:
- Fastformer:提供了加性注意力机制的变压器技术。
- Long-Short Transformer:用于高效处理语言和视觉任务的变压器。
- Conformer:结合卷积增强的变压器,应用于语音识别。
- Reformer:高效变压器技术。
- Transformer:经典的“Attention Is All You Need”变压器模型。
韵律建模
音频的韵律部分也在开发中,包含以下模型:
- DelightfulTTS:微软在 2021 年 Blizzard 挑战中的语音合成系统。
- Rich Prosody Diversity Modelling:通过电话级混合密度网络实现丰富的韵律多样性建模。
时长建模
有监督时长建模
- FastSpeech 2:快速且高质量的端到端文本到语音模型。
无监督时长建模
- One TTS Alignment To Rule Them All:通过这一模型,我们解放了对外部对齐器(如 MFA)的依赖,且在一些实例中表现良好。
性能比较
针对 LJSpeech 数据集,项目评估了多种变压器在单个 TITAN RTX 24G 卡下的性能,结果举例如下:
- Fastformer 的内存使用约为 10531MiB,训练 1000 步的时间约为 4 分 25 秒。
- Transformer_fs2 的内存使用为 11571MiB,训练同样步数用时 4 分 53 秒。
项目快速入门
项目支持 LJSpeech 和 VCTK 数据集,并支持单说话人和多说话人 TTS。系统还提供了对音高、音量和语速的可控性,例如,可以通过参数调整语速提高 20%,音量降低 20%。
数据集与训练
项目训练步骤如下:
- 数据采集:支持的数据集包括 LJSpeech 和 VCTK,可以按照示例添加单说话人或多说话人数据集。
- 数据预处理:准备齐全的对齐工作后,运行预处理脚本。
- 模型训练:使用预处理好的数据集进行模型训练,并支持自动混合精度和多GPU。
可视化与分析
通过 TensorBoard,用户可以查看训练过程中的损失曲线、合成的梅尔频谱图,以及音频文件,这使得项目的开发和改进更加直观。
更新日志
项目保持更新,最近一次版本更新包括代码基和预训练模型的修复,并增加了一些示例,便于大家体验和使用。
综上所述,Comprehensive-Transformer-TTS 是一个强大而灵活的 TTS 系统,旨在集成众多最新的变压器技术并优化文本到语音的转换效果。这一项目通过不断改进和社区合作,致力于在语音合成领域实现新的突破。