日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
在Javascript應(yīng)用程序中執(zhí)行語(yǔ)音識(shí)別

語(yǔ)音識(shí)別是計(jì)算機(jī)科學(xué)和計(jì)算語(yǔ)言學(xué)的一個(gè)跨學(xué)科子領(lǐng)域。它可以識(shí)別口語(yǔ)并將其翻譯成文本,它也被稱為自動(dòng)語(yǔ)音識(shí)別(ASR),計(jì)算機(jī)語(yǔ)音識(shí)別或語(yǔ)音轉(zhuǎn)文本(STT)。

創(chuàng)新互聯(lián)為企業(yè)提供:成都品牌網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷策劃、小程序設(shè)計(jì)、營(yíng)銷型網(wǎng)站建設(shè)和網(wǎng)站運(yùn)營(yíng)托管,一站式網(wǎng)絡(luò)營(yíng)銷整體服務(wù)。實(shí)現(xiàn)不斷獲取潛在客戶之核心目標(biāo),建立了企業(yè)專屬的“營(yíng)銷型網(wǎng)站”,就用不著再為了獲取潛在客戶而苦惱,相反,客戶會(huì)主動(dòng)找您,生意就找上門來(lái)了!

機(jī)器學(xué)習(xí)(ML)是人工智能(AI)的一種應(yīng)用,它使系統(tǒng)能夠自動(dòng)學(xué)習(xí)并從經(jīng)驗(yàn)中進(jìn)行改進(jìn),而無(wú)需進(jìn)行明確的編程。機(jī)器學(xué)習(xí)在本世紀(jì)提供了大多數(shù)語(yǔ)音識(shí)別方面的突破。如今,語(yǔ)音識(shí)別技術(shù)無(wú)處不在,例如Apple Siri,Amazon Echo和Google Nest。

語(yǔ)音識(shí)別以及語(yǔ)音響應(yīng)(也稱為語(yǔ)音合成或文本到語(yǔ)音(TTS))由Web speech API提供支持。

在本文中,我們重點(diǎn)介紹JavaScript應(yīng)用程序中的語(yǔ)音識(shí)別。另一篇文章介紹了語(yǔ)音合成。

語(yǔ)音識(shí)別接口

SpeechRecognition 是識(shí)別服務(wù)的控制器接口,在Chrome中稱為 webkitSpeechRecognition。SpeechRecognition 處理從識(shí)別服務(wù)發(fā)送的 SpeechRecognitionEvent。SpeechRecognitionEvent.results 返回一個(gè)SpeechRecognitionResultList 對(duì)象,該對(duì)象表示當(dāng)前會(huì)話的所有語(yǔ)音識(shí)別結(jié)果。

可以使用以下幾行代碼來(lái)初始化 SpeechRecognition:

 
 
 
 
  1. // 創(chuàng)建一個(gè)SpeechRecognition對(duì)象 
  2. const recognition = new webkitSpeechRecognition(); 
  3.  
  4. // 配置設(shè)置以使每次識(shí)別都返回連續(xù)結(jié)果 
  5. recognition.continuous = true; 
  6.  
  7. // 配置應(yīng)返回臨時(shí)結(jié)果的設(shè)置 
  8. recognition.interimResults = true; 
  9.  
  10. // 正確識(shí)別單詞或短語(yǔ)時(shí)的事件處理程序 
  11. recognition.onresult = function (event) { 
  12.   console.log(event.results); 
  13. }; 

ognition.start() 開始語(yǔ)音識(shí)別,而 ognition.stop() 停止語(yǔ)音識(shí)別,它也可以中止( recognition.abort)。

當(dāng)頁(yè)面正在訪問您的麥克風(fēng)時(shí),地址欄中將顯示一個(gè)麥克風(fēng)圖標(biāo),以顯示該麥克風(fēng)已打開并且正在運(yùn)行。

我們用句子對(duì)頁(yè)面說?!癶ello comma I'm talking period.” onresult 在我們說話時(shí)顯示所有臨時(shí)結(jié)果。

