VXML 簡介
Voice eXtensible Markup Language(簡稱 VXML)是被用來創建語音對話系統,可以調用語音合成以及語音識別服務,可以用來記錄語音錄入和連線電話系統。創建 VXML 語音的主要目的就是用 Web 開發的理念來開發互動式的語音套用。VXML 提供了基於 Menu 和基於 Form 的兩套框架,整合了語音識別和語音合成兩個關鍵服務,使得語音套用的開發變得更為方便和快捷。
VXML 的運行環境
VXML 和普通的標記語言一樣,需要有瀏覽器進行解析;還需要提供語音識別和語音合成服務的套用伺服器;有時也需要有 http 伺服器提供文檔服務;當然,如果需要與電話系統相連,就必須加上 VOIP (網路電話)的支持。如下圖所示的就是 VXML 的運行環境:
圖 1.
VXML 運行環境 一個企業級套用的系統框架 IVR (interactive voice-response services) 也就是自動應答服務,是使用 VXML 的典型企業級套用。IVR 和使用者通過電話,按鍵 (DTMF) 互動,如語音訂票,語音查詢,語音投票等。普通的 IVR 都是支持 VXML 的解析和提供了 sip 協定的支持,通過和 ASR ( 語音識別 ) 套用伺服器以及 TTS( 語音合成 ) 套用伺服器的集成,可以實現幾乎所有的 VXML 封裝的操作。 企業級的 VXML 套用需要如下的體系結構,以使用 IBM Voice Server (WVS) 為例:
圖 2.
一個 VXML 具體套用的例子 上圖中的 IVR 事實上就是 VXML 解析器,通過解析 VXML,分發相應的工作給 WV
S ,實現 VXML 封裝的語音識別和語音合成的功能。 兩個開源的實驗環境 嘗試 VXML,可以使用開源的項目 OpenVXI (見參考資源) 。OpenVXI 提供的是完整的 VXML 解析服務,同時也提供了有限語言的 TTS 支持。雖然暫時來看, OpenVXI 沒有提供 ASR 的實現,但是 OpenVXI 提供了方便的回調函式的接口,因此可以很方便的嵌入外部 ASR 和 TTS 的服務。 嘗試 VXML ,另一個選擇是使用一個名為 Tadpole (見參考資源) 的 Firefox 瀏覽器上的開源外掛程式。通過 Tadpole 的幫助, Firefox 平台因此具有 VXML 解析瀏覽器的功能。此架構的缺點是只支持 XHTML-Voice 標記語言,這個語言只能說是 VXML 語言的一個子集。