Web Speech API
Web Speech API 使您能够将语音数据集成到 Web 应用中。Web Speech API 包含两个部分:SpeechSynthesis(文本转语音),和 SpeechRecognition(异步语音识别)。
Web 语音概念和用法
Web Speech API 使 Web 应用能够处理语音数据。它有两个组成部分:
- 语音识别通过
SpeechRecognition接口访问,该接口提供了从音频源识别语音上下文的能力,并允许您的应用程序做出适当响应。通常,您会使用该接口的构造函数创建一个新的SpeechRecognition对象。此对象提供了一系列事件处理程序,用于检测何时有来自设备麦克风(或音频轨道)的语音输入。您可以指定语音识别是使用用户平台提供的服务(默认)还是在浏览器本地进行。 - 语音合成通过
SpeechSynthesis接口访问,这是一个文本转语音组件,允许程序读出其文本内容(通常通过设备的默认语音合成器)。不同的语音类型由SpeechSynthesisVoice对象表示,您希望被朗读的文本的不同部分由SpeechSynthesisUtterance对象表示。您可以通过将它们传递给SpeechSynthesis.speak()方法来让它们被朗读。
有关使用这些功能的更多详细信息,请参阅 使用 Web Speech API。
Web Speech API 接口
语音识别
SpeechRecognition-
识别服务的控制器接口;它还处理从识别服务发送的
SpeechRecognitionEvent。 SpeechRecognitionAlternative-
表示语音识别服务识别出的单个单词。
SpeechRecognitionErrorEvent-
表示识别服务中的错误消息。
SpeechRecognitionEventSpeechRecognitionPhrase-
表示可以传递给语音识别引擎以用于上下文偏见的短语。
SpeechRecognitionResult-
表示单个识别匹配,其中可能包含多个
SpeechRecognitionAlternative对象。 SpeechRecognitionResultList-
表示一个
SpeechRecognitionResult对象列表,或者在continuous模式下捕获结果时表示单个对象。
语音合成
SpeechSynthesis-
语音服务的控制器接口;可用于检索有关设备上可用合成语音的信息、启动和暂停语音以及其他命令。
SpeechSynthesisErrorEvent-
包含在语音服务中处理
SpeechSynthesisUtterance对象时发生的任何错误的有关信息。 SpeechSynthesisEvent-
包含有关在语音服务中已处理的
SpeechSynthesisUtterance对象当前状态的信息。 SpeechSynthesisUtterance-
表示一个语音请求。它包含语音服务应朗读的内容以及如何朗读的信息(例如,语言、音高和音量)。
SpeechSynthesisVoice-
表示系统支持的语音。每个
SpeechSynthesisVoice都有其自身的相对语音服务,包括有关语言、名称和 URI 的信息。 Window.speechSynthesis-
指定为名为
SpeechSynthesisGetter的[NoInterfaceObject]接口的一部分,并由Window对象实现。speechSynthesis属性提供了对SpeechSynthesis控制器的访问,因此是语音合成功能的入口点。
已弃用的接口
语法(grammar)的概念已从 Web Speech API 中移除。规范中相关的特性仍然保留,并且出于向后兼容性,仍被支持的浏览器识别,但它们对语音识别服务没有影响。
SpeechGrammar已弃用-
表示供识别服务识别的单词或单词模式。
SpeechGrammarList已弃用-
表示一个
SpeechGrammar对象列表。
错误
有关 Speech API 报告的错误(例如 "language-not-supported" 和 "language-unavailable")的信息,请参阅以下文档:
安全注意事项
对 Web Speech API 的设备上语音识别功能的访问由 on-device-speech-recognition Permissions-Policy 指令控制。
具体而言,如果已定义的策略阻止使用,任何尝试调用 API 的 SpeechRecognition.available() 或 SpeechRecognition.install() 方法都将失败。
示例
我们的 Web Speech API 示例 展示了语音识别和合成。
规范
| 规范 |
|---|
| Web Speech API # speechreco-section |
| Web Speech API # tts-section |
浏览器兼容性
api.SpeechRecognition
加载中…
api.SpeechSynthesis
加载中…