自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Web Speech API開發(fā)者指南:它是什么以及如何工作

譯文
人工智能 語(yǔ)音識(shí)別
語(yǔ)音識(shí)別和語(yǔ)音合成對(duì)諸如可訪問性等領(lǐng)域產(chǎn)生了巨大影響。本文將對(duì)Web Speech API進(jìn)行深入探討。

?譯者 | 李睿

審校 | 孫淑娟

Web Speech API是一種Web技術(shù),允許用戶將語(yǔ)音數(shù)據(jù)合并到應(yīng)用程序中。它可以通過(guò)瀏覽器將語(yǔ)音轉(zhuǎn)換為文本,反之亦然。

Web Speech API于2012年由W3C社區(qū)引入。而在十年之后,這個(gè)API仍在開發(fā)中,這是因?yàn)闉g覽器兼容性有限。

該API既支持短時(shí)輸入片段,例如一個(gè)口頭命令,也支持長(zhǎng)時(shí)連續(xù)的輸入。廣泛的聽寫能力使它非常適合與Applause應(yīng)用程序集成,而簡(jiǎn)短的輸入很適合語(yǔ)言翻譯。

語(yǔ)音識(shí)別對(duì)可訪問性產(chǎn)生了巨大的影響。殘疾用戶可以使用語(yǔ)音更輕松地瀏覽網(wǎng)絡(luò)。因此,這個(gè)API可能成為使網(wǎng)絡(luò)更友好、更高效的關(guān)鍵。

文本到語(yǔ)音和語(yǔ)音到文本的功能由兩個(gè)界面處理:語(yǔ)音合成和語(yǔ)音識(shí)別。

一、語(yǔ)音識(shí)別

在語(yǔ)音識(shí)別界面中,用戶對(duì)著麥克風(fēng)說(shuō)話,然后語(yǔ)音識(shí)別服務(wù)就會(huì)根據(jù)它自己的語(yǔ)法來(lái)檢查他所說(shuō)的話。

API通過(guò)首先請(qǐng)求允許通過(guò)麥克風(fēng)訪問用戶的語(yǔ)音來(lái)保護(hù)他的隱私。如果使用API的頁(yè)面使用HTTPS協(xié)議,則只請(qǐng)求一次權(quán)限。否則,API將在每個(gè)實(shí)例中詢問。

用戶的設(shè)備可能已經(jīng)包含了語(yǔ)音識(shí)別系統(tǒng),例如iOS或Android語(yǔ)音的Siri。使用語(yǔ)音識(shí)別界面時(shí),將會(huì)使用默認(rèn)系統(tǒng)。在語(yǔ)音被識(shí)別之后,它將被轉(zhuǎn)換并作為文本字符串返回。

在“one-shot”語(yǔ)音識(shí)別中,只要用戶停止說(shuō)話,識(shí)別就會(huì)結(jié)束。這對(duì)于簡(jiǎn)短的命令很有用,例如如在網(wǎng)頁(yè)上搜索應(yīng)用程序測(cè)試網(wǎng)站或者打電話。在“continuous”識(shí)別中,用戶必須使用“停止”按鈕人工結(jié)束識(shí)別。

目前,Web Speech API的語(yǔ)音識(shí)別只得到了兩種瀏覽器正式支持:Chrome for Desktop和Android。Chrome需要使用前綴界面。

然而,Web Speech API仍處于實(shí)驗(yàn)階段,規(guī)范可能會(huì)發(fā)生變化??梢酝ㄟ^(guò)搜索webkitSpeechRecognition對(duì)象來(lái)檢查當(dāng)前瀏覽器是否支持該API。

二、語(yǔ)音識(shí)別屬性

以下學(xué)習(xí)一個(gè)新函數(shù):語(yǔ)音識(shí)別()。

var recognizer = new speechRecognition();

現(xiàn)在檢查一下某些事件的回調(diào):

(1)onStart:當(dāng)語(yǔ)音識(shí)別器開始收聽和識(shí)別語(yǔ)音時(shí),會(huì)觸發(fā)onStart??梢燥@示消息以通知用戶的設(shè)備正在收聽。

(2)onEnd:onEnd生成一個(gè)事件,每次用戶結(jié)束語(yǔ)音識(shí)別時(shí)都會(huì)觸發(fā)該事件。

(3)onError:每當(dāng)發(fā)生語(yǔ)音識(shí)別錯(cuò)誤時(shí),都會(huì)使用SpeechRecognitionError界面觸發(fā)此事件。

(4)onResult:當(dāng)語(yǔ)音識(shí)別對(duì)象獲得結(jié)果時(shí),觸發(fā)此事件。它返回臨時(shí)結(jié)果和最終結(jié)果。onResult必須使用SpeechRecognitionEvent界面。

SpeechRecognitionEvent對(duì)象包含以下數(shù)據(jù):

(1)results[i]:語(yǔ)音識(shí)別結(jié)果對(duì)象的數(shù)組,每個(gè)元素代表一個(gè)已識(shí)別的單詞。

(2)resultindex:當(dāng)前識(shí)別索引。

