精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在Javascript應用程序中執行語音識別

開發 前端
語音識別是計算機科學和計算語言學的一個跨學科子領域。它可以識別口語并將其翻譯成文本,它也被稱為自動語音識別(ASR),計算機語音識別或語音轉文本(STT)。

[[397377]]

語音識別是計算機科學和計算語言學的一個跨學科子領域。它可以識別口語并將其翻譯成文本,它也被稱為自動語音識別(ASR),計算機語音識別或語音轉文本(STT)。

機器學習(ML)是人工智能(AI)的一種應用,它使系統能夠自動學習并從經驗中進行改進,而無需進行明確的編程。機器學習在本世紀提供了大多數語音識別方面的突破。如今,語音識別技術無處不在,例如Apple Siri,Amazon Echo和Google Nest。

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

在本文中,我們重點介紹JavaScript應用程序中的語音識別。另一篇文章介紹了語音合成。

語音識別接口

SpeechRecognition 是識別服務的控制器接口,在Chrome中稱為 webkitSpeechRecognition。SpeechRecognition 處理從識別服務發送的 SpeechRecognitionEvent。SpeechRecognitionEvent.results 返回一個SpeechRecognitionResultList 對象,該對象表示當前會話的所有語音識別結果。

可以使用以下幾行代碼來初始化 SpeechRecognition:

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

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

當頁面正在訪問您的麥克風時,地址欄中將顯示一個麥克風圖標,以顯示該麥克風已打開并且正在運行。

我們用句子對頁面說。“hello comma I'm talking period.” onresult 在我們說話時顯示所有臨時結果。

這是此示例的HTML代碼:

  1. <!DOCTYPE html> 
  2. <html lang="en"
  3.   <head> 
  4.     <meta charset="UTF-8" /> 
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 
  6.     <title>Speech Recognition</title> 
  7.     <script> 
  8.       window.onload = () => { 
  9.         const button = document.getElementById('button'); 
  10.         button.addEventListener('click', () => { 
  11.           if (button.style['animation-name'] === 'flash') { 
  12.             recognition.stop(); 
  13.             button.style['animation-name'] = 'none'
  14.             button.innerText = 'Press to Start'
  15.             content.innerText = ''
  16.           } else { 
  17.             button.style['animation-name'] = 'flash'
  18.             button.innerText = 'Press to Stop'
  19.             recognition.start(); 
  20.           } 
  21.         }); 
  22.  
  23.         const content = document.getElementById('content'); 
  24.  
  25.         const recognition = new webkitSpeechRecognition(); 
  26.         recognition.continuous = true
  27.         recognition.interimResults = true
  28.         recognition.onresult = function (event) { 
  29.           let result = ''
  30.           for (let i = event.resultIndex; i < event.results.length; i++) { 
  31.             result += event.results[i][0].transcript; 
  32.           } 
  33.           content.innerText = result; 
  34.         }; 
  35.       }; 
  36.     </script> 
  37.     <style> 
  38.       button { 
  39.         background: yellow; 
  40.         animation-name: none; 
  41.         animation-duration: 3s; 
  42.         animation-iteration-count: infinite; 
  43.       } 
  44.       @keyframes flash { 
  45.         0% { 
  46.           background: red; 
  47.         } 
  48.         50% { 
  49.           background: green; 
  50.         } 
  51.       } 
  52.     </style> 
  53.   </head> 
  54.   <body> 
  55.     <button id="button">Press to Start</button> 
  56.     <div id="content"></div> 
  57.   </body> 
  58. </html> 

第25行創建了 SpeechRecognition 對象,第26和27行配置了 SpeechRecognition 對象。

當一個單詞或短語被正確識別時,第28-34行設置一個事件處理程序。

第19行開始語音識別,第12行停止語音識別。

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

您會看到動畫按鈕的代碼(第38-51行)比語音識別代碼長。這是該示例的視頻剪輯:https://youtu.be/5V3bb5YOnj0

以下是瀏覽器兼容性表:

網絡語音識別依賴于瀏覽器自己的語音識別引擎。在Chrome中,此引擎在云中執行識別。因此,它僅可在線運行。

語音識別庫

有一些開源語音識別庫,以下是基于npm趨勢的這些庫的列表:

1. Annyang

Annyang是一個JavaScript語音識別庫,用于通過語音命令控制網站。它建立在SpeechRecognition Web API之上。在下一節中,我們將舉例說明annyang的工作原理。

2. artyom.js

