搜尋
首頁科技週邊人工智慧Web Speech API開發者指南:它是什麼以及如何運作

Web Speech API開發者指南:它是什麼以及如何運作

Apr 11, 2023 pm 07:22 PM
web語音辨識語音合成

譯者| 李睿

審校| 孫淑娟

#Web Speech API是一種Web技術,允許用戶將語音資料合併到應用程式中。它可以透過瀏覽器將語音轉換為文本,反之亦然。

Web Speech API於2012年由W3C社群引進。而在十年之後,這個API仍在開發中,這是因為瀏覽器相容性有限。

此API既支援短時輸入片段,例如一個口頭命令,也支援長時連續的輸入。廣泛的聽寫能力使它非常適合與Applause應用程式集成,而簡短的輸入很適合語言翻譯。

語音辨識對可訪問性產生了巨大的影響。殘疾用戶可以使用語音更輕鬆地瀏覽網路。因此,這個API可能成為讓網路更友善、更有效率的關鍵。

文字轉語音和語音到文字的功能由兩個介面處理:語音合成和語音辨識。

一、語音辨識

在語音辨識介面中,使用者對著麥克風說話,然後語音辨識服務就會根據它自己的語法來檢查他所說的話。

API透過首先請求允許透過麥克風存取使用者的語音來保護他的隱私。如果使用API​​的頁面使用HTTPS協議,則只要求一次權限。否則,API將在每個實例中詢問。

使用者的裝置可能已經包含了語音辨識系統,例如iOS或Android語音的Siri。使用語音辨識介面時,將會使用預設系統。在語音被識別之後,它將被轉換並作為文字字串返回。

在「one-shot」語音辨識中,只要使用者停止說話,辨識就會結束。這對於簡短的命令很有用,例如如在網頁上搜尋應用程式測試網站或打電話。在「continuous」識別中,使用者必須使用「停止」按鈕手動結束識別。

目前,Web Speech API的語音辨識只得到了兩種瀏覽器正式支援:Chrome for Desktop和Android。 Chrome需要使用前綴介面。

然而,Web Speech API仍處於實驗階段,規格可能會改變。可以透過搜尋webkitSpeechRecognition物件來檢查目前瀏覽器是否支援該API。

二、語音辨識屬性

以下學習一個新函數:語音辨識()。

var recognizer = new speechRecognition();

現在檢查一下某些事件的回呼:

(1)onStart:當語音辨識器開始聆聽和辨識語音時,會觸發onStart。可以顯示訊息以通知使用者的裝置正在收聽。

(2)onEnd:onEnd產生一個事件,每次使用者結束語音辨識時都會觸發該事件。

(3)onError:每當發生語音辨識錯誤時,都會使用SpeechRecognitionError介面觸發此事件。

(4)onResult:當語音辨識物件獲得結果時,觸發此事件。它會傳回臨時結果和最終結果。 onResult必須使用SpeechRecognitionEvent介面。

SpeechRecognitionEvent物件包含以下資料:

(1)results[i]:語音辨識結果物件的數組,每個元素代表一個已識別的單字。

(2)resultindex:目前識別索引。

(3)results[i][j]:辨識單字的第j個替代詞;第一個出現的單字是最可能出現的單字。

(4)results[i].isFinal:一個布林值,顯示結果是暫時的還是最終的。

(5)results[i][j].transcript:單字的文字表示。

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

那麼,應該在語音辨識物件上配置什麼屬性?以下來看看。

(1)Continuous vs One-Shot

#用戶確定是否需要語音辨識物件在關閉之前一直聽他說話,或者只需要它來識別一個簡短的短語。其預設為“false”。

假設正在使用該技術做筆記,以便與庫存追蹤範本整合。需要能夠長時間說話,並有足夠的時間暫停,而不需要將應用程式送回睡眠狀態。可以將continuous設為true,如下所示:

speechRecognition.continuous = true;

(2)語言

Web Speech API開發者指南:它是什麼以及如何運作

希望物件識別什麼語言?如果瀏覽器預設為英文,它將自動選擇英文。但是,也可以使用地區代碼。

此外,可以允許使用者從選單中選擇語言:

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

(3)中期結果

中期結果是指尚未完成或最終的結果。透過將此屬性設為true,可以使物件將臨時結果顯示為對使用者的回饋:

speechRecognition.interimResults = true;

(4)啟動和停止

如果已經將語音識別物件配置為“continuous”,則需要設定開始和停止按鈕的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 };

这将允许用户控制使用的浏览器何时开始“监听”,何时停止。

因此,在深入了解了语音识别界面、方法和属性之后。现在探索Web Speech API的另一面。

三、语音合成

语音合成也被称为文本到语音(TTS)。语音合成是指从应用程序中获取文本,将其转换成语音,然后从设备的扬声器中播放。

可以使用语音合成做任何事情,从驾驶指南到为在线课程朗读课堂笔记,再到视觉障碍用户的屏幕阅读。

在浏览器支持方面,从Gecko42+版本开始,Web Speech API的语音合成可以在Firefox桌面和移动端使用。但是,必须首先启用权限。Firefox OS2.5+默认支持语音合成;不需要权限。Chrome和Android 33+也支持语音合成。

那么,如何让浏览器说话呢?语音合成的主要控制器界面是SpeechSynthesis,但需要一些相关的界面,例如用于输出的声音。大多数操作系统都有默认的语音合成系统。

简单地说,用户需要首先创建一个SpeechSynthesisUtterance界面的实例。其界面包含服务将读取的文本,以及语言、音量、音高和速率等信息。指定这些之后,将实例放入一个队列中,该队列告诉浏览器应该说什么以及什么时候说。

