在过去,文本到语音,就像它的前沿一样,是非常不完美的。当你输入一个单词时,它几乎可以读出你拼写它的方式...单调。通常情况下,结果会非常有趣。如今,“文字转语音”太聪明了,无法用笑的方式进行游戏。
作为一个个人项目,我想制作一个应用程序,可以带回这种旧式的文本到语音转换,如果只是作为玩具。在.Net中,我可以使用System.Speech.dll
和SpeechLib
COM对象。 (微软语音对象库)两者似乎都使用了操作系统内置的文本转语音功能,而且这种功能太强大了。是否有任何方法可以配置这些以禁用它使智能化的任何东西?
我尝试了一些不同的'SayAs'选项,我尝试将文化设置为不变(异常!),现在我正在研究SSML。它开始看起来像我必须找到旧技术本身,但我甚至不知道从那里开始。
作为我希望看到的混乱的一个例子,这里有一些Moonbase Alpha给你:http://www.youtube.com/watch?v=Hv6RbEOlqRo (确保你戴着耳机!)
Con flab这些新奇的文本到音素转换器,标准化器和无线电话,以及......
答案 0 :(得分:4)
你可能想要所谓的“NRL算法”,它是由Votrax语音合成器在20世纪70年代和80年代使用的。我记得我的一个朋友有一个我们连接的(通过串口)到我的奥斯本我。我们得到了很多笑声,它说“事情”。例如,“计算机”出现了“com poo ter”。
或许这是我朋友的Microvox。这似乎敲响了钟声。当时,所有文本到语音框都使用了相同的技术。链接的文章是信息的源泉。大约一半是关于文本到语音转换的长篇部分。它描述了规则和基本算法。我怀疑,通过一些研究和实验,你可以复制Microvox的语音合成。
NRL算法是由Unix speak command实现的,其来源显然已经失去了历史的巨大优势。但是,M.D. McIlroy写了一篇关于它的论文。 Synthetic English speech by rule(这是一个包含扫描页面的tar文件)。
如果我有时间的话,这将是一个有趣的项目。祝你好运。如果你随身携带,请告诉我。
答案 1 :(得分:2)
好吧,我只是偶然发现了旧的“Microsoft Voice Text”库:vtext.dll
这似乎是我在寻找的东西!与现代TTS库相比,界面非常简单。结果似乎与我链接的视频中的语音不完全相同,但这可能是一个不同的实现。无论哪种方式,都是时候回忆了。
var tts = new HTTSLib.TextToSpeech();
tts.Speak("ebrbrbrbrbrbrbrbr");
由于某种原因,当我说“在这里”时它会崩溃vshost.exe。但由于这只是一个愚蠢的个人项目,我可以忽略它。