Speech API开发者指南 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
(2)言语
宿愿对象识别什么言语?假设阅读器自动设置为英文,它将智能选用英文。但是,也可以经常使用地域代码。
此外,可以准许用户从菜单当选用言语:
speechRecognition document
(3)中期结果
中期结果是指尚未成功或最终的结果。经过将此属性设置为true,可以使对象将暂时结果显示为对用户的反应:
speechRecognition ;
(4)启动和中止
假设曾经将语音识别对象性能为“continuous”, 则要求设置开局和中止按钮的onClick属性,如下所示:
JavaScript
document speechRecognition document speechRecognition
这将准许用户控制经常使用的阅读器何时开局“监听”,何时中止。
因此,在深化了解了语音识别界面、方法和属性之后。如今探求Web Speech API的另一面。
三、语音分解
语音分解也被称为文本到语音(TTS)。语音分解是指从运行程序中失掉文本,将其转换成语音,而后从设备的扬声器中播放。
可以经常使用语音分解做任何事情,从驾驶指南到为在线课程朗诵课堂笔记,再到视觉阻碍用户的屏幕阅读。
在阅读器支持方面,从Gecko42+版本开局,Web Speech API的语音分解可以在Firefox桌面和移动端经常使用。但是,必定首先启用权限。Firefox OS2.5+自动支持语音分解;不要求权限。Chrome和Android 33+也支持语音分解。
那么,如何让阅读器谈话呢?语音分解的关键控制器界面是SpeechSynthesis,但要求一些关系的界面,例如用于输入的声响。大少数操作系统都有自动的语音分解系统。
便捷地说,用户要求首先创立一个SpeechSynthesisUtterance界面的实例。其界面蕴含服务将读取的文本,以及言语、音量、音高和速率等信息。指定这些之后,将实例放入一个队列中,该队列通知阅读器应该说什么以及什么时刻说。
将要求谈话的文本指定给其“文本”属性,如下所示:
newUtterance
除十分常使用.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代码,就可以关上一个全新的可访问性环球。
语音识别可以经常使用户更容易更有效地阅读网页,人们等候看到这项技术极速生长和开展!
原文链接: