我有一个客户需要一个可以识别语音命令的 Android 应用程序。据我了解,内置的语音到文本功能实际上将数据发送到谷歌的服务器,然后再发回文本翻译。这是一个主要问题,因为语音数据非常敏感(除非数据在发送到 Google 或从 Google 发送时已加密 - 但我怀疑它是否已加密)。
我能想到2个选项。首先是在 Android 上将语音转换为文本,尽管这似乎是一项极其昂贵的操作。第二种可能性是让本地服务器为我转换数据(我可以在发送和接收语音数据时加密语音数据和翻译)。这是 CMU Sphinx 可以实现的吗?值得注意的是,我还可以访问 Asterisk 服务器,这可能有助于解决这个问题(我不知道)。
实际上,应该只有大约 200 个单词需要被识别。我更喜欢开源/免费软件解决方案,但我也对商业解决方案(可能是 FlexT9)持开放态度。理想情况下,我可以将音频流发送到某个地方,取回作为文本的字符串,然后我可以解析该字符串并使用该字符串执行其他操作。
我过去没有做过太多的 android 或任何语音识别开发,所以我希望有人至少可以为我指明正确的方向。谢谢!