孔某人的低维认知 2024年11月13日
对目前TTS领域的个人看法
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文探讨了当前高质量TTS(文本转语音)的使用体验和未来发展方向。作者指出,虽然各大云服务商的TTS效果已有所提升,但音色多样性不足,导致重复感强,甚至可能与低质量内容绑定。音色克隆虽然能解决部分问题,但成本较高且限制多。作者认为,理想的TTS方案应能根据多个说话人的内容和参考音色,生成具有差异化和自然过渡的多人对话音频。此外,文章也指出当前TTS在处理数字、英文、语气等方面存在不足,需要更完善的预处理和训练数据。最后,作者展望了未来TTS的发展,包括更端到端的音频生成,以及类似视频分镜头脚本的音频生成方式,并强调无论采用何种方案,都需保证输出质量达到用户可接受的水平。

🤔 **TTS音色多样性不足:**各大云服务商的TTS虽然效果提升,但可选音色有限且重复率高,导致用户容易识别出TTS配音,甚至产生负面联想,例如将特定音色与低质量内容绑定。

🗣️ **音色克隆成本高且限制多:**虽然各大厂商已推出音色克隆功能,但其成本较高(约100元/音色),且通常要求使用真人录音且防止滥用,难以满足多样化音色需求,尤其是在模拟多人对话场景下。

💡 **理想的TTS方案:**作者认为,理想的TTS方案应能够根据多个说话人的内容和参考音色,生成具有差异化和自然过渡的多人对话音频,并能够处理语气、停顿、情绪等细节,类似于视频的分镜头脚本生成音频。

🔢 **TTS在处理数字、英文、语气等方面存在不足:**例如,某些TTS在处理数字时会读作“五零”而非“五千”,在处理英文时只会逐个字母念出,在处理语气和语速时也缺乏灵活性,需要更完善的预处理和训练数据。

🔄 **TTS发展方向:**未来TTS发展方向包括更端到端的音频生成,以及类似视频分镜头脚本的音频生成方式,但关键在于保证输出质量达到用户可接受的最低水平,避免出现大量劣质产品。

原创 孔某人 2024-11-13 14:46 北京

之前我讲过对于STT(Speech to Text)方案的使用体验,这次来讲一下对于高质量TTS的使用体验。

TTS也是个挺早的领域了,大模型时代之前的TTS听感其实不算好,特别是很多场景就是图便宜、图自主可控。例如说滴滴司机端的TTS,相信很多人都听过,效果只能说能知道文本是啥,但我是不想用。

现在各大云服务商都有TTS,听感明显要好一些,例如Azure的TTS就被很多人推荐。现在各家也开始增加了带有感情的TTS功能。这一档的TTS其实已经算可以用了。不过Azure的付费门槛还是有的,有些视频就拿一个国产西游记孙悟空的嗓音进行配音,大概也有掩盖它使用的TTS听感较差的考虑。

更好的TTS是高端数字人定制的场景,例如《得到》万维钢专栏的配音已经从怀沙真人换成了怀沙AI,但我作为用户几乎听不出差异,这类就已经算是目前效果最好的方案了。

当然我对于语音的要求可能算相对低的,因为已经听惯了各种劣质的TTS。

对我来说,目前TTS方案的一大问题是,音色多样性太低。从供给的角度上来说,各家TTS供应商的可选音色就那些,而且还有一些是像前面孙悟空那样很“特色”的音色。

从目前各平台上音视频的内容来看,音色的重复很普遍,很多时候我可以第一反应靠对音色的熟悉程度就意识到这是个TTS配音的,都还没到发现声音中的问题。

当然重复的TTS音色能满足最低下限的需求,但对于用户来说,我感觉这是明显能感知到的体验瑕疵。感觉说不定以后会出现像之前肥皂剧与高帧率观影体验绑定的情况——在用户心智中大量使用的TTS音色与低质量的内容相绑定。

当然现在各家TTS厂商都已经开始提供音色克隆,但它尚不能完全满足本节的需求:


但从音色的多样性来说,其实并不需要很像原声音,需要的是多样性,消除那种重复感。特别是在模拟多人对话的场景下,需要有差异性的音色来让用户区分不同的说话人。

所以目前的音色克隆其实并不能满足上述这类需求。目前我看到只有两类方案相对接近这个需求:


以前者为例,FishAudio、CosyVoice等就可以根据短参考音频进行TTS,但是:


