一些中文语音合成服务的使用体验

因为一些开发需求要使用到语音合成(TTS, text-to-speech)技术,所以趁着放假体验了一些网上比较知名的 TTS 服务,以此来比较中文语音合成的效果。

评测文本

从我自身的使用角度出发,我选了如下两段内容进行语音合成。这两段中文文本中都包含了英文单词和数字,用来模拟平常的使用场景。

知名爆料人 Moore’s Law is Dead 在近期的视频中表示,PlayStation 5 Pro 不带光驱的型号价格有望低至 500 美元,因为它的生产成本不会比 PlayStation 5 高出多少。

据 SteamDB 数据显示,截至发稿,《HELLDIVERS 2》Steam 同时在线人数的峰值已经来到了 255189 人,即时玩家人数也超过了 16 万人,预计在本周末热度会进一步上涨。

合成结果

EdgeTTS

EdgeTTS 这个项目其实就是将 Edge 浏览器内的 大声朗读 功能封装为 API 接口,而大声朗读功能应该是使用了微软自己的 Azure 文本转语音服务。该服务提供了中文 voice speaker 选项(包含 zh-HK、zh-TW,甚至还包含山西话和东北话),只不过 speaker 数量受到了限制,选择比较少。

从合成结果来看,文本中的中文、英文和数字都能准确地被识别与合成,同时每个 voice speaker 的声音还具有不同的情感,完全能满足日常大多数场景。当然,有条件的话还是建议注册一个 Azure 账户,每个账户每个月都有 50 万字符的免费额度(微软果然财大气粗)。

TTSMaker

ttsmaker.com / ttsmaker.cn 似乎就是基于 Azure 语音合成服务进行二次开发后的产品。相比 EdgeTTS,它提供了更多的中文 voice speaker 选项,一些热门的声音在合成过程中通常需要等待一会,但并不会很久。

从合成结果上来说,它和 EdgeTTS 生成的结果没有什么区别(除了因为 voice speaker 不同导致的语音情感不同),因为它们使用的都是微软的语音合成服务。

TTSMaker 官方提供了 API 文档,但是目前还没有提供个人开发者注册选项。虽然官方提供了用于开发测试的免费 token,但基本在每次配额重置后字符数马上就会被使用耗尽。

MeloTTS

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

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

ChatTTS

ChatTTS 也是一个开源的文本转语音项目,支持中文和英文。以下的测试音频通过 ChatTTS Forge 合成,从合成效果来看,除了测试文本中的 “HELLDIVERS 2” 之外,中文、英文、数字都几乎能准确地被识别与合成,并且听起来和真人已经没有多大区别了。

EmotiVoice

EmotiVoice 是一个开源的 TTS 引擎,支持中英文双语,并拥有 2000 多种不同的音色和特色的情感合成功能,支持合成包含快乐、兴奋、悲伤、愤怒等广泛情感的语音。

但从合成结果来看,语音充满了比较明显的机器感,同时情感色彩不明显,即使在合成时已经把 prompt 设置为 “快乐”。

ElevenLabs

ElevenLabs 是国外知名度非常高的一个 AI 语音服务网站,每个账户每月提供 1 万字符的免费额度。并且该网站提供了完整的 API 接口文档和 SDK,开发者可以十分方便地进行二次开发。

我使用该网站在去年年底推出的 Multilingual v2 语音合成模型,该模型号称支持 28 种语言(包括中文)。

从合成结果来看,该模型并不适合生成中文内容。因为该模型提供的 voice speaker 只包含了诸如美式口音、英式口音等选项,但没有提供中文口音。所以生成的语音结果听起来非常像是一个老外在讲中文,即存在着明显的外语口音。

此外,根据合成结果,该模型也不能很好的识别中文文本中包含的数字。

CoquiTTS

CoquiTTS 可以被当作 ElevenLabs 的开源替代方案,它集成了几个知名的 TTS 模型,提供了语音合成和克隆服务。这里我使用了 XTTS v2 模型进行语音合成,该模型同样支持中文。但是和 ElevenLabs 相似,该模型提供的 voice speaker 不包含中文口音,只有美式、英式英语等口音。

CoquiTTS 合成结果只存在轻微的外语口音和机器感,比 ElevenLabs 的结果要好,但是同样无法很好地识别出文本中夹杂的长串数字。

另外,Coqui 官方已经宣布因为资金问题不再维护该项目,所以在未来很难看到该项目的功能更新和问题修复。

结论

微软的语音合成服务最好,语音带有情感,同时没有任何机器合成感。

如果只是需要少量文本合成,TTSMaker 是一个不错的选择;如果是出于软件开发的需要,那么可以根据生成文本字符数的多少来选择 EdgeTTS 或微软 Azure 的文本转语音云服务;如果想要使用开源项目,那么 MeloTTS 或者 ChatTTS 是不错的选择。