【问题标题】:Offline Speech Recognition in browser浏览器中的离线语音识别
【发布时间】:2018-03-25 07:06:48
【问题描述】:

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

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

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

【问题讨论】:

    标签: tensorflow speech-recognition speech-to-text google-speech-api


    【解决方案1】:

    你可以试试:

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

    【讨论】:

    • Kitt.ai 的 Snowboy 似乎只是检测唤醒词而不是识别语音的模型?
    • 是的,你是对的。它非常有限,但现在它是免费的。这取决于你想做什么。
    【解决方案2】:

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

    语音命令识别器 语音命令识别器是一个 能够识别语音命令的 JavaScript 模块 由小词汇表中简单孤立的英语单词组成

    【讨论】:

      【解决方案3】:

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

      Github:

      但是,如果您想在单个 Android 设备实例(例如显示在公共区域某处的设备)上运行代码,您可以在移动 Chrome 的设置中使用“下载离线语音识别语言”。桌面浏览器没有这样的选项。

      【讨论】:

      • Ia 可以对其进行逆向工程吗?你知道这个函数是怎么调用的,或者在Android源码中能不能访问到吗?
      【解决方案4】:

      您可以尝试 IBM Watson 的 Speech To Text 服务。它可以在任何浏览器中使用,您可以选择退出,这样用户的数据就不会记录在服务器端: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。对于一般情况,当用户的数据不敏感时,最好不要选择退出,以便 Watson 可以利用这些数据来提高服务质量。

      【讨论】:

        猜你喜欢
        • 2014-11-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多