artyom.js是一個JavaScript語音識別和語音合成庫。它建立在Web語音API的基礎上,除語音命令外,它還提供語音響應。

3. Mumble

Mumble是一個JavaScript語音識別庫,用于通過語音命令控制網站。它建立在SpeechRecognition Web API之上,這類似于annyang的工作方式。

4. julius.js

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

5.voice-commands.js

voice-commands.js是一個JavaScript語音識別庫,用于通過語音命令控制網站。它建立在SpeechRecognition Web API之上,這類似于annyang的工作方式。

Annyang

Annyang初始化一個 SpeechRecognition 對象,該對象定義如下:

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

有一些API可以啟動或停止annyang:

  • annyang.start:使用選項(自動重啟,連續或暫停)開始監聽,例如 annyang.start({autoRestart:true,Continuous:false})。
  • annyang.abort:停止收聽(停止SpeechRecognition引擎或關閉麥克風)。
  • annyang.pause:停止收聽(無需停止SpeechRecognition引擎或關閉麥克風)。
  • annyang.resume:開始收聽時不帶任何選項。

這是此示例的HTML代碼:

  1. <!DOCTYPE html> 
  2. <html lang="en"
  3.   <head> 
  4.     <meta charset="UTF-8" /> 
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 
  6.     <title>Annyang</title> 
  7.     <script src="//cdnjs.cloudflare.com/ajax/libs/annyang/2.6.1/annyang.min.js"></script> 
  8.     <script> 
  9.       window.onload = () => { 
  10.         const button = document.getElementById('button'); 
  11.         button.addEventListener('click', () => { 
  12.           if (button.style['animation-name'] === 'flash') { 
  13.             annyang.pause(); 
  14.             button.style['animation-name'] = 'none'
  15.             button.innerText = 'Press to Start'
  16.             content.innerText = ''
  17.           } else { 
  18.             button.style['animation-name'] = 'flash'
  19.             button.innerText = 'Press to Stop'
  20.             annyang.start(); 
  21.           } 
  22.         }); 
  23.  
  24.         const content = document.getElementById('content'); 
  25.  
  26.         const commands = { 
  27.           hello: () => { 
  28.             content.innerText = 'You said hello.'
  29.           }, 
  30.           'hi *splats': (name) => { 
  31.             content.innerText = `You greeted to ${name}.`; 
  32.           }, 
  33.           'Today is :day': (day) => { 
  34.             content.innerText = `You said ${day}.`; 
  35.           }, 
  36.           '(red) (green) (blue)': () => { 
  37.             content.innerText = 'You said a primary color name.'
  38.           }, 
  39.         }; 
  40.  
  41.         annyang.addCommands(commands); 
  42.       }; 
  43.     </script> 
  44.     <style> 
  45.       button { 
  46.         background: yellow; 
  47.         animation-name: none; 
  48.         animation-duration: 3s; 
  49.         animation-iteration-count: infinite; 
  50.       } 
  51.       @keyframes flash { 
  52.         0% { 
  53.           background: red; 
  54.         } 
  55.         50% { 
  56.           background: green; 
  57.         } 
  58.       } 
  59.     </style> 
  60.   </head> 
  61.   <body> 
  62.     <button id="button">Press to Start</button> 
  63.     <div id="content"></div> 
  64.   </body> 
  65. </html> 

第7行添加了annyang源代碼。

第20行啟動annyang,第13行暫停annyang。

Annyang提供語音命令來控制網頁(第26-42行)。

第27行是一個簡單的命令。如果用戶打招呼,頁面將回復“您說‘你好’。”

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

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

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

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

... ..

結束

我們已經了解了JavaScript應用程序中的語音識別,Chrome對Web語音API提供了最好的支持。我們所有的示例都是在Chrome瀏覽器上實現和測試的。

在探索Web語音API時,這里有一些提示:如果您不想在日常生活中傾聽,請記住關閉語音識別應用程序。

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

作者:Jennifer Fu

 

責任編輯:武曉燕 來源: 前端全棧開發者
相關推薦

2017-10-27 16:19:23

語音識別CNN

2022-04-27 19:05:46

.NETJavaScript接口

2010-11-25 10:05:22

Visual StudSilverlightWCF

2011-02-22 10:23:43

2023-12-07 08:22:58

Android應用

2009-07-17 13:45:16

WinCE開始菜單

2010-06-12 16:41:10

BlackBerry開

2012-01-13 10:31:25

ibmdw