(3)results[i][j]:識(shí)別單詞的第j個(gè)替代詞;第一個(gè)出現(xiàn)的單詞是最可能出現(xiàn)的單詞。

(4)results[i].isFinal:一個(gè)布爾值,顯示結(jié)果是臨時(shí)的還是最終的。

(5)results[i][j].transcript:?jiǎn)卧~的文本表示。

(6)results[i][j].confidence:結(jié)果正確的概率(取值范圍從0到1) 。

那么,應(yīng)該在語(yǔ)音識(shí)別對(duì)象上配置什么屬性?以下來(lái)看看。

(1)Continuous vs One-Shot

用戶確定是否需要語(yǔ)音識(shí)別對(duì)象在關(guān)閉之前一直聽他說(shuō)話,或者是否只需要它來(lái)識(shí)別一個(gè)簡(jiǎn)短的短語(yǔ)。其默認(rèn)設(shè)置為“false”。

假設(shè)正在使用該技術(shù)做筆記,以便與庫(kù)存跟蹤模板集成。需要能夠長(zhǎng)時(shí)間說(shuō)話,并有足夠的時(shí)間暫停,而不需要將應(yīng)用程序送回睡眠狀態(tài)??梢詫ontinuous設(shè)置為true,如下所示:

speechRecognition.continuous = true;

(2)語(yǔ)言

圖片

希望對(duì)象識(shí)別什么語(yǔ)言?如果瀏覽器默認(rèn)設(shè)置為英文,它將自動(dòng)選擇英文。但是,也可以使用地區(qū)代碼。

此外,可以允許用戶從菜單中選擇語(yǔ)言:

speechRecognition.lang = document.querySelector("#select_dialect").value;

(3)中期結(jié)果

中期結(jié)果是指尚未完成或最終的結(jié)果。通過(guò)將此屬性設(shè)置為true,可以使對(duì)象將臨時(shí)結(jié)果顯示為對(duì)用戶的反饋:

speechRecognition.interimResults = true;

(4)啟動(dòng)和停止

如果已經(jīng)將語(yǔ)音識(shí)別對(duì)象配置為“continuous”, 則需要設(shè)置開始和停止按鈕的onClick屬性,如下所示:

JavaScript

1 document.querySelector("#start").onclick = () => {
2
3 speechRecognition.start();
4
5 };
6
7 document.querySelector("#stop").onclick = () => {
8
9 speechRecognition.stop();
10
11 };

這將允許用戶控制使用的瀏覽器何時(shí)開始“監(jiān)聽”,何時(shí)停止。

因此,在深入了解了語(yǔ)音識(shí)別界面、方法和屬性之后。現(xiàn)在探索Web Speech API的另一面。

三、語(yǔ)音合成

語(yǔ)音合成也被稱為文本到語(yǔ)音(TTS)。語(yǔ)音合成是指從應(yīng)用程序中獲取文本,將其轉(zhuǎn)換成語(yǔ)音,然后從設(shè)備的揚(yáng)聲器中播放。

可以使用語(yǔ)音合成做任何事情,從駕駛指南到為在線課程朗讀課堂筆記,再到視覺障礙用戶的屏幕閱讀。

在瀏覽器支持方面,從Gecko42+版本開始,Web Speech API的語(yǔ)音合成可以在Firefox桌面和移動(dòng)端使用。但是,必須首先啟用權(quán)限。Firefox OS2.5+默認(rèn)支持語(yǔ)音合成;不需要權(quán)限。Chrome和Android 33+也支持語(yǔ)音合成。

那么,如何讓瀏覽器說(shuō)話呢?語(yǔ)音合成的主要控制器界面是SpeechSynthesis,但需要一些相關(guān)的界面,例如用于輸出的聲音。大多數(shù)操作系統(tǒng)都有默認(rèn)的語(yǔ)音合成系統(tǒng)。

簡(jiǎn)單地說(shuō),用戶需要首先創(chuàng)建一個(gè)SpeechSynthesisUtterance界面的實(shí)例。其界面包含服務(wù)將讀取的文本,以及語(yǔ)言、音量、音高和速率等信息。指定這些之后,將實(shí)例放入一個(gè)隊(duì)列中,該隊(duì)列告訴瀏覽器應(yīng)該說(shuō)什么以及什么時(shí)候說(shuō)。

將需要說(shuō)話的文本指定給其“文本”屬性,如下所示:

newUtterance.text =

除非使用.lang屬性另有指定,否則語(yǔ)言將默認(rèn)為應(yīng)用程序或?yàn)g覽器的語(yǔ)言。

在網(wǎng)站加載后,語(yǔ)音更改事件可以被觸發(fā)。要改變?yōu)g覽器的默認(rèn)語(yǔ)音,可以使用語(yǔ)音合成中的getvoices()方法。這將顯示所有可用的語(yǔ)音。

聲音的種類取決于操作系統(tǒng)。谷歌和MacOSx一樣有自己的默認(rèn)聲音集。最后,用戶使用Array.find()方法選擇喜歡的聲音。

