Annyang将语音转换为文本

时间:2015-08-19 07:29:25

标签: javascript php speech-to-text annyang

我正在尝试使用annyang将语音转换为文本,但我遇到了一些问题。它有效,但还有一些东西还没有。首先,我想知道如何将用户说出的任何内容传递到警报功能中。接下来,我想知道当用户说完后如何结束annyang功能。最后,我想知道如何让允许和禁止麦克风提示一旦出现一次又一次出现。

<script>
if (annyang) {

  var commands = {
    'Hello': function() {
      alert("Success");
    }
  };

  annyang.addCommands(commands);

}
</script>

<input type = 'submit' value = 'listen' onclick = "annyang.start();">

3 个答案:

答案 0 :(得分:4)

使用annyang转换为文本的Intead,您可以使用原始的google speechrecognition演示测试自己

Original Demo

请参阅上面的源代码,您可以使用SpeechRecognition轻松完成所需的操作

我推荐这个,因为annyang更像是一个语音控制插件。另一方面,如果您想使用库,可以使用Artyom.js

Artyom提供了一个简单的“听写”对象,可以快速将语音转换为文本:

var settings = {
    continuous:true, // Don't stop never because i have https connection
    onResult:function(text){
        console.log(text);
    },
    onStart:function(){
        console.log("Dictation started by the user");
    },
    onEnd:function(){
        alert("Dictation stopped by the user");
    }
};

var UserDictation = artyom.newDictation(settings);

// Start listening
UserDictation.start();

// To stop
//UserDictation.stop();

语言需要在initialize方法中提供。

答案 1 :(得分:2)

var anything = function(anything) {
    alert(anything);
};
var commands = {
    '*anything': anything
};
这是有效的, 它也不会违反定义的命令

答案 2 :(得分:0)

  

我想知道如何将用户说出的任何内容传递到警报功能中。

您可以执行类似

的操作
<script>
if (annyang) {

  var commands = {
    'Hello :variable': function(variable) {
      alert(variable);
    }
  };

  annyang.addCommands(commands);

}
</script>

variable是字符串,webspeech-api已经认识到了。

  

接下来,我想知道当用户说完话后如何结束annyang功能。

continuous设为false。当用户说完话时,Annyang将自动停止识别。

annyang.start({ autoRestart: false, continuous: false });

您还可以在语音识别完成后添加annyang将调用的回调函数:

annyang.addCallback('end', function () { // your code here});

  

最后,我想知道如何让允许和禁止麦克风提示一旦出现一次又一次出现。

防止这种情况发生的唯一方法是通过https而不是http来传递网站。没有其他方法可以实现这一目标。它也将提高识别的速度。