浏览器中的离线语音识别

Offline Speech Recognition in browser

我正在开发一种产品,需要从用户那里获取输入并根据它执行某些操作。我们通过打字用聊天框实现了它,它正在为我们的目的服务。对于未来的版本,我们希望在聊天中添加语音识别 window。我们想到了使用

window.speechRecognition() || window.webkitSpeechRecognition()

但我们了解到浏览器中可用的功能使用 Google 的 Cloud Speech API。由于我们处理用户的非常敏感的信息,这将是安全问题。是否有任何其他替代方案来实现适用于任何浏览器的语音识别。

您可以试用 IBM Watson 的 Speech To Text 服务。它可以从任何浏览器使用,你可以 opt-out 所以用户的数据不会被记录 server-side: https://console.bluemix.net/docs/services/watson/getting-started-logging.html#controlling-request-logging-for-watson-services

该服务的演示在这里:https://speech-to-text-demo.ng.bluemix.net/

它至少在 Firefox 和 Chrome 中有效,它基于以下开源 SDK:https://github.com/watson-developer-cloud/speech-javascript-sdk

ps。对于一般情况,当用户的数据不敏感时,最好不要 opt-out Watson 可以利用这些数据来提高服务质量。

你可以试试:

  • Snowboy,服务器中没有存储wav。他们训练神经网络 你和你可以下载模型的权重。
  • Tensorflow:真的 很好,但是您需要做一些工作。成功项目 TTS 是 DeepSpeech 和相关的。

显然 PocketSphinx.js 是目前唯一可行的方法。它是一个开源的语音到文本引擎,支持英语,但除此之外的其他语言不多。

Github:

但是,如果您想 运行 您的代码在 Android 设备的单个实例上(例如显示在 public 区域某处的设备),您可以使用 "Download offline voice recognition language" 在手机 Chrome 的设置中。桌面浏览器没有这样的选项。

使用 tensorflowjs "tfjs" 模型在浏览器中工作的最明智的解决方案

Speech Command Recognizer The Speech Command Recognizer is a JavaScript module that enables recognition of spoken commands comprised of simple isolated English words from a small vocabulary