所以如果追求音色的多样性、并兼顾成本和综合效果,我目前看到的大概只有Minimax的音色生成。但它的可控性也不太好,如何生成prompt是个问题,而且经常生成与期望的原始音频听感差异很大的结果,例如期望是一个中年人,但最终音色总是听起来偏年轻。

最近播客的生成开始成为热点,在播客生成的场景下,目前的方案说实话我觉得都不是很适合。理想的情况应该是:提供单独的接口,输入所有说话人的内容并标记说话人;每个说话人提供参考音色。输出效果并不追求完美复刻说话人原始音色,因为这会有滥用风险,但应该追求大致类似原参考音频,并与其他说话人的音色要有明显的听感差异。在提供多人多轮对话的场景下,也能够更好地来做不同人之间的停顿、情绪匹配等等。这些靠目前每次只生成一个人的音频然后拼起来的方式很难实现。

同STT一样,只有在实际场景中使用后,才能意识到语音也是一种语言,具有语言的复杂性。

例如说:

当然Minimax可以在输入的时候对于文字的读音进行干预,但连常见的数字写法都不会正确朗读,可见它在这方面的处理也很欠缺,把大量这方面工作甩给了API调用者。

实际上文字中还有各种读法和写法不同的内容,例如:80/20(来自80-20法则)、“3:2”(比例)、日期的各种格式……要是认真处理的话,这可能不是应该靠规则处理的了,而是要先用LLM做类型识别,然后转相应的读法。

而很明显,目前的TTS还没有达到先用LLM做预处理的程度。

正如前面所举例的,实际上读法和写法可以当成是两个不同的语言,他们之间需要认真地进行转换才能实现一个较好的效果。

即使是目前STT最好的Azure,在做数字读法到写法的转换中,也时常会遇到一些明显的硬规则导致的错误case。

是否应该引入一个中间的读法表示层是可以选择的。但我想说即使是追求端到端方案的人,也需要认真地去合成数据来针对性训练端到端模型的短板问题,而不是以这是个端到端模型为挡箭牌,放任常见的badcase无所作为。

在STT方面,由于新词的持续出现,想要完全端到端是很难的,现在各大STT API厂商也都不得不支持热词配置。(但说实话从目前热词配置API的难用程度和各种限制来说,真的在用这些功能的用户应该不多)

现在STT方面让用户来配置热词已经是行业习惯,但我并不认为这是对的。我目前主推Azure的STT也是因为它在一些新词和术语的自动处理上明显好于其他。

如果把语音也看成一种语言,那这方面可以对标LLM生态。LLM Chatbot会让用户教他一个概念吗?从产品的角度上应该是Chatbot自己调用搜索,产品内有自己的通用知识库,大部分的情况应该有产品方解决,而且也只有产品方(而不是用户)才能分摊这个成本。LLM API方面似乎更慢一点,如果不是模型内已有的知识,还是需要在prompt中注入/调用搜索tools/RAG等来解决。但由于LLM包含的庞大知识量,很多时候并不需要靠用户进行额外指定。而且LLM的供应商知道要更新数据,知道这是自己的职责,而不是把它推给用户。反观STT和TTS,我目前没有看到他们有向用户说明他们在持续的更新数据,以应对不断出现的新词。

第2节末尾的多人对话TTS接口可以进一步推广,扩展成对于常见场景的TTS,甚至是通用的音频生成。

举个例子,如果认真观察多人访谈的录像,就会发现其中有不少细节不能靠目前简单的单人TTS结果进行合成。例如:

这些都是需要一个更“端到端”的生成多人对话的音频方案才能实现的,而不是现在给每个说话人进行切片生成。

当然沿着这个思路下去,未必要只做对话,可以像视频领域一样,根据类似分镜头脚本的指令来直接生成完整音频,这很“端到端”。

当然现在无论是分层分阶段、还是端到端都可以做,但关键还是要将效果做到用户能接受的最低水平。无论是规则还是端到端,做出来的垃圾我们都看得太多了。甚至可以说,打着端到端旗号做出来的劣质产品更多,因为这条路线的“门槛低”。现在来看,端到端大模型并没有解决本质问题,只是把问题转移到了针对性的数据合成方面,而这个数据合成流程又和传统分阶段的方案有共性。


交流与合作

如果希望和我交流讨论,或参与相关的讨论群,或者建立合作,请私信联系,获取联系方式请点击 -> 联系方式

本文于2024.11.13首发于知乎与微信公众号

知乎链接 https://zhuanlan.zhihu.com/p/6626396338

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

TTS 语音合成 音色克隆 多人对话 音频生成
相关文章