过去半年,随着大厂的加入,TTS领域有了非常大的变化,在以前的文章中,我曾指出Speech是AIGC领域非常重要的一环,它将在众多AIGC领域不可或缺。TTS已经从传统的机器合成音,发展到了自然音阶段,当下的TTS项目,追求合成音的自然流畅,口语化、语气、停顿、口头禅、情绪价值等重要因素。过去一段时间,我调研了GPT-SoVITS, ChatTTS, CosyVoice, Fish-Speech等项目,同时对国内大厂云上的语音合成服务进行了了解,顺带对国外开放了合成接口的创业项目进行了试用。本文将详细阐述我所接触到的这些TTS项目,以及对它们在接入后是否符合预期做对比评测,以为正在做TTS技术选型的朋友提供参考。
在国内有一家叫做ttsmaker的网站,提供了非常多且免费的语音合成音色,是我认为国内目前最为优秀的传统TTS提供方。但可能由于其内部政策的原因,目前已关闭API服务,因此,我们无法将它作为技术备选。在此,需要指出,本文要评测的,是可以作为开发者可以常规接入,作为自己的TTS后端的技术备选,可以是服务商提供基于access_token的API,可以是类似云服务商提供的客户端SDK,也可以是开放源码自己部署为本地服务的,简而言之,如果产品虽好,但作为普通开发者无法接入的(如下文提到的Seed-TTS),不再本文考虑范围内。
我们进行TTS技术选型,一定是服务于我们的应用场景,而不是纯粹追求指标的全面性。从开发者角度,我认为我们要从以下指标去评估对应的备选是否满足我们的需求:
每一个方面,都会有更多的细节指标来支撑,我会在最后的对比中,把这些细节指标列出来,让读者可以一目了然。
音色
在所有指标中,音色是最重要的指标。不同的模型,在生成效果上,对音色的依赖度都较大。有的甚至直接靠音色来决定生成语音的语速、风格和情感。音色可能成为当下的核心话题,虽然从社会学层面,克隆会带来一些伦理问题,但是从技术角度,想要获得具体的应用效果,在克隆上下功夫,是目前大部分团队正在努力的方向。
从技术控制的角度,除了音色外,我们希望自己控制情感、说话的风格(人物扮演的角色,例如同一个人,可以扮演家庭主妇、职场女强人、商店老板娘等等)、停顿、口头禅、情感强度、音量、语速、语言、音调(低沉或尖叫)等。只有在技术上我们可以完全独立控制这些参数,我们才能在具体的场景中获得更好的体验。例如在朗读小说时,不仅要为角色分配音色,而且还要在不同的故事情节中,对角色说的话进行情感、风格等的适配。当然,如果这些参数我们完全可控,可以借助大模型来生成朗读脚本。
虽然本文试图收集更多技术备选方案,但过多的选项反而可能带来困扰,因此,我只列出相对知名的一些技术选项。
OpenVoice
可以说,OpenVoice开创了准确克隆人声的时代,它给技术界带来了新的思路。不过目前来看,OpenVoice的TTS效果已经远远落后于后起之秀。尽管如此,它依然是伟大的开源项目。目前出现了了ChatTTS+OpenVoice的组合,ChatTTS效果出色,但是克隆很逊,因此有这样的巧妙组合。
GPT-SoVITS
近期,GPT-SoVITS发布了2.0版本,在1.0的基础上做了多项提升。但是据社区小伙伴反馈,2.0之后,克隆的声音反而更不像原声了,但是稳定性获得了更好的保证。从某种角度讲,我们不应该追求与原声的相似,而应该追求稳定性。
Fish-Speech
我在测试时,在其space demo中获得的克隆效果不佳,但在其官网克隆则可以获得声音更相似的效果。
MeloTTS
从体验来讲,MeloTTS 的合成语音只有轻微的机器感,这在开源项目中算是非常优秀。并且文本中的中文、英文和数字都几乎能准确地识别与合成,要说缺点的话就是没有太多的 voice speaker 选项,中文目前只找到了一个女声和一个男声。
另外值得一提的是,OpenVoice也是MyShell AI的项目。
ChatTTS
不过,其团队出于安全和商业的考虑,开源版本的模型参数较小,且官方特意加入了噪声。
CosyVoice
同时,阿里云上也提供了CosyVoice的服务,因此,下方就不单独提阿里云服务部分。
微软Azure语音合成
从目前所有云服务公开的情况来看,Azure的语音合成是最优秀最稳定的选择,它提供了非常多的配置选项,可以帮助开发者在不同场景实现自己的效果。而且,网上有很多攻略,可以白嫖其免费额度。
TTSMaker
TTSMaker可能是基于Azure语音合成服务进行二次开发后的产品,其效果和性能非常令人惊艳。它提供了非常多的音色,也提供了长文本TTS,免费额度也足够普通用户使用。它分为国内版和海外版,域名即cn和com的区别,由于某些原因,com域名不能在国内访问,而由于某些原因,cn站点关闭了API服务。
火山引擎megaTTS
豆包背后使用了Seed-TTS,但是Seed-TTS并没有公开提供服务,字节在火山引擎提供了megaTTS,我有真实体验,从克隆的效果来看,非常的优秀,与豆包的克隆效果有的一比。不过megaTTS的收费比较贵。
Reecho睿声
其他云语音合成
腾讯云、讯飞开放平台、有道智云都提供了语音合成服务。我没有真正体验它们的效果,但是阅读了它们的开发文档,从文档来看,感觉就不像是给普通开发者提供使用的。
ElevenLabs(仅英文)
ElevenLabs是国外的一家专注做AI语音相关的厂商,它的操作台一眼就能看出非常典型的国外小而美公司的特点。其TTS效果非常的优秀,但是只支持英文,如果给中文的话,会有非常重的外国人口音(有的情况下这竟然是一种特色)。
它有开发API,付费为订阅制,总体而言,虽然其功能很优秀,却不适合国内产品场景。
浏览器自带SpeechSynthesis
但是它的音色会由浏览器加载对应的声音模型,而且其生成的声音距离自然的人声还是比较远。
作为开发者,我们最终要根据当前的业务场景选择一项TTS技术来实现自己的功能。如果使用开源项目,则必须自己部署服务,并基于服务开发业务接口,难度最大;基于云服务,则不需要自己部署,虽然成本更高,但是稳定性和效果有保障;基于原生TTS或第三方原生库,成本低,难度低,但是语音效果不怎么好。
就目前来说,我们很难推荐哪一款技术选型是最合适的。我们可以根据自己的实际需求来进行选择。
总结而言:
至于chatTTS和Fish-Speech,由于其协议问题,不建议采用。
随着AI应用的发展,市面上会出现愈来越多GPT-4o发布时演示的与智能体实时对话的应用,这也是迈向机器人时代的重要一步。然而就目前市面上的TTS产品而言,就目前来说,都无法做到最好,特别是在口语化上,无法做到极致的自然交流。当然,这或许也不是一件坏事,毕竟我们有的时候还是需要区分是自然人声还是机器声,特别是在诈骗横行的当下。作为产品的开发者,我们在追求极致的同时,也应该考虑到安全性,避免由此带来的政策风险和将来的法律问题。
有没有比较一下微软的声音克隆功能?
博主你好,最近出了一个F5-TTS,方便测评吗(前面打错了
它有个很蛋疼的问题,由于对齐得不好,会将输入音频中的某些短语插入到合成音频中。。。只能使用一些小trick尽量避免。另外我在测试时发现,会生成的音频有时会胡说八道(听不懂的外星语言),提了issue,作者不是很乐意解答。相对来说我更倾向于CosyVoice,阿里提供了钉钉群,群内有他们的技术可以交流
我现在的主力是cosyvoice和豆包,云上用着
非常好,果断赞一个,送杯咖啡
感谢支持
非常棒的文章。感谢总结。我在用cosyvoice 自己搭建了实时推理服务,用在自己的产品中。目前来看,cosyvoice是最均衡的。没深入去看,不知道他的训练 部分是不是也开源了好像是。