- ■ 最初
-
- 在这里所要说的是我在开发CTI系统时奋斗的经历。
- 要着手制作CTI系统,首先要从寻找相对应的语音识别板开始、寻找CTI用的中间件、寻找合适的语音合成器,不管怎样首先是一个劲儿的寻找。因为在此之前对此是一无所知。
- 在这个项目中得到的最大的成果是「利用开放源码制成了CTI系统」。
- 而且,对于阅览本网页的您,我非常希望我的经验能够对您有所帮助,同时还将对您公开无论是在日本还是在美国的网站上我所得到的有利信息,以及开发中所遇到的问题。
- 如果这些情报会对您在开发CTI系统有所帮助时,那对我们来说将是莫大的荣幸。有关CTI的有利情报实在是少之又少。
- Voice
Communication 株式会社 与那嶺弘
-----------------------------------------------------------------------------------------------------------
- ■ 我的苦劳是从社长的一句话开始的
-
- 社长:
- “从现在起,不问大、中、小企业都会引进CTI系统。IP电话的出现到国际互联网&CTI系统的融合。为此必须象国际互联网那样在价格上取胜。花费几百万就没有任何意义了,无论如何要找出降低价格的好办法。”
- 又开始了。社长的伟大的梦想。
- 本会社社长的梦想总是很大,可是公司却很小 ...喔呵呵。
- 「尽快开发出低价格的CTI系统来!」,怎么说CTI系统的开发也是高成本的,并不是用嘴说说就能作成的。唉!真是没有办法。一边这样想着一边又思虑着,如果真的能作出低成本的CTI系统,那将是一件多么令人兴奋而又有趣的事情啊。看起来经理所说的也并不全是假话。可也是,以前也真有被他说对了的事。
- ■ CTI系统的要件(社长的梦想)
-
- 开发的时间要在3个月以内。当然只能是你一个人,如果不能成功的话就解雇你!
- 尽可能是运行在Linux上的CTI系统。那样的话就不必花费License的费用!
- 在资金上只能出10万(日元)。(对后面所加的要件,理由将在后面做陈述)
- 喂、喂,时间不充足!人手不足!不能成功的话就得被解雇!又加上要在Linux上运作CTI系统!我的天哪,快饶了我吧~。
- ■ 首先是寻找CTI软件
-
- 在社长的介绍下,同AVAL 长崎株式会社(语音识别板的制造商)进行了联系,以从AVAL 长崎株式会社得到的信息为基本,开始寻找开发CTI系统所必要的中间件。
- AVAL 长崎株式会社向我推荐了蝶理情报系统株式会社的相合性很好的CTplus。
- 因为在AVAL 长崎株式会社的网站上还有其他公司的产品信息,就试着对其进行了调查,供您参考。
- 以上这些是进行彻底地开发的配套元件。可以实现RunTime的销售。经过认真的调查,对所调查的产品与特征向经理作了报告。
- 本人∶“AVAL 长崎株式会社的语音识别板价格为20万 + SDK30万 + Middle的费用”
- 社长∶“怎么每一个的价格都是这么贵。”又要发脾气的样子。
- 社长∶
- “我们公司根本就没有那么多的资金。你又不是不知道!难道就没有其他价格更便宜一些的语音识别板吗?”
- 对有这样的反映是在我预料之中的。果然不出所料是行不通的。最后,因为资金的不足,没有采用AVAL 长崎株式会社的产品,还真是觉得有点对不住他们。不过,没有就是没有,又不能去偷。所以只有鼓足勇气尝试着再采用其他不同的方法。
- 无法采用AVAL 长崎株式会社的产品,那么只好看VBVoice怎么样了。对应的语音识别板“Dialogic,Brookrout”,对那里立即开始了在互联网上的搜寻。
- 在阅览有关Dialogic的信息时,我发现在CT的世界中,Dialogic已经是有相当长历史的老店。实际上,在此之前我根本就不知道Dialogic的存在。就从那儿开始,我一口气的转变了方向,开始了对Dialogic的详细调查。
- ■ 寻找Dialogic语音识别板
-
- 在对Dialogic语音识别板进行调查时,得知在1999年美国的微处理器的PC关联产品大制造商英特尔公司收购了Dialogic公司,所以现在作为英特尔公司的产品被销售。
- 我对Dialogic语音识别板进行调查时又发现原来SDK是被无偿提供的。其他的语音识别板的SDK费用需要20~30万(日元),而Dialogic是无偿提供的。这真是太棒了。而且,Dialogic支持Linux。这样一来,语音识别板就决定用Dialogic。
- 为了了解价格,我试着在因特网上对美国的网站进行了调查。
- 我在Dialogic的产品一览表中找到了价格便宜的Dialogic D/4PCI。运费及海关手续费全包括在内用日元换算的话大约在10万元左右。
- 我立即向社长作了汇报。
- 本人∶
- “我找到了在价格上十分便宜的语音识别板。语音识别板10万 + 中间件25万 + License6万 = 40万,而且SDK是无偿提供的。”
- 这时社长又开始发起了脾气。
- 社长∶
- “从哪儿出这40万哪。对语音识别板的费用是只有认了,因为它的SDK是无偿提供的。不过,如果只是SDK的话,难道你就不能自己作吗。假设是买进了中间件,但在对产品化进行讨论时,因为是必须的WindowsOS费用 + 中间件License费用 + 开发费用,这样一来成本就会上升。而且,在使用业务系的CTI时,数据库也是必要的。如果是PostgreSQL的话,那么还真有许多在Linux上的开发实绩被报道。放弃在Windows上开发的想法,全部在Linux上进行开发。这,就全靠你了。”
- 这是真的吗?如果要全部从头开始的话,那么每天乘终点电车回家的日子得什么时候才能结束啊。真是让我头痛。
- ■ 购买语音识别板
-
- 购入中间件的计划很快就被摧毁了(-_-)。真的要自己作吗???。而且,因为我对语音识别板并不是十分了解,所以对直接从海外进行订购总是觉得不对劲儿。不过,本着「破罐子破摔!」的心情,我决定还是从美国购入语音识别板。于是,我立即同长期购买硬件的商店取得了联系,请他们从美国代为购入语音识别板。
- 一星期之后,终于收到了从美国寄来的语音识别板。意外和感动各占一半,拿着塑料板壳镶嵌着的语音识别板,自己就象是收到向往已久的玩具的小孩儿一样,高兴的不得了。
- ■ 下载SDK
-
- 收到了语音识别板后,我就立即下载了SDK。
- 但是...,在英特尔公司的美国网站上,可以利用的产品多不胜数,别说是SDK了,连Dialogic语音识别板的网页在什么地方都找不到。这下可麻烦了,到那里去找啊!
- 用尽了办法去寻找,但是一点头绪也没有。剩下的时间又不多了,想要悠闲自在地去找那就更不用说了。连想要找个人问问也没有。没有办法,就只有靠因特网了,最后工夫不负有心人,终于让我找到了。
- 即便如此,每天都对着电脑10多个小时,人都有点发呆了,有时会非常想与人亲近。好了,不说傻话了。不管怎样总算找到了SDK,这真是件让人高兴的事。
- ■ 噢,该进行安装了!(Windows篇)
-
- 我立即开始试着下载了Windows的SDK,并进行安装。结果出人意料的是竟顺利完成了安装。我立刻对其的运作进行了确认,并试着运行了附属的样本程序。将FAX用的电话线接到语音识别板上。又试着从公司的电话拨打到FAX上。
- 「哔--啵--叭」「嘟----」「喀嚓」「@*?#$%」
- 虽然播出来的是听不懂的英语,但不管怎样总算是确认了电话受信及有声音的播出。唉,能走到今天这一步真是不容易。真的是相当的感动。
- 这回又对其他的样本程序进行了运作,并试着拨打了电话,很顺利的就拨通了。
- 那么这样看来CTI要比想象中的容易吗?如果真是那样的话,那制作应用软件的程序就会变得有趣而又节省时间。
- 我一边这样想着一边坐在摇摇晃晃的末班车里。
- ■ 应用软件的开发
-
- 已经收到了Dialogic语音识别板,那么就只剩下开发应用软件了。我参照了SDK的指南手册及附属的应用软件样本的Source,决定首先试着验证基本的动作。
- 脚本应用软件的程序是用C语言来组成的,从其程序的源码那里,试着验证了得知电话的受信并举起听筒等的有代表性的动作。
- 「哔--啵--叭」「嘟----」「喀嚓」
- 因为是实际上正在运作中的脚本的编码,所以理所当然的准确无误的运行了。
- 我从电话的来电开始着手,并参考了脚本的编码,对再生语音的播音、接收的电话进行录音DTMF「哔--啵--叭」的取得等进行一一的验证。
- 运作进行的十分顺利,验证也进行的非常顺畅。但是,就在这时问题出现了。
- 「如果是用C语言来组合的话,难道引进CTI系统的用户在每一次都要开发应用软件,这有必要吗?就这样放置不管的话,引进费用将会不断的增加,也就无法满足我们经理的要求。在短期间内建立CTI体系也将无法实现。」
- 在这个问题上,CTI中间件是怎样解决的,我对此试着再次进行了调查。VBVoice因为是VB的组合元件,在语言的差异上对于Stance来说,即使是现在也是一样,是每个用户在开发时都会遇上的问题。在VBVoice以外的许多CTI中间件里,都好象是用Script来实现Call Flow的。如果这个方法是Source = 实行形式的话,又因为是Script所以开发期间的短缩也是有可能的吧。不过,因为Script好象是以独自的形式构成的,因而被认为是每家公司的原创语言。我们没有充足的时间去开发新的Script引擎。怎么办呢,经过反复斟酌,最后决定使用有实力 & 实绩的Perl。
- 具体地,是从Perl呼出Dialogic的API。那样的话,接收到电话、再生播音等的个个要件的每个配置用Perl Script都能作灵活对应。
- 我在使用Perl & 考虑Linux环境,在Windows上安装Sygwin,模拟Linux环境等一系列活动上进行了开发。
- 首先,为了学习从Perl呼叫C程序库。我开始马上着手在因特网上收集资料。对于能否从Perl呼叫C程序库,具体地怎么办?详细的情报检索真是找也找不完。噢,这有一篇相当狂热的文章。文章的内容要求读者要有相当高的相关知识水平。
- 再用别的关键词进行更深入的检索时,O'REILLY网站的动物丛书中得到了所需的信息。
- 《Perl Coo BOOK Perl的铁人所送处方集》,这本书的封面是一只羊。
- 我立刻在Amazon上进行订购。自从我开始使用Amazon后,我就很少再去书店买书了。诸位是否也在使用Amazon?话回原题,我即刻尝试着对从Perl呼出Dialogic的API、用C语言作成STAB等进行了实验。
- 不过,还是没成功。编译又失败了。而且,不明白错位的内容。
- 在《Perl Coo BOOK Perl的铁人所送处方集》中没有找到任何暗示。我从O'REILLY的网站上下载了样本编码,在分析样本编码时发现了一个重要情报,是说在一个叫Typemap的文件上,Perl和C语言的接口,及所谓的参数和返回值的型定义等是有必要的。我参考着样本编码对Typemap进行了型定义。
- 在这之后,虽然错误一次又一次的出现,最后总算是成功的完成了编译。
- 终于动起来了。参数和返回值的接收交付也好象不存在任何问题了。
- 就这样Perl和C程序库的接口问题被解除了。最后就剩下举起听筒,放下听筒,拨打电话等用指令单位把呼叫API作成STAB了。
- 作为当前的目标∶
- 感知电话来电
- 举起听筒
- 「欢迎光临」的播出 & 再生菜单(语音文件的再生)
- 对使用者拨打号码的确认(取得DTMF)
- 实行号码分配处理(如果是1号键就表示是播放「欢迎光临」)
- 推进了为实现读出使用语音合成的结果的开发
- 电话的来电、再生播音、DTMF(哔--啵--叭)的取得等有关的问题都得到了解决。
- 为了完成当前的目标,又追加了
- 录制使用者的声音
- 识别使用者复数位的拨号(拨打4位数的用户ID)
- 识别复数位的拨号,也对进行数据库的检索作了确认
- 没有发生什么问题运作起来。
- 这样同VB相比较而言,应该是可以使客户减少开发所带来的负担。
- ■ 为了减少电话费用,需要怎么做?
-
- 虽然应用软件的开发在顺利地进行着,但是在为了确认运转时而无止境的使用外线却有点儿不妙。既不能使用FAX又花费电话费。因为那样的话就十分麻烦,所以我就跟经理说了,让他买进模拟交换机。
- “因为总是在无法使用FAX的状态下有点儿不妥,所以能否买进一台模拟交换机来。”我得到了意外的答复。
- “我就等着你说这句话呢,总是在无法使用FAX的状态那可真够麻烦的。不过,你还是明白我的意思的,对不对。”
- 就这样,我又上网开始了查询。
- 社长的意思我当然领悟得到,虽然是答应了购入模拟交换机那是让我找一下是否有便宜一点儿的。
- 因为HOW 株式会社的产品在价格上比较便宜,所以对其进行了咨询。用电话询问时被告知产品是可以出租的,所以就立刻进行了申请。
- 过了几天,收到了模拟交换机。我马上开始了试验。
- 可是,这次又是不运作了。在用试验用的电话进行拨号时,利用程序识别电话的鸣响是没问题了,不过在随后举起听筒时,就自动被切断了。这可麻烦了,被逼无奈,只好向买进机器的商家进行了电话咨询。
- 本人∶
- “我在模拟交换机上连接了试验用的电话和2张语音识别板卡,从电话机打给电话机是没有问题的。到电话铃响起为止识别是正常进行的,可是在随后举起听筒时,电话就自动被切断了。这是怎么回事儿?”
- 技术人员∶“您在那时,是否有听到「哔--喀--」的声音,就象是在FAX来信时所发的声音一样。”
- 本人∶“听到了。”
- 技术人员∶“那个电话机和语音识别板是否对应来电显示。”
- 本人∶“不对应。”
- 技术人员∶“那么,模拟交换机上的来电显示的按钮是否在[ON]的位置。”
- 本人∶“是的。”
- 技术人员∶
- “模拟交换机上的来电显示的按钮在[ON]的位置上就是问题的原因。来电显示是在举起听筒时对机器之间的号码信息进行提取的。而且会发出「哔--喀--」的响声。您的情况是,机器同来电显示并不对应,而在来电显示上却是作为对应的情况下的按钮在[ON]的位置上。来电显示一直都在等待号码信息,因为没有回应就自动切断了线路。请试一下把模拟交换机上的来电显示的按钮拨到[OFF]的位置上,应该是不会再出现自动切断线路的问题”
- 本人∶“太感谢你了。我马上就进行试验。”
- 正如那位技术人员所说,在按钮拨到[OFF]的位置时,果然可以进行通话了。这样一来就不用介意电话费而进行试验了。真是不错。
- 我马上打电话订购了模拟交换机。
- ■ 挑战语音识别
- 我们社长从朋友那获得了一个有关语音识别领域的有趣情报。
- 社长∶
- “看起来语音识别还真挺有意思的。如果将它同CTI组合在一起,就可能组成使用方便的优良系统。语音识别一直是被利用在汽车导航目的地的指示,同玩具类机器人进行对话,小田急电铁的预订售票等方面。”
- 本人∶
- “我知道汽车导航目的地的指示是使用了语音识别系统,还真不知道用它可以进行预订车票。顺便问一句,是在那里出售的车票。”
- 社长∶
- “有很多的。象Nuance Communications、KDDI、Advanced Media等都是挺有名的。OMRON现在就是使用了Nuance Communications的引擎,语音识别Demo也被成立起来。在Demo中有预订飞机票的功能,我立即打电话进行了试验。在说出出发地和到达地的机场名称后,通过语音识别读出结果。比如,说出出发地「羽田机场」,系统就会问「您的出发地是羽田机场吗?」,然后我回答「是的」,接着系统会说「请说出您的到达地机场名称」。自己说出的话被电脑识别认识,真是让我吃了一惊。而且,如果使用CTI的话,一定会变得更为方便。”
- 本人∶“语音识别真的是进步很快,确有尝试的价值。”
- 从这一天开始,就一直持续这样做着。有一天,社长又对我说,
- 社长∶
- “旭化成株式会社也在发售语音识别引擎。先用旭化成的语音识别引擎试试看,看是否可以在CTI上使用。我觉得可行性很大,但不实际上试一下是不知道行不行的。这就全靠你了。”
- 就这样,我开始了对语音识别的配置。从旭化成株式会社那儿收到了安装CD,我立即开始进行安装。首先是把样本编码还原后,再学会语音识别的程序。
- ■ 挑战地名识别
-
- 我决定在字典中试着登录身边的地名,面对着麦克风说出识别的地名,在画面上制作识别结果的样品。身边的地名我选择了横滨及川崎等10几个地名。在字典上登录,为了过度给语音识别引擎的数据用二进制的形式进行了编译。二进制形式的数据被称为词汇网络。
- 到这为止是在做作成程序之前的准备工作,从现在开始正式进入制作程序。做好向语音识别引擎过度词汇网络的前准备工作,等待发音。面对着麦克风发出声音时,由麦克风的设备读取并存在存储器上再向语音识别引擎过度进行识别处理。因为识别结果会被语音识别引擎反馈回来,如果被识别的话结果就会显示在画面上,如果不行的话就有不被识别的指示会被显示在画面上。我在这些都完成后立刻进行了试验。识别率非常的不好。重新看了字典的内容和程序也还是不明白。
- 那么,会不会是由麦克风的设备读取的语音数据本身并不是很好呢。我将语音数据以文件形式储存,试着通过扬声器听了一下,声音特别小说些什么根本就听不见。果然是这里有问题。
- 就是这样,麦克风的音量太低了。无需多言马上认识到需要増高麦克风的音量。但是,实际上试了一下,我的声音能被识别,而其他人的声音却识别不了。而且有这次被识别了下一次可能就不被识别等问题的发生。说起来人类的声音,被认为对处理不确定的东西的语音识别来说要求完美无缺是不现实的。在对关于语音识别的应用软件多少有些了解了的时候,在这里先暂时停止一下语音识别。
- ■ 噢,该进行安装了!(Linux篇)
-
- 到这里为止,做到了在Windows上建立了对模拟在Linux环境中进行开发的进展。终于要向在Linux环境中进行开发进攻了。在恰当的时机里移行构筑模拟Linux环境就可以了。因为有Windows和Linux两个能够同时使用的利点,我先进行了向Linux环境的移行。因为两个能够同时使用所以一边先详细确认刚才已经确认过的Windows样本以VisualC++的调试模式在API的是否运作。完成了在Linux环境上的开发。这个相当的方便使用。
- 因为事前预留了Windows环境,在另一个使用过的旧电脑上安装了Dialogic语音识别板卡后,安装了Redhat Linux。我觉得在这时移行Linux应该是非常容易的。SDK既对应于Linux,又用Perl作成了应用软件。
- 我顺利地安装了Redhat Linux,接着该安装Dialogic的SDK了。与Windows不同的是,在Linux上好象是需要一种叫LinuxStream的产品。我首先是安装了LinuxStram接着又安装Dialogic的SDK。两者都很顺利的就安装上了。
- 顺利也就到此为止,接下来开始的就是恶梦了。怎能想到,附属于SDK的样本应用软件不停的出现错误而无法运转。实行了几次都出现了错误而停止运转。
- 我仔细地查看了所出现错误原来是Dialogic语音识别板卡没有被识别。真快把我气死了,SDK也安装上了,现在不能识别,这是怎么回事儿。
|
| TOP |
|
| Home | CTI | Bayonne | Download | What's New | Profile | Address |
Voice Communication 株式会社
211-0004 日本国神奈川县川崎市中原区新丸子东2-907
TEL: +81-044-455-0038 FAX: +81-044-455-0029
联系我们 voicecn@voice-com.net |
最新更新日:
|
|
| (c) Copyright 2003 VCN, Inc. All right reserved |
|
 |
《Linux新活用方法的发现》
此报告有以下内容提要、此报告免费奉送。资料请求
■开始
■为什么是Linux+Bayonne
■关于本公司所提供CTI
构筑服务
■能够实现成本销减吗?
■有什么好的办法吗?
■苦劳
■本公司所提供的
■课题
■联系我们 |
HOME |