搜索
首页科技周边人工智能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)语言

图片

希望对象识别什么语言?如果浏览器默认设置为英文,它将自动选择英文。但是,也可以使用地区代码。

此外,可以允许用户从菜单中选择语言:

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 13, 2025 am 11:53 AM

介绍 在迅速的工程中,“思想图”是指使用图理论来构建和指导AI的推理过程的新方法。与通常涉及线性S的传统方法不同

优化您的组织与Genai代理商的电子邮件营销优化您的组织与Genai代理商的电子邮件营销Apr 13, 2025 am 11:44 AM

介绍 恭喜!您经营一家成功的业务。通过您的网页,社交媒体活动,网络研讨会,会议,免费资源和其他来源,您每天收集5000个电子邮件ID。下一个明显的步骤是

Apache Pinot实时应用程序性能监视Apache Pinot实时应用程序性能监视Apr 13, 2025 am 11:40 AM

介绍 在当今快节奏的软件开发环境中,确保最佳应用程序性能至关重要。监视实时指标,例如响应时间,错误率和资源利用率可以帮助MAIN

Chatgpt击中了10亿用户? Openai首席执行官说:'短短几周内翻了一番Chatgpt击中了10亿用户? Openai首席执行官说:'短短几周内翻了一番Apr 13, 2025 am 11:23 AM

“您有几个用户?”他扮演。 阿尔特曼回答说:“我认为我们上次说的是每周5亿个活跃者,而且它正在迅速增长。” “你告诉我,就像在短短几周内翻了一番,”安德森继续说道。 “我说那个私人

pixtral -12b:Mistral AI'第一个多模型模型 - 分析Vidhyapixtral -12b:Mistral AI'第一个多模型模型 - 分析VidhyaApr 13, 2025 am 11:20 AM

介绍 Mistral发布了其第一个多模式模型,即Pixtral-12b-2409。该模型建立在Mistral的120亿参数Nemo 12B之上。是什么设置了该模型?现在可以拍摄图像和Tex

生成AI应用的代理框架 - 分析Vidhya生成AI应用的代理框架 - 分析VidhyaApr 13, 2025 am 11:13 AM

想象一下,拥有一个由AI驱动的助手,不仅可以响应您的查询,还可以自主收集信息,执行任务甚至处理多种类型的数据(TEXT,图像和代码)。听起来有未来派?在这个a

生成AI在金融部门的应用生成AI在金融部门的应用Apr 13, 2025 am 11:12 AM

介绍 金融业是任何国家发展的基石,因为它通过促进有效的交易和信贷可用性来推动经济增长。交易的便利和信贷

在线学习和被动攻击算法指南在线学习和被动攻击算法指南Apr 13, 2025 am 11:09 AM

介绍 数据是从社交媒体,金融交易和电子商务平台等来源的前所未有的速度生成的。处理这种连续的信息流是一个挑战,但它提供了

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.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。