语音卡平台也基于Linux
张官勇 2002/01/21
随着计算机技术和语音相关技术的发展,语音卡的应用得到了进一步的深入,也开始介入一些新的领域。但是在语音卡应用不断深入的同时,对系统开发的要求也随之提高。尤其在某些领域,它们通常采用Linux/Unix系统,要求开发的应用系统必须能安全、稳定、高效的运行。鉴于这种现状,三汇公司推出了Linux操作系统的语音卡驱动程序。
用户需要Linux平台
Linux是一个诞生于网络、成长于网络且成熟于网络的操作系统。Linux的发展凝聚了世界各地无数开发人员的大量心血,体现了一种信息世界的共建、共享和共荣的精神。现在,Linux凭借其设计和性能,加上IBM、Intel、CA、Core、Oracle等企业的大力支持,市场份额逐步扩大,逐渐成为主流的操作系统之一。
基于Windows 98/NT/2000系统的开发得到大力发展之时,推出Linux驱动程序,推出基于Linux系统的开发平台,是否必要?答案是肯定的。用户的需求是最好的例证。Linux的普及,以及其对PC硬件良好的支持,友好的开发环境,更是鉴于Linux系统本身的技术优势,部分用户转而开发基于Linux的应用系统。针对用户的需求,有必要将对应的开发平台推荐给用户。
基于Linux的语音卡平台结构
如果不考虑应用系统本身的多样性和复杂性,那么语音卡系统的结构通常如图所示。
应用层(应用系统)因需求及目标实现的不同而呈现多样化,但它们都通过API接口来调用系统服务层。系统服务层具有与硬件(语音卡)无关的特性,从而使用户可以调用统一的API接口,以便于应用系统的开发。硬件驱动层通过可加载内核模块来实现具体的功能调用,语音卡的类型不同,其实现方式也不同。
语音卡系统结构图
可加载内核模块(简称为LKM)用来控制硬件层(应用系统中使用的各种语音卡)。LKM是比较关键的,它提供中断服务、端口操作和设备文件操作服务等等,所以也就会因具体处理方式的不同,比较大地影响到整个系统的效率。好的LKM应该尽量地减少用户空间和内核的切换操作。为此,这种平台采用了在内核对端口操作进行集中处理的方式,例如录放音,由于其端口操作比较频繁,就采用了这种处理方式,而不是每做一次端口操作,都做一次从用户空间到内核的切换,从而大大提高了效率。
基于Linux系统的语音开发平台对各语音卡提供了统一的API接口,以便于应用系统的开发;在可加载内核里对端口操作采用了集中处理的方式,从而大大提高了效率。这种效率上的差异,在系统繁忙的时候,尤其表现得比较突出。
给用户的建议
语音卡系统主要应用于交互式语音应答、呼叫中心、统一消息处理、小型办公/家庭办公、IP电话等等。
语音卡系统与一般的系统开发基本上类似,但是也有一些特殊性。由于语音卡是专用卡,所以厂商除提供完善的API接口之外,还会提供详尽的用户手册、配置文件,以便于根据系统所需,进行设计和配置语音卡参数。关于可加载内核模块,可以手动(或系统自动)装载和卸载,它能提供中断服务和端口处理,其常见插口有ISA和PCI的。如果是ISA语音卡的话,中断号和端口地址要设置正确,并确信没有冲突。如果是PCI语音卡的话,那么操作系统会承担这部分工作。语音卡应用系统开发最好的切入点是演示(demo)程序,结合用户手册读演示程序源代码,不仅可以熟悉常用API函数,而且还可以掌握系统设计流程。
如果你正计划开发语音卡应用系统,而又想拥有好性能,还想免费的话,那么选择Linux是明智之举。如果你想使系统开发顺利进行,除保证语音卡性能之外,服务是否完善、用户手册是否详尽也同等重要。最后也要提醒用户,Linux基本上是不提供售后服务的,但发展至今,网上已有丰富的资料可查,也有许多成功的解决方案可以参考和借鉴。
中国计算机报 2002/01/21
ADI Blackfin推出适合三汇的VoIP电话和呼叫中心方案 2009-05-11 |
杭州三汇荣获CIPCA 2008中国IP通信大奖 2008-10-08 |
三汇成功开发高性能真人接听检测算法助推外拨应用 2008-08-26 |
三汇新一代C型传真卡撼市登场 2008-05-15 |
三汇ATP-24A新型模拟录音产品问世 2008-05-05 |