JS中的语音识别——Speech Recognition API

简介

HTML5中和Web Speech相关的API实际上有两类,一类是“语音识别(Speech Recognition)”,另外一个就是“语音合成(Speech Synthesis)”,这两个名词听上去很高大上,实际上指的分别是“语音转文字”,和“文字变语音”。

本文介绍的是语音合成(Speech Recognition),语音识别(Speech Synthesis)请移步另一篇。

语音识别使用SpeechRecognition API,目前只有Chrome支持,使用时要加上webkit前缀。

var recognition = webkitSpeechRecognition();recognition.continuous = true;设置是否允许临时结果,临时结果是识别的中间过程,这时候返回结果的isFinal = false。

recognition.interimResults = true;recognition.lang = 'cmn-Hans-CN'; //普通话 (中国大陆)控制语音识别的开启和停止,可使用start()和stop()方法,分别对应onstart、onend事件

// 开启

recognition.start();

// 停止

recognition.stop();对识别到的结果进行处理,可以使用一些事件方法,比方说onresult:

recognition.onresult = function(event) {

console.log(event);

}

event返回结果格式

{

results: {

0: {

0: {

confidence: 0.695017397403717,

transcript: "你好,世界"

},

isFinal:true,

length:1

},

length:1

},

}recognition.onerror = function(event) {

console.log(event);

}

试一下

直接扒的Google的代码:

简单测试了PC段和移动端,PC端只有Chrome支持,手机端全军覆没...😂

参考资料

2f148bb301fe597afbb38f0b3234b3d5.svg?sign=ebe0ac717f9c78a1d9d2d5d8caef9d16&t=1603452432

感谢指正

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