Web Speech API - Web API 接口参考 编辑

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

Web Speech API 使您能够将语音数据合并到 Web 应用程序中。 Web Speech API 有两个部分:SpeechSynthesis 语音合成 (文本到语音 TTS)和 SpeechRecognition  语音识别(异步语音识别)。

Web Speech 的概念及用法

Web Speech API 使 Web 应用能够处理语音数据,该项 API 包含以下两个部分:

  • 语音识别通过 SpeechRecognition 接口进行访问,它提供了识别从音频输入(通常是设备默认的语音识别服务)中识别语音情景的能力。一般来说,你将使用该接口的构造函数来构造一个新的 SpeechRecognition 对象,该对象包含了一些列有效的对象处理函数来检测识别设备麦克风中的语音输入。SpeechGrammar 接口则表示了你应用中想要识别的特定文法。文法则通过 JSpeech Grammar Format (JSGF.) 来定义。
  • 语音合成通过 SpeechSynthesis 接口进行访问,它提供了文字到语音(TTS)的能力,这使得程序能够读出它们的文字内容(通常使用设备默认的语音合成器)。不同的声音类类型通过 SpeechSynthesisVoice 对象进行表示,不同部分的文字则由 SpeechSynthesisUtterance 对象来表示。你可以将它们传递给 SpeechSynthesis.speak() 方法来产生语音。

更多关于这些特性的细节请参考 Using the Web Speech API

Web Speech 的 API 接口

 语音识别

SpeechRecognition
语音识别服务的控制器接口;它也处理由语音识别服务发来的 SpeechRecognitionEvent 事件。
SpeechRecognitionAlternative
表示由语音识别服务识别出的一个词汇。
SpeechRecognitionError
表示语音识别服务发出的报错信息。
SpeechRecognitionEvent
resultnomatch 的事件对象,包含了与语音识别过程中间或最终结果相关的全部数据。
SpeechGrammar
我们将要交由语音识别服务进行识别的词汇或者词汇的模式。
SpeechGrammarList
表示一个由 SpeechGrammar 对象构成的列表。
SpeechRecognitionResult
表示一次识别中的匹配项,其中可能包含多个 SpeechRecognitionAlternative 对象。
SpeechRecognitionResultList
表示包含 SpeechRecognitionResult 对象的一个列表,如果是以 continuous 模式捕获的结果,则是单个对象。

语音合成

SpeechSynthesis
语音合成服务的控制器接口,可用于获取设备上可用的合成语音,开始、暂停以及其它相关命令的信息。
SpeechSynthesisErrorEvent
包含了在发音服务处理 SpeechSynthesisUtterance 对象过程中的信息及报错信息。
SpeechSynthesisEvent
包含了经由发音服务处理过的 SpeechSynthesisUtterance 对象当前状态的信息。
SpeechSynthesisUtterance
表示一次发音请求。其中包含了将由语音服务朗读的内容,以及如何朗读它(例如:语种、音高、音量)。
SpeechSynthesisVoice
表示系统提供的一个声音。每个 SpeechSynthesisVoice 都有与之相关的发音服务,包括了语种、名称 和 URI 等信息。
Window.speechSynthesis
由规格文档指定的,被称为 SpeechSynthesisGetter 的 [NoInterfaceObject] 接口的一部分,在 Window 对象中实现,speechSynthesis 属性可用于访问 SpeechSynthesis 控制器,从而获取语音合成功能的入口。

示例

GitHub 上的 Web Speech API repo 的示例程序展示了语音识别及合成。

规范

规范状态描述
Web Speech APIDraft原始定义

浏览器兼容性

语音识别

BCD tables only load in the browser

此页面上的兼容性表格,是根据结构化数据生成的,如果您愿意贡献数据,请查看 https://github.com/mdn/browser-compat-data 并发送 pull request 给我们。

语音合成

BCD tables only load in the browser

此页面上的兼容性表格,是根据结构化数据生成的,如果您愿意贡献数据,请查看 https://github.com/mdn/browser-compat-data 并发送 pull request 给我们。

相关链接

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:117 次

字数:9223

最后编辑:7 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文