TTS开源洞察与测评
2023年作为AI元年,各个领域的技术都有大规模的革新,语音领域的TTS(语音合成)也有很多新技术出现,比如Bert-Vits2、OpenVoice等等,都风靡一时。这里主要看合成音频的效果(MOS)和合成速度(RTF)这两个指标,以及克隆(Finetune)的效果,因为涉及的开源比较多,就不一一介绍模型原理了,后面会逐步发帖讲解(等我搞明白再说)。废话不多说,我们开始。
根据模型形态,TTS模型可以分为2大流派:两阶段式和端到端式。所谓两阶段式TTS,就是从文本输入到音频输出,中间经过两个模型,声学模型(Acoustic Model)和声码器(Vocoder),声学模型将文件转为梅尔频谱,声码器将梅尔频谱转化为波形,也就是我们听到的声音;端到端式TTS,顾名思义,就是一个模型搞定一切。
从时间发展上看,以2020年为界,之前可以说是两阶段式TTS的天下,声学模型主要有tacotron、tacotron2、fastspeech、fastspeech2,声码器就多了,如hifigan、melgan、waveglow、wavenet等等;自从2021年Vits出现之后,打破了两阶段式TTS的模式,毕竟谁不喜欢效果更好+训练更方便的模型。Vits作为端到端TTS的鼻祖,后续大家的研究基本都以它为基础,如Vits2、Bert-Vits2、Vits-Fast、MeloTTS 等等。
后面的讲解也分为两个部分,两阶段式TTS和端到端式TTS。
一、两阶段式TTS(只讲Acoustic Model)
1、Tacotron2——非常经典的声学模型,
输入:音素/字符
语种:中英西法
MOS:可用,后续模型以此为baseline
RTF:CPU 0.2(优化后0.152)
Github:https://github.com/NVIDI
Paper(2018):https://arxiv.org/pdf/1712.05884.pdf
2、FastSpeech2
输入:音素/字符
语种:中英西法
MOS:从架构上看逊色于Tacotron2,但论文里说比Tacotron2好(存疑)
RTF:CPU 0.06
Github:https://github.com/ming024/FastSpeech2
Paper(2020):https://arxiv.org/pdf/2006.04558v1.pdf
两阶段式TTS主要调研了以上两种Acoustic Model,对比评测如下:
1. 架构:
- Tacotron2:Tacotron2是一个基于循环神经网络(RNN)的序列到序列模型,它通过编码器-解码器架构生成语音。Tacotron2使用了基于注意力机制的解码器来自动对齐输入文本和输出语音的特征。
- FastSpeech2:FastSpeech2是一个转换器(Transformer)架构的模型,它通过直接从文本到语音的映射来生成语音,而无需使用中间的声学特征。FastSpeech2通过预测声学特征的持续时间和频谱参数来实现更快的训练和推理速度。
2. 速度:
- Tacotron2:由于其使用了基于循环神经网络的架构,Tacotron2的训练和推理速度较慢。
- FastSpeech2:FastSpeech2通过使用Transformer架构和预测持续时间来加速训练和推理过程,因此具有更快的速度。
3. 精度:
- Tacotron2:Tacotron2在语音合成的自然度和质量方面通常表现较好,尤其是在较长的文本上。
- FastSpeech2:FastSpeech2通常在速度方面表现更好,但可能在生成语音的自然度和质量方面略有下降,尤其是在较短的文本上。
4. 可解释性:
- Tacotron2:Tacotron2的解码器使用了注意力机制,因此可以提供更好的文本与语音对齐的可解释性。
- FastSpeech2:FastSpeech2的映射过程较为直接,可解释性可能略低于Tacotron2。
笔者认为,相比于两阶段式中的Acoustic Model关注文本到语音的对应(连贯性),端到端模型对生成的语音进行多轮迭代,学习到说话人声学特征更为全面,故而在韵律、音质上表现更好。
1、Vits2
输入:音素
语种:中英西法
MOS:优于Tacotron2
RTF:CPU 0.78
Github:https://github.com/p0p4k/vits2_pytorch?tab=readme-ov-file
Paper(2023):https://arxiv.org/pdf/2307.16430.pdf
2、Bert-VITS2 2.2
输入:音素
语种:中英日(底模)
MOS:惊艳,10min语料基本能完全复刻声音(音色、语气、韵律等)
RTF:CPU 0.88,GPU 0.04
Github(2023.7):https://github.com/fishaudio/Bert-VITS2
底模(需要注册才能下载):
https://openi.pcl.ac.cn/Stardust_minus/Bert-VITS2/modelmanage/show_model
3、Vits-Fast
输入:音素
语种:中英日(底模)
MOS:惊艳,20-30条语料基本能完全复刻声音(音色、语气、韵律等)
RTF:CPU 0.95,GPU 0.05
Github(2023):https://github.com/Plachtaa/VITS-fast-fine-tuning
Bert-VITS2和Vits-Fast受底模影响较大,合成中文有轻微的“大佐”味,底模的训练语料和资源要求博主没有公开,所以想要训其他语种的模型较为困难,虽然性能一般,但是效果实在好,可惜~~ 2024年年初,Myshell-ai发布了两个TTS开源,也算是轰动一时,Youtube上很多大佬都在打call(可能付费了),因为实测效果确实没有发布的demo好。
4、OpenVoice (myshell-ai)
输入:文本(因为无需训练,实现Zero-Shot Cross-Lingual Voice Clone)
语种:中英
MOS:音色克隆很不像,音质还行,可通过参数调节情绪、语速
RTF:很快,堪比流式
Github(2024.1):https://github.com/myshell-ai/OpenVoice
5、MeloTTS (myshell-ai)
输入:文本(无法训练,发布的底模只能推理,训练底模语料未知)
语种:中英西法日韩(中文支持中英混合和、英语有印度英国等多个口音)
MOS:音量不稳定,忽高忽低
RTF:号称CPU级别实时推理,实测CPU 0.75,GPU 0.04
Github(2024.1):https://github.com/myshell-ai/MeloTTS
6、VALL-E-X
输入:文本(因为无需训练,实现Zero-Shot Cross-Lingual Voice Clone)
语种:中英日
MOS:音色像,底模中文语料可能不足,发音不地道
RTF:colab环境下GPU推理很慢,rtf>2
Github(2023.3):https://github.com/Plachtaa/VALL-E-X
来张表格总结一下:
模型 | 时间 | 语种 | 输入 | MOS | RTF | 训练语料 | License |
---|---|---|---|---|---|---|---|
Tacotron2 | 2018 | 中英西法 | 音素/字符 | 可用,后续模型以此为baseline | CPU 0.2(优化后0.152) | 25+h | BSD-3-Clause |
FastSpeech2 | 2020 | 中英西法 | 音素/字符 | 从架构上看逊色于Tacotron2,但论文里说比Tacotron2好(存疑) | CPU 0.06 | 25+h | MIT |
VITS2 | 2023 | 中英西法 | 音素 | 优于Tacotron2 | CPU 0.78 | 25+h | MIT |
Bert-VITS2 | 2023 | 中英日 | 音素 | 惊艳,10min语料基本能完全复刻声音(音色、语气、韵律等) | CPU 0.88,GPU 0.04 | ft:10min/sp | AGPL-3.0 |
Vits-Fast | 2023 | 中英日 | 音素 | 惊艳,20-30条语料基本能完全复刻声音(音色、语气、韵律等) | CPU 0.95,GPU 0.05 | ft:10条/sp | Apache-2.0 |
VALL-E-X | 2023 | 中英日 | 文本 | 音色像,底模中文语料可能不足,发音不地道 | colab环境下GPU推理很慢,rtf>2 | 无需训练,1条音频跨语种克隆推理 | MIT |
OpenVoice | 2024 | 中英 | 文本 | 音色克隆很不像,音质还行,可通过参数调节情绪、语速 | 很快,堪比流式 | 无需训练,1条音频跨语种克隆推理 | Free commercial usage |
MeloTTS | 2024 | 中英西法日韩 | 文本 | 音量不稳定,忽高忽低 | 号称CPU级别实时推理,实测CPU 0.75,GPU 0.04 | 底模只能推理,无法ft,训练语料要求未知 | MIT |
7、ChatTTS
ChatTTS是专为对话场景设计的语音生成模型,特别适用于大型语言模型(LLM)助手的对话任务,以及诸如对话式音频和视频介绍等应用。它支持中文和英文,通过使用大约100,000小时的中文和英文数据进行训练,ChatTTS在语音合成中表现出高质量和自然度。
8、Seed-TTS
Seed-TTS:由字节跳动开发的几乎完美接近人类的文本到语音(TTS)模型,该模型能够生成高质量、几乎无法与人类声音无法区分的语音。无需训练的情况下,只需要简短的语音片段即可克隆生成高度自然且富有表现力的语音。完全能否胜任读小说、配音等任务
Seed-TTS 还提供了对各种语音属性的高级控制能力,包括但不限于情感、语调、说话风格等。还可以通过编辑文本来编辑生成的语音。
后记
以上调研没有涵盖近年来所有TTS开源,主要是因为不能满足我的关注点(性能、克隆),以下做个简单介绍,感兴趣的同学可自行学习。
1)bark(无训练代码,支持语种音色很多)
Github:https://github.com/suno-ai/bark/tree/main
2)Tortoise(无训练代码,支持语种音色很多)
Github:https://github.com/neonbjb/tortoise-tts?tab=readme-ov-file
3)GPT-SoVits(性能不行,3090卡1秒只能合成4秒音频)
Github:https://github.com/RVC-Boss/GPT-SoVITS/blob/main/docs/cn/README.md
以下两个是多种TTS模型的整合,便于使用而已。
4)coqui-ai
Github:https://github.com/coqui-ai/TTS
5)Amphion(TTS/TTA/SVC/Vocoder多种任务、模型的整合)
Github:https://github.com/open-mmlab/Amphion
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))