這是此示例的HTML代碼:

 
 
 
 
  1.  
  2.  
  3.    
  4.      
  5.      
  6.     Speech Recognition 
  7.      
  8.      
  9.    
  10.    
  11.     Press to Start 
  12.     
 
  •    
  •  
  • 第25行創(chuàng)建了 SpeechRecognition 對(duì)象,第26和27行配置了 SpeechRecognition 對(duì)象。

    當(dāng)一個(gè)單詞或短語(yǔ)被正確識(shí)別時(shí),第28-34行設(shè)置一個(gè)事件處理程序。

    第19行開始語(yǔ)音識(shí)別,第12行停止語(yǔ)音識(shí)別。

    在第12行,單擊該按鈕后,它可能仍會(huì)打印出一些消息。這是因?yàn)?Recognition.stop() 嘗試返回到目前為止捕獲的SpeechRecognitionResult。如果您希望它完全停止,請(qǐng)改用 ognition.abort()。

    您會(huì)看到動(dòng)畫按鈕的代碼(第38-51行)比語(yǔ)音識(shí)別代碼長(zhǎng)。這是該示例的視頻剪輯:https://youtu.be/5V3bb5YOnj0

    以下是瀏覽器兼容性表:

    網(wǎng)絡(luò)語(yǔ)音識(shí)別依賴于瀏覽器自己的語(yǔ)音識(shí)別引擎。在Chrome中,此引擎在云中執(zhí)行識(shí)別。因此,它僅可在線運(yùn)行。

    語(yǔ)音識(shí)別庫(kù)

    有一些開源語(yǔ)音識(shí)別庫(kù),以下是基于npm趨勢(shì)的這些庫(kù)的列表:

    1. Annyang

    Annyang是一個(gè)JavaScript語(yǔ)音識(shí)別庫(kù),用于通過語(yǔ)音命令控制網(wǎng)站。它建立在SpeechRecognition Web API之上。在下一節(jié)中,我們將舉例說明annyang的工作原理。

    2. artyom.js

    artyom.js是一個(gè)JavaScript語(yǔ)音識(shí)別和語(yǔ)音合成庫(kù)。它建立在Web語(yǔ)音API的基礎(chǔ)上,除語(yǔ)音命令外,它還提供語(yǔ)音響應(yīng)。

    3. Mumble

    Mumble是一個(gè)JavaScript語(yǔ)音識(shí)別庫(kù),用于通過語(yǔ)音命令控制網(wǎng)站。它建立在SpeechRecognition Web API之上,這類似于annyang的工作方式。

    4. julius.js

    Julius是面向語(yǔ)音相關(guān)研究人員和開發(fā)人員的高性能,占用空間小的大詞匯量連續(xù)語(yǔ)音識(shí)別(LVCSR)解碼器軟件。它可以在從微型計(jì)算機(jī)到云服務(wù)器的各種計(jì)算機(jī)和設(shè)備上執(zhí)行實(shí)時(shí)解碼。Julis是使用C語(yǔ)言構(gòu)建的,而julius.js是Julius自以為是JavaScript的移植版。

    5.voice-commands.js

    voice-commands.js是一個(gè)JavaScript語(yǔ)音識(shí)別庫(kù),用于通過語(yǔ)音命令控制網(wǎng)站。它建立在SpeechRecognition Web API之上,這類似于annyang的工作方式。

    Annyang

    Annyang初始化一個(gè) SpeechRecognition 對(duì)象,該對(duì)象定義如下:

     
     
     
     
    1. var SpeechRecognition = root.SpeechRecognition ||                                      
    2.                         root.webkitSpeechRecognition ||                           
    3.                         root.mozSpeechRecognition ||                           
    4.                         root.msSpeechRecognition ||                           
    5.                         root.oSpeechRecognition; 

    有一些API可以啟動(dòng)或停止annyang:

    • annyang.start:使用選項(xiàng)(自動(dòng)重啟,連續(xù)或暫停)開始監(jiān)聽,例如 annyang.start({autoRestart:true,Continuous:false})。
    • annyang.abort:停止收聽(停止SpeechRecognition引擎或關(guān)閉麥克風(fēng))。
    • annyang.pause:停止收聽(無(wú)需停止SpeechRecognition引擎或關(guān)閉麥克風(fēng))。
    • annyang.resume:開始收聽時(shí)不帶任何選項(xiàng)。

    這是此示例的HTML代碼:

     
     
     
     
    1.  
    2.  
    3.    
    4.      
    5.      
    6.     Annyang 
    7.      
    8.      
    9.      
    10.    
    11.    
    12.     Press to Start 
    13.     
     
  •    
  •  
  • 第7行添加了annyang源代碼。

    第20行啟動(dòng)annyang,第13行暫停annyang。

    Annyang提供語(yǔ)音命令來(lái)控制網(wǎng)頁(yè)(第26-42行)。

    第27行是一個(gè)簡(jiǎn)單的命令。如果用戶打招呼,頁(yè)面將回復(fù)“您說‘你好’?!?/p>

    第30行是帶有 splats 的命令,該命令會(huì)貪婪地捕獲命令末尾的多詞文本。如果您說“hi,愛麗絲e”,它的回答是“您向愛麗絲致意?!比绻f“嗨,愛麗絲和約翰”,它的回答是“您向愛麗絲和約翰打招呼。”

    第33行是一個(gè)帶有命名變量的命令。一周的日期被捕獲為 day,在響應(yīng)中被呼出。

    第36行是帶有可選單詞的命令。如果您說“黃色”,則將其忽略。如果您提到任何一種原色,則會(huì)以“您說的是原色名稱”作為響應(yīng)。

    從第26行到第39行定義的所有命令都在第41行添加到annyang中。

    ... ..

    結(jié)束

    我們已經(jīng)了解了JavaScript應(yīng)用程序中的語(yǔ)音識(shí)別,Chrome對(duì)Web語(yǔ)音API提供了最好的支持。我們所有的示例都是在Chrome瀏覽器上實(shí)現(xiàn)和測(cè)試的。

    在探索Web語(yǔ)音API時(shí),這里有一些提示:如果您不想在日常生活中傾聽,請(qǐng)記住關(guān)閉語(yǔ)音識(shí)別應(yīng)用程序。

    原文:https://betterprogramming.pub/perform-speech-recognition-in-your-javascript-applications-91367b0d0

    作者:Jennifer Fu


    名稱欄目:在Javascript應(yīng)用程序中執(zhí)行語(yǔ)音識(shí)別
    分享路徑:http://www.dlmjj.cn/article/coshghh.html