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
載入中…