将需要说话的文本指定给其“文本”属性,如下所示:

newUtterance.text =

除非使用.lang属性另有指定,否则语言将默认为应用程序或浏览器的语言。

在网站加载后,语音更改事件可以被触发。要改变浏览器的默认语音,可以使用语音合成中的getvoices()方法。这将显示所有可用的语音。

声音的种类取决于操作系统。谷歌和MacOSx一样有自己的默认声音集。最后,用户使用Array.find()方法选择喜欢的声音。

根据需要定制SpeechSynthesisUtterance。可以启动、停止和暂停队列,或更改通话速度(“速率”)。

四、Web Speech API的优点和缺点  

什么时候应该使用Web Speech API?这种技术使用起来很有趣,但仍在发展中。尽管如此,还是有很多潜在的用例。集成API可以帮助实现IT基础设施的现代化,而用户可以了解Web Speech API哪些方面已经成熟可以改进。

1.提高生产力

对着麦克风说话比打字更快捷、更有效。在当今快节奏的工作生活中,人们可能需要能够在旅途中访问网页。

它还可以很好地减少管理工作量。语音到文本技术的改进有可能显著减少数据输入任务的时间。语音到文本技术可以集成到音频视频会议中,以加快会议的记录速度。

2.可访问性

如上所述,语音到文本(STT)和文本语音(TTS)对于有残疾或支持需求的用户来说都是很好的工具。此外,由于任何原因而在写作或拼写方面有困难的用户可以通过语音识别更好地表达自己。

这样,语音识别技术就可以成为互联网上一个很好的均衡器。鼓励在办公室使用这些工具也能促进工作场所的可访问性。

3.翻译

Web Speech API可以成为一种强大的语言翻译工具,因为它同时支持语音到文本(STT)和文本语音(TTS)。目前,并不是每一种语言都可用。这是Web Speech API尚未充分发挥其潜力的一个领域。

4.离线功能

一个缺点是API必须要有互联网连接才能正常工作。此时,浏览器将输入发送到它的服务器,然后服务器返回结果。这限制了Web Speech API可以使用的环境。

5.精确度

在提高语音识别器的准确性方面已经取得了令人难以置信的进展。用户可能偶尔还会遇到一些困难,例如技术术语和其他专业词汇或者方言。然而,到2022年,语音识别软件的精确度已经达到了人类的水平。

五、结语

虽然Web Speech API还处于实验阶段,但它可以成为网站或应用程序的一个惊人的补充。从科技公司到市场营销商,所有的工作场所都可以使用这个API来提高效率。只需几行简单的JavaScript代码,就可以打开一个全新的可访问性世界。

语音识别可以使用户更容易更有效地浏览网页,人们期待看到这项技术快速成长和发展!

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

以上是Web Speech API開發者指南:它是什麼以及如何運作的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:51CTO.COM。如有侵權,請聯絡admin@php.cn刪除
外推指南外推指南Apr 15, 2025 am 11:38 AM

介紹 假設有一個農民每天在幾週內觀察農作物的進展。他研究了增長率,並開始思考他的植物在幾週內可以生長的高度。從Th

軟AI的興起及其對當今企業的意義軟AI的興起及其對當今企業的意義Apr 15, 2025 am 11:36 AM

軟AI(被定義為AI系統,旨在使用近似推理,模式識別和靈活的決策執行特定的狹窄任務 - 試圖通過擁抱歧義來模仿類似人類的思維。 但是這對業務意味著什麼

為AI前沿的不斷發展的安全框架為AI前沿的不斷發展的安全框架Apr 15, 2025 am 11:34 AM

答案很明確 - 只是雲計算需要向雲本地安全工具轉變,AI需要專門為AI獨特需求而設計的新型安全解決方案。 雲計算和安全課程的興起 在

生成AI的3種方法放大了企業家:當心平均值!生成AI的3種方法放大了企業家:當心平均值!Apr 15, 2025 am 11:33 AM

企業家,並使用AI和Generative AI來改善其業務。同時,重要的是要記住生成的AI,就像所有技術一樣,都是一個放大器 - 使得偉大和平庸,更糟。嚴格的2024研究O

Andrew Ng的新簡短課程Andrew Ng的新簡短課程Apr 15, 2025 am 11:32 AM

解鎖嵌入模型的力量:深入研究安德魯·NG的新課程 想像一個未來,機器可以完全準確地理解和回答您的問題。 這不是科幻小說;多虧了AI的進步,它已成為R

大語言模型(LLM)中的幻覺是不可避免的嗎?大語言模型(LLM)中的幻覺是不可避免的嗎?Apr 15, 2025 am 11:31 AM

大型語言模型(LLM)和不可避免的幻覺問題 您可能使用了諸如Chatgpt,Claude和Gemini之類的AI模型。 這些都是大型語言模型(LLM)的示例,在大規模文本數據集上訓練的功能強大的AI系統

60%的問題 -  AI搜索如何消耗您的流量60%的問題 - AI搜索如何消耗您的流量Apr 15, 2025 am 11:28 AM

最近的研究表明,根據行業和搜索類型,AI概述可能導致有機交通下降15-64%。這種根本性的變化導致營銷人員重新考慮其在數字可見性方面的整個策略。 新的

麻省理工學院媒體實驗室將人類蓬勃發展成為AI R&D的核心麻省理工學院媒體實驗室將人類蓬勃發展成為AI R&D的核心Apr 15, 2025 am 11:26 AM

埃隆大學(Elon University)想像的數字未來中心的最新報告對近300名全球技術專家進行了調查。由此產生的報告“ 2035年成為人類”,得出的結論是,大多數人擔心AI系統加深的採用

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具