2011-12-23 10:01:29

2024-04-16 09:11:27

2020-10-13 07:00:15

Vue Vite應用程序開發

2021-02-20 09:57:02

人工智能移動應用

2012-03-30 15:47:50

ibmdw

2023-11-06 08:22:34

AIDLAndroid通信

2009-09-22 12:17:59

ibmdwLotus

2011-10-12 11:24:44

AndroidPC

2009-02-17 23:47:18

Linux應用程序登錄

2010-01-25 16:41:08

C++應用程序

2009-04-01 14:33:33

2011-03-10 10:45:47

Azure“Hello Worl
點贊
收藏

51CTO技術棧公眾號

久久99精品久久久久久久久久久久| 91精品丝袜国产高跟在线| 久久久久久一二三区| 2018中文字幕一区二区三区| 国产av自拍一区| 在线免费成人| 婷婷久久综合九色综合伊人色| 秋霞久久久久久一区二区| 国产精品毛片久久久久久久av| 狠狠色狠狠色综合日日tαg| 亚洲欧美国产精品| 男女视频在线观看网站| 天堂资源在线| 亚洲激情男女视频| 日韩av一区二区三区在线| 精品人妻无码一区二区色欲产成人 | 超碰97在线人人| 成人在线免费看视频| 91精品精品| 亚洲人成电影在线播放| 四虎国产精品永久免费观看视频| 超碰一区二区| 亚洲国产精品精华液网站| 亚洲.欧美.日本.国产综合在线| 亚洲精品成av人片天堂无码| 日本成人在线不卡视频| 91精品国产乱码久久久久久久久 | 无码成人精品区在线观看| xxxxx.日韩| 婷婷久久综合九色综合伊人色| 人人妻人人澡人人爽精品欧美一区| 少妇又色又爽又黄的视频| 经典三级在线一区| 国产精品高潮在线| 丁香社区五月天| 一本久道久久综合婷婷鲸鱼| 欧美巨乳美女视频| 人与动物性xxxx| 国产99亚洲| 日韩av在线免播放器| 亚洲成年人av| 亚洲欧美日本国产| 91精品国产一区二区人妖| 91制片厂毛片| 成人国产激情| 欧美无乱码久久久免费午夜一区| 日本在线观看a| 久久男人av资源站| 亚洲不卡一区二区三区| 日本一区午夜艳熟免费| 日韩少妇视频| 亚洲综合一二区| 国产欧美久久久久| 国内在线视频| 午夜视频在线观看一区| 分分操这里只有精品| 欧美hdxxxx| 亚洲一区二区三区四区在线观看 | 日韩中文字幕在线免费观看| 中文字幕第二区| 91亚洲国产成人久久精品| 色先锋资源久久综合5566| 丁香六月激情综合| 亚洲澳门在线| 九九九久久国产免费| 久久久久久久国产视频| 激情视频一区| 91av在线免费观看视频| 天天做天天爱夜夜爽| 国产精品永久免费观看| 久久久久99人妻一区二区三区 | 91亚洲精品在线| 国产精品视频一二区| 极品美女销魂一区二区三区免费| 91久久国产精品| 亚洲国产精品一| 暴力调教一区二区三区| 国产日韩一区二区三区| 青青青手机在线视频观看| 欧美激情一二三区| 成人短视频在线看| av中文字幕电影在线看| 色综合网站在线| 男人添女人下面免费视频| 96sao精品免费视频观看| 日韩精品一区二区三区视频| 国产老熟女伦老熟妇露脸| 日韩欧美在线精品| 中文字幕欧美国内| 久久久久免费看| 亚洲一区欧美二区| 成人黄色在线播放| 黑人乱码一区二区三区av| 91美女在线视频| 香蕉精品视频在线| 国产www视频在线观看| 日韩欧美主播在线| www.久久久久久久久久久| 动漫av一区| 色阁综合伊人av| 国产一级二级三级| 蜜桃精品在线观看| 国产亚洲精品美女久久久m| www.黄在线观看| 亚洲国产成人av网| 一区二区三区 欧美| 国产成人精品亚洲线观看| 亚洲性69xxxbbb| 国产午夜精品无码| 激情欧美一区二区三区在线观看| 国产区一区二区三区| 日本在线www| 欧美午夜性色大片在线观看| 又黄又爽又色的视频| 国产精品免费不| 久久福利网址导航| 国产精品suv一区二区三区| 国产综合色精品一区二区三区| 久久99精品国产一区二区三区| 国产日产一区二区三区| 在线观看日韩电影| 免费黄色三级网站| 欧美日韩久久| 成人高h视频在线| 成年午夜在线| 欧美日韩亚洲一区二| 国产精品一区二区在线免费观看| 成人在线视频免费观看| 欧美亚洲另类在线| 亚洲精品久久久久久久久久| 亚洲欧美一区二区在线观看| 日本熟妇人妻中出| 自拍欧美一区| 97av在线视频| 天天摸夜夜添狠狠添婷婷| 一区二区三区四区不卡在线 | 看片网址国产福利av中文字幕| 国产一区二区三区精品视频| 亚洲一区高清| 成人免费黄色| 最近2019年日本中文免费字幕 | 国产jizzjizz一区二区| 日本一区二区免费高清视频| 激情小说亚洲| 最近2019中文字幕一页二页| 亚洲第一区av| 日本一区二区三区久久久久久久久不 | 亚洲综合色一区| 免费在线成人| 奇米影视首页 狠狠色丁香婷婷久久综合| 成人免费观看在线观看| 亚洲国产欧美自拍| 久久国产黄色片| 91在线播放网址| 亚洲午夜无码av毛片久久| 群体交乱之放荡娇妻一区二区 | 成人国产一区二区三区精品麻豆| 亚洲欧美999| 国产免费a视频| 欧美国产欧美亚州国产日韩mv天天看完整 | 国产经品一区二区| √天堂8资源中文在线| 精品99一区二区| 日韩在线视频免费播放| 91美女蜜桃在线| 日韩欧美黄色大片| 国产电影一区二区在线观看| 国产在线日韩在线| av在线免费观看网址| 欧美成人性福生活免费看| 日本三级片在线观看| 91美女福利视频| jizz欧美性11| 欧美日韩91| 精品国产电影| 成人在线视频播放| 色吧影院999| 男人的天堂a在线| 色综合婷婷久久| 91麻豆免费视频网站| 丁香激情综合国产| 成年人在线看片| 香蕉综合视频| 国产综合欧美在线看| 一呦二呦三呦精品国产| 久久精品国产久精国产一老狼| 午夜精品一区二区三| 欧美日韩中文字幕综合视频| 久久精品色妇熟妇丰满人妻| 国产麻豆日韩欧美久久| 久久精品国产sm调教网站演员| 国产精品羞羞答答在线观看| 91久久精品国产91久久性色tv| 成人免费观看在线观看| 色yeye香蕉凹凸一区二区av| 五月婷婷激情在线| 欧美日韩一区二区三区视频| 国产大片中文字幕| 国产精品欧美一区二区三区| 四虎永久免费观看| 麻豆国产欧美日韩综合精品二区| 欧美一级欧美一级| 欧美残忍xxxx极端| 美国av一区二区三区| 国产精品一区二区三区www| 欧美亚洲国产日韩2020| 在线观看男女av免费网址| 亚洲午夜av久久乱码| 亚洲国产综合网| 欧美日韩免费一区二区三区| 亚洲精品1区2区3区| 亚洲男人电影天堂| 欧美a在线播放| 久久婷婷国产综合精品青草| 粗大的内捧猛烈进出视频| 美女精品自拍一二三四| 狠狠干 狠狠操| 欧美午夜一区二区福利视频| 亚洲在线视频一区二区| 欧美日韩激情| 免费在线观看91| 国产欧美三级电影| 99一区二区| 99综合99| 成人精品视频99在线观看免费 | 成人国产一区二区| av在线成人| 成人动漫网站在线观看| 国产激情久久| 国产精品久久久久久av下载红粉| 在线观看福利电影| 8x海外华人永久免费日韩内陆视频| 在线三级电影| 久久中文字幕国产| 最新av网站在线观看| 国产午夜精品一区二区三区| 日本私人网站在线观看| 日韩精品中文字| 四虎精品一区二区三区| 亚洲成人激情视频| 国产成人无码www免费视频播放| 日韩一区二区免费在线电影 | 国产高清不卡一区二区| 久久久九九九热| 国产精品综合网| 交换做爰国语对白| 国产麻豆91精品| 国产男女无遮挡猛进猛出| 国产高清精品在线| 欧美性生交xxxxx| 成人妖精视频yjsp地址| 无码人妻一区二区三区在线| 99久免费精品视频在线观看| 在线黄色免费网站| 91色九色蝌蚪| 久久久久无码精品国产sm果冻| 国产欧美一区二区精品久导航 | 亚洲国产中文字幕在线视频综合| 久久艹精品视频| 五月婷婷综合网| 久久国产视频一区| 欧美亚洲综合色| 国产精品毛片一区二区在线看舒淇| 91精品国产免费| 午夜精品久久久久久久96蜜桃| 精品国产一区二区国模嫣然| 你懂的网站在线| 亚洲无限av看| 麻豆免费在线观看| 国模精品系列视频| 伊人久久在线| 国产日韩精品在线| 一区二区三区视频免费视频观看网站| 国产精品免费区二区三区观看| 日韩高清电影免费| 亚洲日本精品一区| 国产真实久久| 午夜视频在线瓜伦| 国产专区欧美精品| 性久久久久久久久久| 国产精品久久久久精k8| 久久免费视频精品| 色综合久久久久网| av高清一区二区| 亚洲欧美国产制服动漫| 快射视频在线观看| 91精品国产成人| 国产精品亚洲一区二区在线观看 | 欧美福利网址| 国产欧美在线一区| 国产综合色在线| 久操视频免费看| 亚洲综合在线视频| 中文字幕欧美在线观看| 亚洲国产黄色片| 97人人在线| 国产91精品高潮白浆喷水| 欧美一区=区三区| 久久久久久国产精品免费免费| 国产精品99一区二区三区| 妞干网在线视频观看| 久久91精品国产91久久小草| 男人网站在线观看| 亚洲天堂免费看| 国产熟妇一区二区三区四区| 制服丝袜中文字幕一区| 免费观看成年在线视频网站| 欧美大学生性色视频| 国产韩日精品| 好吊妞www.84com只有这里才有精品| 日韩电影免费网址| 久久无码高潮喷水| 成人小视频免费观看| av最新在线观看| 在线看日韩精品电影| 少妇av在线播放| 欧美国产日本在线| www 久久久| 一本久道久久综合| 老司机精品视频网站| 免费看毛片的网站| 亚洲精选一二三| 国产精品久久久久久69| 一区二区三区精品99久久 | 国内视频精品| 国产免费中文字幕| 国产精品家庭影院| 国产精品尤物视频| 亚洲欧美日韩一区二区在线| 国产免费拔擦拔擦8x高清在线人| 91超碰rencao97精品| 国产精品成人av| 九九热免费在线观看| 欧美经典一区二区三区| youjizz在线视频| 亚洲韩国欧洲国产日产av| 成人性生交大片免费看网站| 91视频免费进入| 欧美区亚洲区| aaa黄色大片| 夜色激情一区二区| 亚洲国产综合一区| 国模私拍一区二区三区| 大香伊人久久精品一区二区| 人妻无码久久一区二区三区免费| 国产999精品久久| 国产精品成人aaaa在线| 亚洲第一精品福利| 极品视频在线| 欧美成人第一区| 爽好久久久欧美精品| 人妻aⅴ无码一区二区三区| 在线观看国产一区二区| 成人在线观看一区| 国产日韩中文字幕在线| 亚洲不卡av不卡一区二区| 色哟哟免费视频| 亚洲福中文字幕伊人影院| 天堂在线资源库| 欧洲亚洲在线视频| 成人综合专区| 无人码人妻一区二区三区免费| 一区二区三区在线视频免费观看| 国产福利第一视频| 国内精久久久久久久久久人| 日韩在线影视| 2025韩国理伦片在线观看| 亚洲人被黑人高潮完整版| 国产黄色大片网站| 91福利视频网| 大片网站久久| 亚洲av无一区二区三区久久| 亚洲va欧美va天堂v国产综合| 手机亚洲第一页| 国产狼人综合免费视频| 欧美另类综合| 中文人妻一区二区三区| 欧美综合天天夜夜久久| 亚洲大胆人体大胆做受1| 久久精品一二三区| 日韩国产高清影视| 国产av无码专区亚洲av毛网站| 亚洲成人网在线| 日韩毛片一区| 老司机激情视频| 国产亚洲欧美色| 999av视频| 欧美一二三视频| 亚洲影视一区| 特级西西人体4444xxxx| 欧美日韩激情一区二区| 麻豆福利在线观看| 色涩成人影视在线播放| 国产成人综合在线观看| 日本免费在线观看视频| 久久91亚洲精品中文字幕| 国产一区二区三区电影在线观看 | 天堂av免费在线观看| 欧美成人免费在线视频| 国产一区99|