标签: webkitspeechrecognition

支持Opera中的webkitSpeechRecognition API

我们在Chrome中使用了webkitSpeechRecognition API.由于这是一个原型应用程序,我们非常乐意仅支持Chrome,因此我们通过window.hasOwnProperty('webkitSpeechRecognition')检查(如Google建议)检测对API的支持.这在Firefox中很快失败,但是新的Opera(基于webkit)报告它确实拥有该属性.事实上,所有代码都按预期运行,除了......没有任何事件被触发,也没有记录任何语音.

所以,我的问题是:我可以以某种方式使它工作吗?它需要一些特殊权限或设置吗?

或者,是否有一种方法(除了良好的旧浏览器嗅探)来检测webkitSpeechRecognition的正确,工作支持?

javascript opera webkitspeechrecognition

15
推荐指数
1
解决办法
1924
查看次数

Android Chrome 上的 webkitSpeechRecognition

我正在使用一个简单的语音到文本检测webkitSpeechRecognition。此代码在 Windows 桌面上运行良好。但是 - 在Android Chrome 浏览器上- 开始检测时,Android 状态栏上的麦克风仅显示 1 或 2 秒。如果没有语音活动 -它会关闭并且语音识别停止。如果我在单击“开始”后确实说得很快,它会一直亮着。任何想法如何让 Android 麦克风始终可用?

     if ('webkitSpeechRecognition' in window) {

          var recognition = new webkitSpeechRecognition();

            recognition.continuous = true;
            recognition.interimResults = true;

            recognition.onstart = function () {
                $("#status").html("Status: Recording...");
                recognizing = true;
            };

            recognition.onerror = function (event) {
                alert(event.error);
            };

            recognition.onend = function() {
                recognizing = false;
            };

          recognition.onresult = function(event) {
            var interim_transcript = '';
            for (var i = event.resultIndex; i …
Run Code Online (Sandbox Code Playgroud)

javascript android google-chrome webkitspeechrecognition

12
推荐指数
1
解决办法
5261
查看次数

Android上的语音识别API重复短语

我发现,语音识别API会复制我的Android上的结果短语(并且不会在桌面上重复).

对于每个短语说,它返回两个结果.第一个是

在此输入图像描述

第二个是

在此输入图像描述

如您所见,在第二个回程中,短语是重复的,每个副本都标记为final,第二个副本超出resultIndex.在第一次回归中,只有一个副本,final它是超越的resultIndex.

我只会采取第二次回报,但问题是它发生在移动Chrome上,但不会发生在桌面上Chrome.桌面Chrome仅返回第一次返回.

所以,问题是:这是设计行为吗?然后如何区分单个最终短语,然后通常为所有计算机?

或者可能是声音回声有些错误,那么问题是如何避免/检查回声?

UPDATE

Html如下:

<input id="recbutton" type="button" value="Recognize">
<div id="output">

  <div>
    Initial text
  </div>

</div>
Run Code Online (Sandbox Code Playgroud)

代码如下:

var recognition = null;
var recognitionStarted = false;
var printcount = 1;
var lastPhrase = null;

$(function() {
  attachRecognition();
});

$('#recbutton').click( function() {
    if( !recognitionStarted ) {
    recognition.start();
  }
  else {
    recognition.stop();
  }
});

function printOut(text) {
    var id = 'printcount' + printcount;
  printcount++;

    $('#output').append( …
Run Code Online (Sandbox Code Playgroud)

javascript android speech-recognition google-chrome webkitspeechrecognition

10
推荐指数
1
解决办法
1307
查看次数

如何知道webkitSpeechRecognition是否已启动?

我正在制作机器人听我的声音.
所以我做了 :

this.recognition = new webkitSpeechRecognition();
Run Code Online (Sandbox Code Playgroud)

我可以这样开始听:

this.recognition.start();
Run Code Online (Sandbox Code Playgroud)

这是停止听:

this.recognition.stop();
Run Code Online (Sandbox Code Playgroud)

但是你知道一个函数会this.recognition在启动时返回true ,如果它停止会返回false吗?喜欢"isStarted()"

谢谢.

javascript google-chrome webkitspeechrecognition

9
推荐指数
1
解决办法
2700
查看次数

WebkitSpeechRecognition随机停止录制

我正在尝试对文本转录进行连续的演讲,但似乎无法让webkitSpeechRecognition像宣传的那样工作.它似乎随机停止录制(通常在长时间的静音之后),即使我设置了continuous = true和interimResults = true.当我在EVERY.SINGLE.EVENT中放入一个简单的日志语句时,我甚至无法弄清楚导致这种随机停止的原因.webkitSpeechRecognition基于我能找到的文档.这是我所拥有的脚本(基本上是演示https://www.google.com/intl/en/chrome/demos/speech.html上的一个小模块)

我知道的:

录制前不会记录任何错误.

我正处于千兆位连接,因此没有延迟相关.

它会在长时间停顿后正常停止,但有时会无故停止.

它可能在2分钟或30秒后发生.

我评论了下面的一些内容,但我已经尝试了所有这些,但没有成功跟踪问题.

    var final_transcript = '';
    var recognizing = false;
    var ignore_onend;
    var start_timestamp;
    if (!('webkitSpeechRecognition' in window)) {
        upgrade();
    } else {
        var recognition = new webkitSpeechRecognition();
        recognition.continuous = true;
        recognition.interimResults = true;

        recognition.onstart = function () {
            recognizing = true;
        };

        recognition.onerror = function (event) {
            console.log("ERROR")
            recognizing = false
            recognition.stop()
            recognizing = true
            recognition.start()
            if (event.error == 'no-speech') {
                console.log("NO SPEECH")
            }
            if (event.error == 'audio-capture') …
Run Code Online (Sandbox Code Playgroud)

javascript webkitspeechrecognition

7
推荐指数
1
解决办法
1529
查看次数

一段时间后,Web语音API在没有输入的情况下停止侦听

我正在使用网络语音API但是一旦经过一段时间(一分钟或两分钟)而没有任何声音输入,它就会完全停止听.我知道这是因为我把它的解析后的文本记录到控制台,然而,当我不说话一两分钟时它会停止这样做.

有没有什么办法解决这一问题?

google-chrome webspeech-api webkitspeechrecognition

7
推荐指数
1
解决办法
1868
查看次数

WebkitSpeechRecognition 在 Electron 中返回网络错误

最近(过去 1.5 周)JavaScript 库 WebkitSpeechRecognition 拒绝正常工作。我已经测试了利用该库(evan cohen 的智能镜像)的其他电子应用程序,并且遇到了这些问题。

在我测试过的每种情况下它都会引发网络错误。该库似乎在标准浏览器环境中工作正常,但我似乎无法让它与电子一起工作。有人有解决这个问题的经验吗?

javascript webkit chromium webkitspeechrecognition electron

6
推荐指数
1
解决办法
3198
查看次数

如何正确停止和重新启动网络语音api?

每次演讲后是否需要创建新的 SpeechRecognition 实例?

var recognition = new SpeechRecognition();
recognition.start();
Run Code Online (Sandbox Code Playgroud)

或者只是 stop() 并再次调用 start() 函数?

recognition.stop();
recognition.start();
Run Code Online (Sandbox Code Playgroud)

webkitspeechrecognition

6
推荐指数
1
解决办法
6031
查看次数

检测另一个浏览器选项卡是否正在使用speechRecognition

是否可以判断其他Chrome标签是否正在使用webkitSpeechRecognition?

如果您尝试使用webkitSpeechRecognition而另一个选项卡正在使用它,它将抛出错误"中止"而没有任何消息.我希望能够知道webkitSpeechRecognition是否在另一个选项卡中打开,如果是,则抛出一个可以通知用户的更好的错误.

speech-recognition google-chrome webkitspeechrecognition

5
推荐指数
1
解决办法
140
查看次数

Android Chrome 中的 Web Speech API 问题

我正在尝试使用Web Speech APISpeechRecognition接口。它在桌面版 Chrome 上运行良好,但我无法在 Android 版本上检测到任何音频。在我自己的代码无法正常工作后,我在两个不同的 Android 设备(一个运行 LineageOS Nougat,一个运行 LineageOS Pie,都使用 Chrome 79)上测试了这个演示以及另一个演示,但两个演示都没有在任一设备上运行。

我不确定这里出了什么问题……其他人可以在 Android 上使用这些演示吗?我正在通过 https 提供我的测试页面,我可以使用navigator.mediaDevices.getUserMedia在这些设备上录制来自 microhpone 的音频,因此它似乎不是硬件、权限或安全问题。

我看到的具体症状如下:

这是一些基于MDN 示例的测试代码。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, …
Run Code Online (Sandbox Code Playgroud)

javascript android google-chrome webspeech-api webkitspeechrecognition

5
推荐指数
1
解决办法
825
查看次数

如何在NodeJS中使用Web Speech API

我想知道是否可以在node.js中运行Web Speech API?由于node是基于Javascript的,因此我假设可以使用它,但是我找不到在node中原生使用它的方法。是否有办法将这个Web语音库“包含”在node.js脚本中以使用它?

谢谢

javascript speech-recognition node.js webspeech-api webkitspeechrecognition

4
推荐指数
1
解决办法
2166
查看次数

webkitSpeechRecognition 抛出错误“网络”

我有一个语音识别(使用 webkitSpeechRecognition)应用程序,它在独立的 chrome 浏览器上运行时效果很好。

我将我的应用程序转换为电子包,它停止收听麦克风并发回错误消息“网络”。文档说“完成识别所需的网络通信失败。”。然而,它直接在 chrome 中运行良好,没有任何问题。

我还使用“SpeechSynthesisUtterance”进行文本到语音转换,并且在电子上没有任何问题。

几周前,在生成概念证明期间,我的解决方案运行良好,但它也停止了工作。

任何人都知道可能有什么问题?

webkitspeechrecognition electron

3
推荐指数
1
解决办法
3269
查看次数