我使用需要字典的 Openears。当我们在字典中提到这个词时,它很有用。我想转换我们所说的所有单词。所以我用Nuance的语音识别dragaon SDK。但它与网络服务器通信。出于安全考虑,我想避免服务器通信。是否可以将我们所说的所有单词的语音转换为文本,就像在 windows mobile 中一样,而无需仅在离线模式下与服务器通信?
3 回答
具有无限词汇量的语音识别需要非常大的计算和内存资源(千兆字节的内存),因此在 iPhone 上的其他嵌入式设备上很难做到这一点。iPhone 比台式机慢 9 倍。iPad 更容易,因为它具有更强大的 CPU。
谷歌付出了很大的努力让他们的引擎离线工作以进行听写,但它仍然更喜欢将数据发送到服务器,因为它明显更准确。
因此,大多数在小型设备上运行的解决方案使用有限的词汇。虽然这个词汇量可能足够大,所以你不会注意到这一点。通常 500-1000 字足以涵盖大多数实际情况。您可以使用 OpenEars 来识别此类词汇。
要训练语言模型,您需要来自您领域的文本(单词和表达式)。CMUSphinx 教程中描述了语言模型训练。要使用语言模型,您可以使用以下 OpenEars API 调用:
- (void) changeLanguageModelToFile: (NSString *) languageModelPathAsString
withDictionary: (NSString *) dictionaryPathAsString
有关详细信息,请参阅API 参考。
You can use OpenEars with such vocabulary and corresponding language model to support free form text entry for your device.
它可以完成,但如果您正在寻找一个无限词汇的语音到文本转换器,那么最好在服务器上完成计算。对于像智能手机这样的系统来说,这种系统的要求可能太高了。您将有巨大需求的主要领域如下:
- 将输入语音映射到文本的字典。
- 用于运行语音识别算法的计算。
我相信这就是为什么像谷歌这样的公司在服务器而不是电话上运行他们的语音识别服务的原因。
但是,如果该应用程序是对文本的有限单词语音,那么可能值得一试。
祝一切顺利!
在没有网络连接的情况下,pocketsphinx不能在 iPhone 上运行吗?不是有一些像VocalKit这样的演示应用程序吗?