javascript - W3C 语音转文本 : output values as you speak

标签 javascript google-chrome web speech-to-text

我一直在使用 W3C Speech Synthesizer在我的应用程序中用于网络。我希望这些词在我说话时开始出现。这是因为我希望用户对他们正在说的当前单词有近乎即时的反馈。目前,规范中的 result 事件会在一秒左右不说话后等待追加整个数组。

我查看了标准,但我只发现从结果事件构建最终结果列表需要等待一段时间:

5.1.3 语音识别事件

result 事件:当语音识别器返回结果时触发

5.1.8 SpeechRecognitionEvent

results属性:本次session当前所有识别结果的数组。

我还尝试在 onstartonpause 方法中检索结果:

            recognition = new webkitSpeechRecognition()

            recognition.onstart = function (event) {
                //append word
            };

            recognition.onpause = function (event) {
                //append word
            };

有谁知道一种方法可以在您说话时实现单词的这种“打字”效果?


另一个问题是,如果用户停止说话一秒钟,然后编译结果列表(IE,触发 result 事件),然后他们再次说话,结果列表未更新。

即使我设置了 recognition.continuous = true;

也会发生这种情况

最佳答案

从 Google Developers 找到它 Introduction Video .

除了recognition.continuous = true,您还需要recognition.interimResults = true;

然后需要在 onresult 处理程序中稍微修改您的逻辑以说明中间结果:

recognition.onresult = function (event) {
  var final = "";
  var interim = "";
  for (var i = 0; i < event.results.length; ++i) {
    if (event.results[i].final) {
      final += event.results[i][0].transcript;
    } else {
      interim += event.results[i][0].transcript;
    }
  }
  final_span.innerHTML = final;
  interim_span.innerHTML = interim;
}

关于javascript - W3C 语音转文本 : output values as you speak,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33029633/

相关文章:

javascript - 未处理的 promise 拒绝 [错误 : Got an invalid value for 'component' prop for the screen 'LocationType' . 它必须是有效的 React 组件。]

javascript - 所有 Google Maps v3 标记的通用事件处理程序

javascript - wp_dropdown_categories - 将类别 ID 传递给 javascript

javascript - 查找页面中每个链接的坐标

iphone - 如何将 cookie 从我的 ios 应用程序共享到移动 safari?

css - 是否可以将 MaterializeCss 集成到 Bootstrap 中

php - 从 PHP 中提取的目录列表中的 jQuery Prop 父复选框

google-chrome - 如何更改我的 IIS Express SSL 证书,使其适用于 Chrome 58+?

javascript - HTML 字体和粗体不在 IE 11 中呈现,但在 chrome 中工作 - 从 javascript 动态

macos - Chrome headless 总是在 osx 上显示其停靠栏图标