以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML在语音技术中的应用 』   (http://bbs.xml.org.cn/list.asp?boardid=47)
----  有关VoiceXML解析器的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=47&rootid=&id=59028)


--  作者:woiche
--  发布时间:2/21/2008 5:12:00 PM

--  有关VoiceXML解析器的问题
哪位兄弟知道VoiceXML解析器那里可以下载,多谢!
--  作者:lubin59
--  发布时间:2/26/2008 4:34:00 PM

--  
openvxi

--  作者:zlei12
--  发布时间:3/8/2008 6:53:00 PM

--  
http://www.speech.cs.cmu.edu/openvxi/,左边的download链接。
--  作者:fftt
--  发布时间:3/16/2008 1:02:00 PM

--  
谢谢,正好用到
--  作者:zlei12
--  发布时间:3/16/2008 2:26:00 PM

--  
这个论坛不错,有email提醒。

举手之劳,何况分享也是一种快乐。http://bbs.w3china.org/dispbbs.asp?boardID=47&ID=58082里,我谈了曾经的体会,产品早已商用。长江后浪推前浪,期望你能在此领域有更高的建树。

有问题可回复本贴, 因为有email提醒,:-)


--  作者:佛间花
--  发布时间:4/17/2008 5:32:00 PM

--  
楼上的大哥,你好,您在那个帖子里提到第一步阅读openvxi的体系结构,是说openvxi本身带的英文资料吗?
我的英文特别差,到现在又没有找到openvxi的体系机构相关的中文资料,所以到现在对openvxi的体系结构以及我需要如何扩展还是感到一头雾水,能不能给点帮助?万分感谢!
--  作者:zlei12
--  发布时间:4/18/2008 9:32:00 PM

--  
体系结构部分http://www.speech.cs.cmu.edu/openvxi/OpenVXI_3.0/OpenSpeech_Browser_PIK/doc/Architecture.html文字并不多,哪位热心人能翻译一下,:-)

我稍微描述一下实现的方式:
1) OpenVXI的解释器运行在单独的线程中,也就是说如果是服务器端程序每一路解释程序需要一个线程。请在下载源代码中的找到入口主程序,大致处理步骤如下:
     - VXIplatformEnableCall,表示可以开始接听电话了;
     - VXIplatformWaitForCall,以阻塞方式等待呼入电话;
     - VXIplatformProcessDocument,解释vxml文件。
2) VXIplatformProcessDocument的功能是解释vxml语言,通过回调的方式调用实现提供的具体功能,包括呼叫控制功能(VXItelInterface接口,在osbtel.cpp中实现)、放音功能(VXIpromptInterface接口,在osbprompt.cpp中实现)、收号/ASR识别/录音功能(VXIrecInterface接口,在osbrec.cpp中实现);
3) 如前文所述,编写测试vxml脚本并画出OpenVXI解释器接口调用的UML序列图很重要;当然也必须了解各接口输入/输出参数的含义。有必要了解VXI开头的各VXI包装数据结构类,特别是VXIMap;接口设计通过此通用的map机制来传递多个参数,以维持接口的稳定性。

以上为扩展VXI程序的两类关键接口点。具体实现视应用环境,是只需要一个解释线程的客户端应用,还是要处理若干并发线程的服务器端应用。如果是服务器端程序,请特别注意接口文档中说明的每个接口函数是同步的还是异步的。

如果是服务器应用,同为开源程序的ACE库非常适合使用,例如同步接口方法考虑采用Active Object模式。我个人借鉴了Reactor模式,在基于VXI的IVR产品中采用全局事件队列的方式(也可借用Dialogic事件队列),以消除处理代码中的线程间同步。主处理线程上的事件处理均为异步模式(如Dialogic API支持异步调用),对不支持异步调用的第三方产品(如某些TTS引擎客户端API)则采用HalfSync/HalfAsync模式。

最后,根据个人的经验教训,有几点说明:
1) 请特别留意正确处理呼叫挂机事件,因为主叫方可能在任何时刻挂机,并且这是一个底层机制(如Dialogic API)的异步通知事件;
2) OSBtelTransferBridge转移;
3) vxml没有明确定义接收/发送传真,而这也是一个潜在需求;
4) vxml没有明确定义IVR在呼叫中心中的应用场景,例如传递应用数据(UUI)、报工号等;
5) 未充分利用BeginSession/EndSession接口,这是一组非常恰当的申请资源/释放资源点。


--  作者:dellinbcg
--  发布时间:6/17/2008 3:22:00 PM

--  
zlei12 大哥,你说的那几个cpp文件我怎么在openvxi3.4里面没有找到。
--  作者:xpath
--  发布时间:11/12/2008 9:15:00 AM

--  我刚开始做openvxi 这一块,不知道从那开始,希望能教教我
qq 122784676
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms