2024年TTS技术选型对比评测

过去半年,随着大厂的加入,TTS领域有了非常大的变化,在以前的文章中,我曾指出Speech是AIGC领域非常重要的一环,它将在众多AIGC领域不可或缺。TTS已经从传统的机器合成音,发展到了自然音阶段,当下的TTS项目,追求合成音的自然流畅,口语化、语气、停顿、口头禅、情绪价值等重要因素。过去一段时间,我调研了GPT-SoVITS, ChatTTS, CosyVoice, Fish-Speech等项目,同时对国内大厂云上的语音合成服务进行了了解,顺带对国外开放了合成接口的创业项目进行了试用。本文将详细阐述我所接触到的这些TTS项目,以及对它们在接入后是否符合预期做对比评测,以为正在做TTS技术选型的朋友提供参考。

TTS技术指标

在国内有一家叫做ttsmaker的网站,提供了非常多且免费的语音合成音色,是我认为国内目前最为优秀的传统TTS提供方。但可能由于其内部政策的原因,目前已关闭API服务,因此,我们无法将它作为技术备选。在此,需要指出,本文要评测的,是可以作为开发者可以常规接入,作为自己的TTS后端的技术备选,可以是服务商提供基于access_token的API,可以是类似云服务商提供的客户端SDK,也可以是开放源码自己部署为本地服务的,简而言之,如果产品虽好,但作为普通开发者无法接入的(如下文提到的Seed-TTS),不再本文考虑范围内。

我们进行TTS技术选型,一定是服务于我们的应用场景,而不是纯粹追求指标的全面性。从开发者角度,我认为我们要从以下指标去评估对应的备选是否满足我们的需求:

接入的便捷性:如果接入很麻烦,意味着后续的维护、升级都需要付出更多的工作

效果的出色度:就当下而言,合成语音越接近自然说话,效果越好

合成的稳定性:每次输出的效果要具有稳定性,声音保持一致,断句、背景电流声、停顿时长等都符合预期

成本的低廉性

每一个方面,都会有更多的细节指标来支撑,我会在最后的对比中,把这些细节指标列出来,让读者可以一目了然。

音色

在所有指标中,音色是最重要的指标。不同的模型,在生成效果上,对音色的依赖度都较大。有的甚至直接靠音色来决定生成语音的语速、风格和情感。音色可能成为当下的核心话题,虽然从社会学层面,克隆会带来一些伦理问题,但是从技术角度,想要获得具体的应用效果,在克隆上下功夫,是目前大部分团队正在努力的方向。

从技术控制的角度,除了音色外,我们希望自己控制情感、说话的风格(人物扮演的角色,例如同一个人,可以扮演家庭主妇、职场女强人、商店老板娘等等)、停顿、口头禅、情感强度、音量、语速、语言、音调(低沉或尖叫)等。只有在技术上我们可以完全独立控制这些参数,我们才能在具体的场景中获得更好的体验。例如在朗读小说时,不仅要为角色分配音色,而且还要在不同的故事情节中,对角色说的话进行情感、风格等的适配。当然,如果这些参数我们完全可控,可以借助大模型来生成朗读脚本。

TTS技术备选介绍

虽然本文试图收集更多技术备选方案,但过多的选项反而可能带来困扰,因此,我只列出相对知名的一些技术选项。

开源TTS项目

OpenVoice

可以说,OpenVoice开创了准确克隆人声的时代,它给技术界带来了新的思路。不过目前来看,OpenVoice的TTS效果已经远远落后于后起之秀。尽管如此,它依然是伟大的开源项目。目前出现了了ChatTTS+OpenVoice的组合,ChatTTS效果出色,但是克隆很逊,因此有这样的巧妙组合。

GPT-SoVITS

知名的声音克隆项目,GPT-SoVITS可以克隆出音色与原声极为接近的种子,而且所需的声音长度很短,克隆速度快,推理速度也快,支持中英语言。不过,虽然GPT-SoVITS在克隆上能够让输出的声音与原声更像,但是在推理时的自然度不够,能够比较容易听出是AI的合成声。

近期,GPT-SoVITS发布了2.0版本,在1.0的基础上做了多项提升。但是据社区小伙伴反馈,2.0之后,克隆的声音反而更不像原声了,但是稳定性获得了更好的保证。从某种角度讲,我们不应该追求与原声的相似,而应该追求稳定性。

Fish-Speech

相对冷门的TTS开源项目,Fish-Speech附属于大项目Fish Audio,Fish Audio团队部分成员来自GPT-SoVITS,技术上具有一脉相承的意味。

我在测试时,在其space demo中获得的克隆效果不佳,但在其官网克隆则可以获得声音更相似的效果。

MeloTTS

MeloTTS 是一个由 MyShell AI 开发的开源、高质量、多语言的文本转语音项目,可以将文本转换成自然流畅的语音输出,并支持英语、西班牙语、法语、中文、日语和韩语等多种语言。MeloTTS 特别支持 CPU 环境下的实时语音合成,无需依赖 GPU。

从体验来讲,MeloTTS 的合成语音只有轻微的机器感,这在开源项目中算是非常优秀。并且文本中的中文、英文和数字都几乎能准确地识别与合成,要说缺点的话就是没有太多的 voice speaker 选项,中文目前只找到了一个女声和一个男声。

另外值得一提的是,OpenVoice也是MyShell AI的项目。

ChatTTS

ChatTTS 也是一个开源的文本转语音项目,支持中文和英文。目前来说,是开源社区最活跃的TTS项目,社区出现的ChatTTS Forge项目在原项目等基础上做了很大的提升。其生成的效果非常接近真实人生。

不过,其团队出于安全和商业的考虑,开源版本的模型参数较小,且官方特意加入了噪声。

CosyVoice

CosyVoice是阿里发布的开源模型,附属于大项目FunAudioLLM。从官方的demo来看,其效果非常接近人声,其效果与ChatTTS类似,具有情感和口气。同时,其克隆效果也非常出色,是目前来说,国内最完整最优秀的TTS开源项目。

同时,阿里云上也提供了CosyVoice的服务,因此,下方就不单独提阿里云服务部分。

闭源TTS服务

微软Azure语音合成

从目前所有云服务公开的情况来看,Azure的语音合成是最优秀最稳定的选择,它提供了非常多的配置选项,可以帮助开发者在不同场景实现自己的效果。而且,网上有很多攻略,可以白嫖其免费额度。

TTSMaker

TTSMaker可能是基于Azure语音合成服务进行二次开发后的产品,其效果和性能非常令人惊艳。它提供了非常多的音色,也提供了长文本TTS,免费额度也足够普通用户使用。它分为国内版和海外版,域名即cn和com的区别,由于某些原因,com域名不能在国内访问,而由于某些原因,cn站点关闭了API服务。

火山引擎megaTTS

豆包背后使用了Seed-TTS,但是Seed-TTS并没有公开提供服务,字节在火山引擎提供了megaTTS,我有真实体验,从克隆的效果来看,非常的优秀,与豆包的克隆效果有的一比。不过megaTTS的收费比较贵。

Reecho睿声

国内较为专注语音相关的厂商,深圳的一家公司,提供了AI语音社区,可以实现合成和克隆,也开放了API。我自己试了一下克隆,效果只能说一般,但是它提供的分角色功能我觉得很有特点。

其他云语音合成

腾讯云、讯飞开放平台、有道智云都提供了语音合成服务。我没有真正体验它们的效果,但是阅读了它们的开发文档,从文档来看,感觉就不像是给普通开发者提供使用的。

ElevenLabs(仅英文)

ElevenLabs是国外的一家专注做AI语音相关的厂商,它的操作台一眼就能看出非常典型的国外小而美公司的特点。其TTS效果非常的优秀,但是只支持英文,如果给中文的话,会有非常重的外国人口音(有的情况下这竟然是一种特色)。

它有开发API,付费为订阅制,总体而言,虽然其功能很优秀,却不适合国内产品场景。

原生TTS功能

浏览器自带SpeechSynthesis

我们的浏览器自带了SpeechSynthesis接口,虽然这个接口是实验性的,但是其兼容性还是非常不错的。基于该接口,我们可以直接用javascript实现语音播报,特别是结合一些浏览器自带的分词工具,我们可以让SpeechSynthesis实现LLM边思考边说话的效果。

但是它的音色会由浏览器加载对应的声音模型,而且其生成的声音距离自然的人声还是比较远。

TTS技术选型对比评测

作为开发者,我们最终要根据当前的业务场景选择一项TTS技术来实现自己的功能。如果使用开源项目,则必须自己部署服务,并基于服务开发业务接口,难度最大;基于云服务,则不需要自己部署,虽然成本更高,但是稳定性和效果有保障;基于原生TTS或第三方原生库,成本低,难度低,但是语音效果不怎么好。

OpenVoice

GPT-SoVITS

Fish-Speech

MeloTTS

ChatTTS

CosyVoice

微软Azure语音合成

TTSMaker

火山引擎megaTTS

Reecho睿声

ElevenLabs

浏览器SpeechSynthesis

合成效果

人声相似性

稳定性

一般

不错

不错

稳定

忽上忽下

很稳定

稳到飞起

稳到飞起

稳到飞起

还行

稳到飞起

长文本

差

差

差

差

差

差

好

很好

差

差,但可以分角色

好的不得了

情感、风格

几乎没有

有一点

有

不错

很不错

很不错

可选

几乎没有

可选

有

无

中文+英文+数字

差

差

还行

还行

好

好

好

数字不行

还行

差

好

音色数量

多到不行

中文只有2个

海量

还行

常用的都有

常用的都有

竟然还有方言

还行

中文的不多,有粤语和台湾

口语化

没有

没有

没有

没有

棒

棒

可选

没有

没有

没有

没有,机器音重到不行

合成可选项

太少

太少

很少

很少

很少

很少

很多

多

一般多

太少

几乎没有

克隆

音色近似度

有一定相似性

比OpenVoice稍好

比OpenVoice好很多

用SenseVoice克隆,效果比OpenVoice好非常多

非常接近原声

个人感觉一般

付费功能没有试

语气情感

可加控制器控制

有一点点,但不多

有

不错

几乎没有

几乎没有

-

零样本

是

是

是

是

源人声要求

30s

5s

30s

3-10s

开发

要自己部署

是

是

是,可使用API服务

是

是

是,可使用阿里云服务

开发难度

难

难

难

难

很难

一般

一般

简单

简单

简单

简单

简单

自由度

高

高

高

高

高

中

高

低

低

一般

极高

其他

项目地址

https://github.com/myshell-ai/OpenVoice

https://github.com/RVC-Boss/GPT-SoVITS

https://github.com/fishaudio/fish-speech

https://github.com/myshell-ai/MeloTTS

https://github.com/2noise/ChatTTS

https://github.com/FunAudioLLM/CosyVoice

服务

https://fish.audio/zh-CN/

https://help.aliyun.com/zh/isi/developer-reference/streaming-speech-synthesis-tts-documentation/

https://learn.microsoft.com/zh-cn/azure/ai-services/speech-service/index-text-to-speech

https://ttsmaker.com/

https://www.volcengine.com/docs/6561/79817

https://www.reecho.cn/

https://elevenlabs.io/app/speech-synthesis/text-to-speech

https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis

开源协议

MIT

MIT

CC-BY-NC-SA 4.0 license

MIT

AGPL-3.0 license

Apache-2.0 license

可商用

可

可

不可,需授权

可

不可,需购买私有版独立部署

可

不可,需购买商业版

可

总结

优点

开源免费可商用

开源免费可商用,稳定

人声相似

开源免费可商用,稳定

口语化很棒

效果比chatTTS还ok

无可挑剔

音色多,长文本

最接近原声

国内少有的专注语音厂商

功能多,小而美

浏览器自带,不要钱,无成本

缺点

效果一般

效果一般

小众,不可商用

音色少

没有克隆,不可商用

性能差,要求高(但可以用云服务)

没有克隆,国内无法调用API

收费贵

效果不好

不支持中文,贵

音色太拉,如果将来可以自己载入音色模型就好了

就目前来说,我们很难推荐哪一款技术选型是最合适的。我们可以根据自己的实际需求来进行选择。

总结而言:

如果是为了长文本读小说,可以选择TTSMaker或Azure的AI语音服务

如果仅仅是为了能够发出声音进行阅读,为了追求实时性,流式阅读,可以选择浏览器SpeechSynthesis

如果追求免费可商用自由度高,就选GPT-SoVITS,MIT协议可以克隆,效果稳定,相似度虽然不够,但起码能用

如果追求克隆口语化,接近自然人声,就选CosyVoice阿里云服务或Azure的AI语音服务

如果追求克隆音色相似度很高,可以尝试火山引擎的语音合成服务,贵就贵点

至于chatTTS和Fish-Speech,由于其协议问题,不建议采用。

结语

随着AI应用的发展,市面上会出现愈来越多GPT-4o发布时演示的与智能体实时对话的应用,这也是迈向机器人时代的重要一步。然而就目前市面上的TTS产品而言,就目前来说,都无法做到最好,特别是在口语化上,无法做到极致的自然交流。当然,这或许也不是一件坏事,毕竟我们有的时候还是需要区分是自然人声还是机器声,特别是在诈骗横行的当下。作为产品的开发者,我们在追求极致的同时,也应该考虑到安全性,避免由此带来的政策风险和将来的法律问题。

2024-08-28

24023