跳转至

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

后记

以上调研没有涵盖近年来所有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)

weixin_pay
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))