VoiceXML是一种基于XML的语音交互标记语言,用于定义电话语音菜单等应用的对话逻辑,需配合ASR/TTS平台运行,核心是控制语音输入输出及异常处理流程。
VoiceXML 是一种基于 XML 的标记语言,专门用来构建语音交互应用,比如电话语音菜单、语音助手后端流程、自动客服系统等。它不处理语音识别或合成的具体技术细节,而是定义“对话逻辑”——告诉语音平台:什么时候听用户说话、听什么、怎么回应、出错了怎么办。
它像网页的 HTML,但面向语音通道:HTML 控制屏幕显示和点击,VoiceXML 控制语音播放、语音输入、语义理解跳转。实际运行时,需要搭配语音平台(如 Cisco CVP、Genesys Engage、Asterisk + VoiceXML Gateway 或云服务如 Amazon Connect)来完成语音识别(ASR)、文本转语音(TTS)和会话管理。
以下是一个能播放欢迎语、等待用户说“你好”或“再见”的基础示例:
vxml version="2.1")需与平台兼容)提取参数 是一个“语音交互单元”,包含 prompt(说)、grammar(听)、filled(听到了怎么做)、noinput/nomatch(异常处理) 标签支持有限,或用平台私有标签)application/voicexml+xml
未覆盖(如用户说“喂”但 grammar 只写了“你好”) 或 中记录上下文,方便排查 ASR/TTS 故障基本上就这些。VoiceXML 本身不难学,难点在于语音交互设计——用户怎么说、机器怎么听、听不清怎么引导、业务逻辑如何自然嵌入语音流。写好一份 VoiceXML,一半靠语法,一半靠对真实通话场景的理解。