【问题标题】:Web Speech API - DON'T ignore ambient noise/music [closed]Web Speech API - 不要忽略环境噪音/音乐[关闭]
【发布时间】:2019-02-11 22:09:44
【问题描述】:

因此,尽管这对我来说仍然有点令人震惊,但 Google 的默认语音识别完全完全忽略了音乐/环境噪音。问题是,对于我的用例,我希望它真正尝试转录音乐!

我正在使用 Chrome 72 中的 Web Speech API 和他们的演示。

  • 即使我将扬声器放在麦克风旁边,我也无法让它从音乐中听到说话的内容。

  • 我也无法获取任何 Youtube 视频或在线播放的视频。

  • 它也不会接收到我的 Alexa 所说的任何内容。

  • 我有一个 Android,所以我假设他们正在做一些类似于亚马逊在广告中通过播放他们用来取消录音的听不见的声音?有什么办法可以禁用吗?

  • 如果我直接从我的 Mac 或 PC 播放音乐,它也不起作用。

  • 但是,如果我与某人视频聊天(如果重要,则使用 WebRTC)并且他们说出通过扬声器播放的内容,它会转录。

对于任何想知道的人,我希望它可以转录一段视频,该视频在没有背景音乐的人类讲话的同一页面上播放。我正在使用他们的演示代码来看看这是否可行。

有没有办法识别这些声音?

为了澄清,我特意询问如何为 Web Speech API 而不是一般的语音识别禁用此功能。

Web Speech API 是一种从浏览器本身请求语音识别的非常具体的方法(在 Chrome 中它转到 Google,在 Firefox 中我相信他们有一个本地解决方案)。

这里有更多关于它的信息:https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API,但它缺乏文档,因为它因浏览器而异,我特别要求在 Chrome 中避免这种情况。

【问题讨论】:

  • 你使用的是内置的webkitSpeechRecognition吗? “它也不接收我的 Alexa 所说的任何内容。” 你说的 “我的 Alexa” 是什么意思?
  • 这个问题不是“太宽泛”。
  • 请注意,webkitSpeechRecognition 将音频输入记录到麦克风并将该数据发送到远程服务。执行语音识别的实际代码并未随 Chromium 或 Chrome 源代码一起提供。
  • 不,W3C Web Speech API 规范不提供处理音乐的默认方法。开发人员无法控制远程服务如何处理捕获的音频或远程服务返回的转录本。记录用户生物特征数据并将其发送到远程服务的事实不是错误报告之外的文档。您可能对开源项目 Tensorflow 和 CMU Pocket Sphinx 感兴趣。
  • 我明白了,谢谢,那我会寻求更原生的解决方案。

标签: javascript web speech-recognition webspeech-api


【解决方案1】:

请注意,webkitSpeechRecognition 会记录麦克风的音频输入并将该数据发送到远程服务。执行语音识别的实际代码并未随 Chromium 源代码(Chrome 的构建源代码)一起提供。

W3C Web Speech API 规范不提供处理环境噪音/音乐的默认方法。在 Chromium/Chrome 浏览器中,开发人员无法控制远程服务如何处理捕获的音频或远程服务返回的脚本。记录用户生物特征数据并将其发送到远程服务的事实没有记录在至少一个标记为WON'T FIX 的 Chromium 错误报告和在 GitHub 上提交的问题之外。

您可能对开源项目 Tensorflow 和 CMU Pocket Sphinx 感兴趣,您可以在其中创建自己的模型。 Mozilla Voice Web 包含大量可用于训练 TTS/STT 模型的数据。

【讨论】:

  • @PrianshShah 请注意,目前存在 Tensorflow 和 CMU Pocket Sphinx 的开源 JavaScript 版本。
  • 谢谢!我目前正在考虑使用 TF.js 实现替代方案
猜你喜欢
  • 1970-01-01
  • 2013-12-06
  • 1970-01-01
  • 2011-04-07
  • 2016-10-31
  • 1970-01-01
  • 2015-03-07
  • 2010-09-11
  • 2010-10-10
相关资源
最近更新 更多