JavaScript的語音識別

i042416發表於2018-08-25

有沒有想過給您的網站增添語音識別的功能?比如您的使用者不用點滑鼠,僅僅通過電腦或者手機的麥克風釋出命令,比如"下拉到頁面底部”,或者“跳轉到下一頁”,您的網站就會執行對應命令。聽起來很酷對麼?然而為了實現這個功能,必須得讓您網站的JavaScript指令碼能夠識別到這些語音輸入。

JavaScript的語音識別

這裡介紹一個開源的JavaScript語言輸入庫,名叫annyang。

Github地址: https://github.com/TalAter/annyang

截至到2018年7月12日,這個github倉庫已經有4833個Star了。

JavaScript的語音識別

annyang實際上就是一個只有2KB大小的JavaScript指令碼檔案,使用起來非常方便。

下面就跟著我一起做一個Hello World應用吧,看看您通過麥克風說話的聲音是如何被這個JavaScript庫檔案識別到的。

新建一個html檔案,將下面的程式碼複製進去。將它部署到您本地的Tomcat或者nodejs伺服器上。

<html><script src="annyang.min.js"></script><script>if (annyang) {var commands = {"Hello": function() {
alert(" I have heard your voice!");
}
};var commands2 = {"Bye": function(){
alert("再見!");
}
}
annyang.addCommands(commands);
annyang.addCommands(commands2);
annyang.start();
}
</script>
</html>

我測試用的是Chrome。

當您第一次在瀏覽器裡訪問這個網頁時,會彈出下面的Chrome對話方塊,提示您這個應用要使用您電腦上的麥克風。點Allow按鈕即可。

JavaScript的語音識別

這個應用有兩個地方向您提示它可以接受語音輸入。第一處是下圖1的紅色小圓圈。

JavaScript的語音識別

第二處是一個小的麥克風圖示,點選之後,可以設定允許或者禁止麥克風。我們當然是要選擇允許啦,否則如何接受語音輸入呢?

JavaScript的語音識別

如果您的膝上型電腦本身也有麥克風,可以從這個下拉選單裡選擇用筆記本自帶的麥克風,還是用外接的麥克風。我用的是後者。

JavaScript的語音識別

現在可以測試了。

JavaScript的語音識別

因為程式碼裡我給Hello這個語音繫結的執行函式是一個alert彈出對話方塊,所以當我對著麥克風說了一句“Hello"之後,我的瀏覽器立即彈出了這個對話方塊。

JavaScript的語音識別

同樣,說了"Bye"後,會彈出“再見”。我在響應“Bye”這個語音的函式設定了一個斷點,大家通過呼叫棧也可以觀察到annyang的處理邏輯。

JavaScript的語音識別

從annyang的github上能看出,中文也在支援的語音之列,所以大家放心大膽地使用吧!

https://github.com/TalAter/annyang/blob/master/docs/FAQ.md

連粵語都支援,厲害了!

JavaScript的語音識別

更多細節,請查閱annyang的官網。

https://www.talater.com/annyang/

JavaScript的語音識別

要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:


JavaScript的語音識別

JavaScript的語音識別


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2212824/,如需轉載,請註明出處,否則將追究法律責任。

相關文章