根據(jù)需要定制SpeechSynthesisUtterance。可以啟動(dòng)、停止和暫停隊(duì)列,或更改通話速度(“速率”)。

四、Web Speech API的優(yōu)點(diǎn)和缺點(diǎn)  

什么時(shí)候應(yīng)該使用Web Speech API?這種技術(shù)使用起來(lái)很有趣,但仍在發(fā)展中。盡管如此,還是有很多潛在的用例。集成API可以幫助實(shí)現(xiàn)IT基礎(chǔ)設(shè)施的現(xiàn)代化,而用戶可以了解Web Speech API哪些方面已經(jīng)成熟可以改進(jìn)。

1.提高生產(chǎn)力

對(duì)著麥克風(fēng)說(shuō)話比打字更快捷、更有效。在當(dāng)今快節(jié)奏的工作生活中,人們可能需要能夠在旅途中訪問網(wǎng)頁(yè)。

它還可以很好地減少管理工作量。語(yǔ)音到文本技術(shù)的改進(jìn)有可能顯著減少數(shù)據(jù)輸入任務(wù)的時(shí)間。語(yǔ)音到文本技術(shù)可以集成到音頻視頻會(huì)議中,以加快會(huì)議的記錄速度。

2.可訪問性

如上所述,語(yǔ)音到文本(STT)和文本語(yǔ)音(TTS)對(duì)于有殘疾或支持需求的用戶來(lái)說(shuō)都是很好的工具。此外,由于任何原因而在寫作或拼寫方面有困難的用戶可以通過(guò)語(yǔ)音識(shí)別更好地表達(dá)自己。

這樣,語(yǔ)音識(shí)別技術(shù)就可以成為互聯(lián)網(wǎng)上一個(gè)很好的均衡器。鼓勵(lì)在辦公室使用這些工具也能促進(jìn)工作場(chǎng)所的可訪問性。

3.翻譯

Web Speech API可以成為一種強(qiáng)大的語(yǔ)言翻譯工具,因?yàn)樗瑫r(shí)支持語(yǔ)音到文本(STT)和文本語(yǔ)音(TTS)。目前,并不是每一種語(yǔ)言都可用。這是Web Speech API尚未充分發(fā)揮其潛力的一個(gè)領(lǐng)域。

4.離線功能

一個(gè)缺點(diǎn)是API必須要有互聯(lián)網(wǎng)連接才能正常工作。此時(shí),瀏覽器將輸入發(fā)送到它的服務(wù)器,然后服務(wù)器返回結(jié)果。這限制了Web Speech API可以使用的環(huán)境。

5.精確度

在提高語(yǔ)音識(shí)別器的準(zhǔn)確性方面已經(jīng)取得了令人難以置信的進(jìn)展。用戶可能偶爾還會(huì)遇到一些困難,例如技術(shù)術(shù)語(yǔ)和其他專業(yè)詞匯或者方言。然而,到2022年,語(yǔ)音識(shí)別軟件的精確度已經(jīng)達(dá)到了人類的水平。

五、結(jié)語(yǔ)

雖然Web Speech API還處于實(shí)驗(yàn)階段,但它可以成為網(wǎng)站或應(yīng)用程序的一個(gè)驚人的補(bǔ)充。從科技公司到市場(chǎng)營(yíng)銷商,所有的工作場(chǎng)所都可以使用這個(gè)API來(lái)提高效率。只需幾行簡(jiǎn)單的JavaScript代碼,就可以打開一個(gè)全新的可訪問性世界。

語(yǔ)音識(shí)別可以使用戶更容易更有效地瀏覽網(wǎng)頁(yè),人們期待看到這項(xiàng)技術(shù)快速成長(zhǎng)和發(fā)展!

原文鏈接:https://dzone.com/articles/the-developers-guide-to-web-speech-api-what-is-it

責(zé)任編輯:武曉燕 來(lái)源: 51CTO技術(shù)棧
相關(guān)推薦

2022-01-17 19:34:43

SentryWeb APISentry API

2024-11-15 16:15:59

2011-04-13 11:31:06

PIM APIBlackBerry

2011-04-13 13:38:57

選項(xiàng)APIBlackBerry

2011-04-13 09:55:16

Mail APIBlackBerry

2011-04-02 13:44:08

2024-06-03 14:03:35

2024-12-26 17:04:47

2018-03-27 23:25:40

Paddle

2016-12-28 11:18:10

NodeJSJava開發(fā)者

2020-09-11 08:41:50

域名系統(tǒng)DNS網(wǎng)絡(luò)

2024-08-19 00:25:00

2024-12-06 07:10:00

2019-08-16 10:55:37

開發(fā)者技能AI

2024-05-07 08:45:16

OpenAILlamaIndex大語(yǔ)言模型

2022-01-20 19:49:10

Sentry開發(fā)Scope

2010-04-16 10:30:04

Twitter

2021-12-31 18:35:40

監(jiān)控Sentry開發(fā)

2024-02-01 09:37:42

Kubernetes服務(wù)網(wǎng)格? 命令

2016-09-12 10:09:37

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)