我使用了需要字典的Openears。当我们提到字典中的单词时,它非常有用。我想转换我们说的所有单词,所以我使用了Nuance的语音识别dragaon SDK。但是它与Web服务器通信。由于安全问题,我想避免与服务器通信。是否可能在离线模式下仅将语音转换为我们说的所有单词,就像在Windows Mobile中一样,而不需要与服务器通信?
我使用了需要字典的Openears。当我们提到字典中的单词时,它非常有用。我想转换我们说的所有单词,所以我使用了Nuance的语音识别dragaon SDK。但是它与Web服务器通信。由于安全问题,我想避免与服务器通信。是否可能在离线模式下仅将语音转换为我们说的所有单词,就像在Windows Mobile中一样,而不需要与服务器通信?
使用无限词汇的语音识别需要非常大的计算和内存资源(几十亿字节的内存),因此在iPhone或其他嵌入式设备上很难实现。 iPhone比桌面电脑慢9倍。 iPad较易实现,因为它具有更强大的CPU。
谷歌已经付出了巨大的努力,使其离线使用的引擎能够进行口述,但仍然更倾向于将数据发送到服务器,因为这样的精度显着更高。
因此,大多数在小设备上运行的解决方案都使用有限的词汇。尽管这种词汇量足够大,以至于您不会注意到。通常,500-1000个单词就足以涵盖大多数实际情况。您可以使用OpenEars来识别这些词汇。
要训练语言模型,您需要域中的文本(单词和表达式)。语言模型训练方法在CMUSphinx教程中有描述。要使用语言模型,您可以使用以下OpenEars API调用:
- (void) changeLanguageModelToFile: (NSString *) languageModelPathAsString
withDictionary: (NSString *) dictionaryPathAsString
更多详细信息请参见API参考文档。
您可以使用OpenEars和相应的语言模型来支持设备的自由文本输入。
这是可行的,但如果您正在寻找一个无限词汇的语音转换器,最好在服务器上进行计算。这样的系统要求可能对于智能手机等系统来说太过巨大。您需要巨大的要求的主要领域如下:
我认为这就是像Google这样的公司为什么在服务器上运行其语音识别服务而不是在手机上的原因。
但是,如果应用程序是有限单词的语音转文字,那么值得一试。
祝您好运!
pocketsphinx在iPhone上没有网络连接的情况下无法工作吗?难道没有一些演示应用程序像VocalKit这样四处流传吗?