2

是否存在(或可能存在)通用TTS 语音,即不与某种语言(例如英语或德语)绑定的语音?

我正在寻找一种方法来以相同的声音阅读不同国家/地区的街道名称。

4

1 回答 1

3

目前,没有(我知道,或者搜索出现了)。

这是因为大多数高质量的 TTS 引擎都依赖于播放预先录制的单词。对于这样的 TTS 以所有语言以相同的声音说话,这意味着同一个人用所有这些语言录制了他/她的声音。今天大约有 6500 种语言,用一种语言记录一本字典大约需要一个月的时间。因此,记录所有语言需要541年。那个时候那个人早就死了。请注意,这是夸大其词:一个像样的 TTS 不需要逐字记录字典。

实现这一点需要完全由计算机生成的语音。然而,即使这也被分成方言,因为法语强调不同的字母,然后说西班牙语。如果不是,那么您的 TTS 引擎可能会说英式英语。

鉴于您在不同国家/地区的街道名称,最好的解决方案是使用espeak。它内置了很多语言,而且听起来总是一样的:机器人,没有情感。它可以通过命令行调用,因此几乎可以在任何编程语言中使用。

如果您知道这条街在哪个国家/地区,您就可以拥有一个关于他们在不同国家/地区使用什么语言的数据库。我曾经为此使用过geonames数据库,它运行良好。然后,您可以使用您要说的文本和语言调用 espeak。Geonames 提供每日转储,您可以下载并提取语言。然后,您可以将海量数据库存储在服务器上,例如Dotcloud。或者,您可以使用他们的API,但每天只能使用 30,000 次。

如果您不知道街道所在国家/地区的语言,您可以采用更粗略的方法,但这并不总是有效。语言检测。由于大多数街道名称是不同国家/地区的真实单词,例如“Main Street”,您可以运行语言检测,并找出以这种方式使用的语言。我听说detectlanguage.com对此有好处。

所以,虽然没有现成的方法,你可以自己做一个,没有太多麻烦。

于 2012-05-22T01:24:35.693 回答