禁用亵渎过滤器以通过Web Speech API进行识别

Xeo*_*eos 8 javascript google-chrome webspeech-api

我正在使用webkitSpeechRecognition实例访问Chrome中的本机语音识别.问题是Web Speech API规范没有涵盖亵渎性过滤的主题,但默认情况下,Google的Speech API启用了亵渎性过滤器.这不是一个主要问题 - 幸运的是,Web Speech API的默认过滤器显示第一个字母,并将其余部分隐藏在星号下.然而,有些情况下,以某个字母开头且具有一定长度的单词来自不同的cuss单词并猜测该人所说的内容可能无法给出准确的结果.

这里的问题是:如何控制Chrome中Web Speech API的亵渎过滤级别?JavaScript实例不会公开任何其他(特定于平台的)变量.实际的Speech API具有pfilter可以设置为0(无过滤)的URL参数,1(使用####过滤和替换单词)或2(使用星号过滤和替换除第一个字母以外的所有字符).此参数也为Chrome Extension开发人员公开,它位于SpeechInputStartOptions(但它是一个布尔变量).

PS SpeechInputStartOptions文档介绍了默认的Chrome过滤设置.我无法找到此设置或有关它所在位置的任何信息.即使理想情况下,解决方案也不应该让用户不得不做某事,找到适合它的Chrome浏览器设置仍然是一个突破.

vin*_*hbc 9

目前,Chrome并没有允许禁用的亵渎过滤器webkitSpeechRecognition

我能够找到这两个错误:

  1. 在 WICG 上提交的错误

  2. Chromium 上的错误支持禁用亵渎过滤器

Chromium 源代码似乎确实调用了该选项,filter_profanities但似乎在 Web 版本中将其默认为 true。

(如果您有兴趣,请链接到定义的Speech_recognition_session_config.h 的 Chromium 源filter_profanities

我能找到的最接近的工作解决方案是Google 的 Speech to text cloud 解决方案,它确实允许删除亵渎过滤器。