VoiceXML 中文教程 - 第零章 - 序

Posted on Oct 24, 2008

什么是 VoiceXML:

VoiceXML 是建立于 XML 语言规范基础之上, 应用于语音浏览的标记语言. 如果说 HTML 是一种用于描述视觉元素, 让用户通过键盘鼠标和网络应用交互的标记语言; 那么 VoiceXML 就是一种用于描述听觉元素, 让用户通过电话和网络应用交互的标记语言.

什么是 VoiceXML Browser:

就像 HTML 由网页浏览器来将文本标记解释成各种视觉元素一样, VoiceXML 也由 VoiceXML Browser 来处理其中的各种标记, 一个 VoiceXML Browser 至少需要支持以下功能: 音频文件的播放, 录音, TTS (TextToSpeech), ASR (AutomatedSpeech Recognition), DTMF 检测. 通常, 支持 VoiceXML 的媒体服务器 (Media Server), IVR Platform, 其核心都是一个 VoiceXML Browser, 或者说它们就是一个 VoiceXML Browser.

VoiceXML 能干什么:

VoiceXML 不是万能的, 它不能代替 HTML, WebService 等其它 Web 应用, 而是它们在语音方面的补充. 让我们看一个非常简单的例子, 用户拨打一个电话, 接通后根据语音提示输入股票代码, 听取相应的股票价格. 在这个例子中, VoiceXML 都做了什么?

  1. 播放语音提示;
  2. 检测用户电话键盘输入;
  3. 通过发送携带着输入的股票代码的 HTTP 请求来调用查询股票的 Web 应用;
  4. 利用 TTS 技术将返回的股票价格转换为语音, 播报给用户.

关于本教程:

本教程的读者只需要有一些基本的 VoIP 概念和简单的 XML 编写经验. 教程主要分为三大部分: 难度渐进的一系列范例; VoiceXML 最佳实践; VoiceXML 标记参考手册.

首先, 你需要有一个 VoiceXML 运行环境, Voxeo 提供的在线运行环境是一个很好的选择, 只需要注册一个免费的 Voxeo 开发者账户, 这样避免在本地动用若干台服务器, 安装支持 VoiceXML 的媒体服务器和呼叫服务器. 尽管 Voxeo 并不是任何 VoiceXML 的服务所必需的, 但它确实提供了一个出色强大的运行环境, 更有数千份 VoiceXML, CallXML 和 CCXML 参考文档. 关于 Voxeo 在线 VoiceXML 运行环境的介绍, 可以参考这里.

因为 VoiceXML 提供了基于语音的服务, 所以你还需要一个普通电话来呼叫你的 VoiceXML 应用, 与你的应用互动. 当然, 由于拨打电话是收费的, 因此在你的电脑上直接使用免费的 Skype 或 SIP 客户端就是更好的选择. 当你使用 Voxeo 的在线运行环境来运行你的 VoiceXML 应用时, 它会为你的应用同时分配一个 DID 电话号码(如果你不了解什么是DID, 可以看这里), 一个 Skype 号码, 一个 SIP URI, 这让测试 VoiceXML 变得非常简单.

顺便一提, 有很多免费的 SIP 客户端可以使用, 例如 SJPhone, Gizmo. SJPhone 是一个非常简单的 SIP 客户端, Gizmo 就更豪华一些. 它们都有多平台版本, 支持 Windows, Linux 和 Mac. (似乎现在 SJPhone 的网站在国内无法访问了).