




已阅读5页,还剩65页未读, 继续免费阅读
(计算机应用技术专业论文)自动化守控系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 语音信号值守是一种常见的工作,被广泛应用在电信、医疗和军事等诸多领 域。这项工作可能要长时间地面对噪声环境,而且根据业务数据性质的不同,重 要的数据必须实现自动录制。在早期的守控系统中,从前端接收到终端信号值守 的整个工作流程都需要工作人员手工操作,劳动强度很大,噪声环境对人的身体 健康也产生着危害,信号录制设备的物理局限性还带来了数据的不可靠问题。就 语音信号来说,在大多数计算机系统中,主要的音频设备是一块声卡,即便有多 块声卡,操作系统几乎都限制使用其中的一块作为启用的音频设备。在某些场合, 守控台位的工作要求同时使用多块声卡,实现对多路音频信号的数据采集,这样 就提出了单计算机系统多声卡同时工作的课题。由于有多块声卡,采集到的数据 会有多路,还必须实现声道的切换功能。声卡采集到的音频数据通常夹杂噪声, 多数时候工作实际决定了采集到的音频数据夹杂种类繁多且分贝值高的噪声,这 决定了需要研制的软件系统需要处理的音频数据是复杂的,为了保证工作数据的 质量、改善工作人员的工作环境,必须对采集到的音频数据做有无判断。由于需 要处理多路、大数据量的音频数据,而数据采集、处理的工作方式是各守控计算 机分别采集处理或分发到其他计算机进行联合守控。广域网环境下,远程主机可 以申请实时守控或者进行档案点播,因此,数据多播也是本系统研究的课题之一。 本论文作者在分析人工守控方式的弊端基础上,针对某单位的工作实际,规 划设计了以计算机为核心的硬件系统,提出了全新的自动化守控工作方式,以软 硬件结合的形式实现了较高程度的语音信号自动值守。作者工作的主要内容为: 1 设计并实现了音频数据的采集、传输和处理等技术,实现了语音的端点检 测; 2 设计并实现了基于w i n d o w s 操作系统的硬件驱动程序; 3 设计并实现了w i n d o w s 下多声卡设备的控制; 4 设计并实现了集群设备遥控。 关键词:自动化,多声卡,音频数据,设备驱动程序,遥控 a b s t r a c t a b s t r a c t k e e p i n gw a t c ho ns p e e c hs i g n a l si so n ek i n do fw o r k w h i c hc a no f t e nb es e e ni n t e l c c o m ,m e d i c a lt r e a t m e n t , m i l i t a r ya f f a i r s ,a n ds oo n t h i sk i n do fw o r ko f t e nf a c e st o l o n gt i m en o i s e m o r e o v e r , s o m ek i n d so fd a t am u s t b e a u t o m a t i c a l l y r e c o r d e d a c c o r d i n gt ot h e i rs p e c i a lc h a r a c t e r i ne a r l ys y s t e m s ,p e o p l em u s tb ea l li n t e r v e n o ri n t h ew h o l ew o r kf l o w ,f r o mt h es i g n a li n c c p t i n gt ot h es i g n a lk e e p i n gw a t c h i t ss u r e t h a tt h i sw o r ki se a s yt om a k ep e o p l ef e e lt i r e da n du n h e a l t h y f a l l i b i l i t yi sa l s ob c c a r r i e db yt h ep h y s i c a ll i m i t a t i o no ft h er e c o r d i n gd e v i c e s a c c o r d i n gt os p e e c hs i g n a l s , i nm o s tc o m p u t e rs y s t e m s ,t h em a i na u d i o d e v i c ei sa l la u d i oc a r d a l t h m l 曲t h e r ea r e m o r et h a no n ea u d i oc a r d si nm a n yc o m p u t e r s ,t h eo p e r a t i o ns y s t e m so nt h e ma l w a y s a l l o wa s o ru s i n go n eo ft h ea u d i oc a r d sa st h eo n l yo r ei nu s e b u ti ns o m eu n i t s ,p e o p l e n e e dm o r et h a no n ea u d i oc a r d st ow o r ka tt h es a l d et i m ei no n ec o m p m 盯o nt h e w o r k s 粤t i o nd 懿l ( t o pi no r d e rt oc o l l e c tm u l t ir o u t e so fa u d i od a t a a c c o r d i n g l y ,w em u s t a l s ob ea b i ct os w i t c ht h ea u d i oc h a n n e l s 。md a t ac o l l e c t e db ya u d i oc a r do f t e n c o n t a i n sn o i s e s ,a n dt h i sc i r c si sm o i es e r i o u si nm yu n i t i no r d c rt oe u s u r et h eq u a l i t y o fd a t aa n di m p r o v et h ew o r k i n gc o n d i t i o n s ,w es h o u l dt a k em e a s u r e st oj u d g ea n d r e d u c et h en o i s e si nt h ed a t a a f t e rb e i n gc o l l e c t e d ,t h ea u d i od a t am u s tb cd e a l tw i t h , p e r h a p sa l s ob et r a n s f e r r e di ni n t r a n e t b e c a u s et h e r ea r es o m eo t h e ra p p l i c a t i o ns y s t e m s w h i c hu s et h ei n t r a n e tt ot r a n s f e rd a t a , w em u s tc o n s i d e rt h eq u e s t i o n sa b o u tm u l t i c a s t 1 1 l ea u t h o re o m e su pw i l han e ws o l u t i o no fa u t o m a t i ck e e p i n gw a t c h 1 1 l i s s o l u t i o ni sb a s e do nt h ed e s i g no fh a r d w a r es y s t e m sa n ds o f t w a r es y s t e m s c o m p u t e r s a 咒i t sk e m e l i nt h i sw a y a u t o m a t i ck e e p i n gw a t c hi si m p l e m e n t e di nac e r t a i ne x t e n t t h em a i nr e s u l t so ft h ea u t h o r sw o r ka r ea sf o l l o w s : 1 d e s i g na n di m p l e m e n t a t i o no fa u d i od a t a sc o l l e c t i n g , t r a n s f e r r i n ga n dd e a l i n g w i t h w es o l v e dt h ep r o b l e mo f j u d g i n gt h ee x i s t e n c eo fs o u n df r o mn o i s e s 2 d e s i g na n di m p l e m e n t a t i o no fh a r d w a r ed r i v e nb a s e do nw i n d o w s 3 d e s i g na n di m p l e m e n t a t i o no f m u l t ia u d i oc a r d s c o n t r o li nw i n d o w s 4 d e s i g na n di m p l e m e n t a t i o no fm a s sd e v i c e s r e m o t ec o n t r 0 1 k e y w o r d s :a u t o m a t i o n ,m u l t ia u d i oc a r d s ,a u d i od a t a ,d e v i c ed r i v e r , r e m o t ec o n t m l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:;整耋盘 日期:2 。0 1 年月s 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘厂允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:幽导师签 日期:知0 1 年月s 日 第一章绪论 1 1 本论文的选题 第一章绪论 信号守控系统的自动化工作在很多场合已经变得越来越重要。就语音信号守 控工作来说,如何让守控人员脱离繁琐的硬件设备操作和嘈杂的噪声环境,如何 让守控工作更加高效可靠,如何结合计算机强大的信息处理能力让业务数据处理 更加灵活方便,这些问题一直是各种各样守控系统要解决的。在现代计算机系统 中,声卡必不可少。声卡作为一种应用普遍的多媒体音频设备几乎存在于每一种 计算机系统中,音频数据更是多媒体数据的重要组成部分。要用计算机处理声音 信号,让计算机发出各种声音,用计算机播放有声的视频节目、电子图书、教学 光盘等都离不开声卡。现在的p c 音频已经逐渐从单纯的娱乐用途向多功能发展, 它使人们与电脑之间的交流更加方便。而对于语音识别和视频会议等新的应用, 声卡更是不可缺少。在现实生活中,系统对声卡的控制可以有多种多样的方式, 对音频数据的采集处理更是可以实现丰富多彩的应用目的l 。通常,一个计算机系 统中只有一块声卡,即便有多块声卡,操作系统几乎都限制使用其中的一块作为 启用的音频设备,其他的声卡则通常禁用或停用。对一般的多媒体应用来说,一 块声卡足够了,因为在绝大多数的场合,用户的目的是欣赏音乐,只要用这块声 卡对声音进行采集,然后播放录音,再通过耳机或者音箱放出来就可以了。但是 在某些特殊场合,为了特殊的目的。可能需要用一块声卡的多个声道分别进行声 音的采集或播放,而且可能在一台计算机中使用多块声卡以达到增加录放音通道 数量的目的这样就提出了单计算机系统多声卡同时工作的课题。在多媒体程序 设计中,对单声卡的计算机系统进行编程的资料很多,而对一个计算机系统中安 装有多个声卡如何编程的资料却很少。通过对w i n d o w s 操作系统的研究发现, w i n d o w s 系统是能够正确检测到多个声卡存在的,并能使用其中任何一块声卡进 行声音的采集与播放。遗憾的是,通常见到的录音软件及接放软件是不支持声卡 选择的,更不支持不同声卡采集及播放不同内容;另一方面,在进行某些多声卡 系统设计时,要求同时对多个声卡编程,这几乎就无法使用现有软件了,必须自 行设计。由于有多块声卡,采集到的数据会有多路,当必须用耳朵监听多路声音 电子科技大学硕士学位论文 时,就必须实现声道的切换功能,能按照经验积累和个人习惯对左右耳朵监听状 况作出方便的调整。然而,这样的调整在不改造软硬件环境的条件下是非常困难 的。如果能设计一种硬件实现通路选择的功能,辅以驱动程序与应用程序通信, 就能在应用层方便地控制通路的切换。在绝大多数录音环境中,声卡采集到的音 频数据都夹杂噪声,某些情况下,采集到的音频数据甚至可能夹杂种类繁多且分 贝值高的噪声,为了保证音频数据的质量、改善监听人员的工作环境,系统必须 知道当前哪些声道有声音,即判断语音和噪音。如果能对音频信号做一下检测, 过滤掉纯噪声段和静音段,不仅能让工作人员少受噪声的危害,还能有效减少录 制数据的无用段。由于多台计算机可能对同一路信号进行联合监控,远程主机可 以申请实时守控,以达到确保关键数据工作正确率得到保障的目的,数据多播也 成为研究的课题之一当前,接收设备不再直接摆放在工作人员面前,因为这样 可以改善工作环境、减少误操作、便于集中管理设备,但是这样一来就必须实现 对设备的遥控。 如上所述,本论文的研究背景是某单位自动化守控系统项目,该项目为该单 位自行立项的科研项目,目的是为了借助计算机和网络的信息处理能力,改善该 单位工作人员的工作环境,降低劳动强度,提高生产效率,更好地收集整编各种 资魁和数据。作者作为项目负责人主持了该项且的立项论证、需求分析、技术方 案设计,程序设计、软件生产控制、系统调试与架设、项目文档制作以及项目跟 踪与改进等整个软件生产过程的各个阶段,并独立完成了系统中多声卡控制程序、 音频处理程序、通路控制卡设备驱动程序和集群设备遥控程序的编写。 1 2 自动化守控的含义 本系统名为“自动化守控系统”,所以系统要达到的目标就是在最大程度上使 工作人员摆脱过去那种经常需要人工干预的守控工作状态,减轻工作人员的机械 操作负担,提高系统对关键业务数据的捕捉概率。 以前的守控系统包括接收机、录音机、守控箱、计算机和耳机,所有的工作 中除了文档工作与计算机有关外,其他工作全都是手工操作,这样的守控方式对 于工作人员来说负担非常重。 “自动化”具体的含义是:第一,某些特定频率必须实现全天候值守,这些 频率一旦有任何数据出现就必须进行录制,自动化就是要实现这个过程的无人化, 过去使用录音机也能实现一定程度的自动录音,但是录音机故障率高,而且由于 2 第一章绪论 多数频率信噪比较低,所以常常录制了很多的噪声空白区,而且磁带存储容量有 限,要实现完全自动录音是不可能的,所以,利用计算机软硬件的配合实现对频 率信号的语音检测,当有语音时利用声卡进行录音,将录音文件存放在硬盘上, 理论上可以实现无限容量的自动录音,也就达到了自动化的目的;第二,过去调 整接收机的频率、设置接收机的参数需要手动操作,造成频率管理混乱、频率调 整时效性差等问题,利用计算机的串口编程与接收机集群通信,再辅以频率操作 的授权机制,就可以轻松实现频率调整、频率集中管理等功能;最后,过去对监 听通路( 即频率) 的选择要依靠守控箱,靠操作按钮来实现,由于守控箱故障率 高,造成通路选择不可靠的问题,而通过计算机硬件实现通路选择,可靠性高, 操作简便。以上几点相结合,可以使得工作人员完全脱离接收机、录音机和守控 箱,从而极大减轻工作人员的工作负担,降低劳动强度,提高了业务数据管理的 质量,音频数据的传输技术保证了多台位联合守控业务的简便操作行,系统对噪 声的处理也极大地改善了工作环境。 1 3 本论文的系统结构及设计思路 1 3 1 系统结构 本系统硬件结构如下图1 1 所示,音频信号处理过程如下页图1 2 所示: 图1 一l 系统结构图 3 电子科技大学硕士学位论文 接收机l 接收机2 接收机3 接收机4 信号输入1 信号输入2 - - - - 信号输入3 - - - - - - - - _ - 信号输入4 通路控制卡 声道1 声道2 声卡2 中断信号j音频数据il 控制信号il 音频数据 ;: 设备驱动程序 i : ll 獠祚系万。 l - - 。- 。_ - 。- - 一 图1 2 音频信号处理结构图 集群设备遥控过程如下图l 一3 所示: 图l 一3 集群设备遥控图 4 第一章绪论 1 3 2 设计思路 本系统的数据处理过程可以用下图1 4 来简略说明: l控制信号li 中断信号 声卡 图l 一4 音频信号处理图 音频处理的设计思路是:开启接收机后,一些重点频率被固定监控,一些频 率被扫描监控;接收机接收到的信号被传送到守控台位计算机的通路控制卡,通 路控制卡以极低的门限判断信号的有无,主要是区别无信号段( 静音段) 和有信 号段( 包括纯噪声段和语音噪声混合段) ,同时通路控制卡将自己监控的几个通路 的信号有无状况组织成一个字节的数据,存储在寄存器中,并定时引发硬件中断; 通路控制卡的设备驱动程序定时读取寄存器,将寄存器的内容写入约定好的内存 某个地址,并产生中断事件通知音频处理程序;音频处理程序在初始化时确保多 块声卡的正常使用,在收到中断事件后,在事件处理代码中访问约定的内存地址, 取出实时的通路状况数据,与上一次的状况数据对比,如果有变化就相应改变显 示界面上的通路信号灯状态( 用于指示信号的有无) ,同时通知语音检测程序进行 判别,并通知录音程序对声卡进行采样;语音检测程序按照检测算法,对有信号 指示的通路的采样数据进行计算并判别是否有效数据,如果是有效数据并且系统 设置了自动录音的话就自动录音。 遥控部分的设计思路是:守控台位遥控程序将与自己联系的接收机的调整信 息组织成t c p i p 数据包发送给遥控中心,遥控中心将这些包重新组织,按照与接 收机的串口通信协议通过串口发送控制信息,并接收从接收机返回的信息,按照 5 电子科技大学硕士学位论文 接收机地址信息和提前设置好的频率自动录音信息封装t c p i p 数据包,再把包发 送回相应的守控台位;守控台位根据返回的t c p i p 包来设置通路的自动录音标志。 以上从软硬件的各方面简略介绍了本系统的结构、工作原理及设计思路,在 后续章节中,作者将对本系统中几个关键环节的设计与实现进行详细说明,内容 安排如下: 第二章介绍多声卡控制环节的设计与实现; 第三章介绍音频数据处理环节的设计与实现; 第四章介绍通路控制卡环节的设计与实现; 第五章介绍集群设备遥控环节的设计与实现。 6 第一二章多声卡控制环节的设计与实现 第二章多声卡控制环节的设计与实现 声卡在本系统中的作用是取代录音机,以避免由录音机的高故障率、录音长 度受限、录音资料难以管理和维修更换成本极高等弊端带来的问题。声卡的应用 已经十分广泛,但是在同一个计算机系统中同时使用多块声卡具有一定的难度。 由于业务工作环境中原来每个守控台位要使用四台录音机,本系统必须实现用多 块声卡替代四台以上录音机的目标。本章介绍作者在多声卡控制环节的工作。 声卡作为语音信号与计算机的接口卡件,其最基本的一项功能就是a d 转换。 实际,除了语音外,很多信号的频率都落在音频范围内( 比如机械量信号,过程 量信号等) ,当需要对这些信号进行采集时,使用声卡作为采集卡是一种相当令人 满意的解决方案,其理由如下: 1 价格便宜。一般声卡的价格才几十元,比起自己从头到尾开发一块采集卡 的成本低得多。比起目前市场上的采集卡的价格,更是不可同日而语。相应地, 产品成本也会降低。 2 即买即用。完全省略了a d 卡的的硬件开发过程,很大程度上缩短了产品 的开发周期。 3 灵活性好。量化位数可编程( 8 位或1 6 位) ;采样频率可编程( 股声卡 的最高采样频率可达2 0 0 k h z ,并且连续可调) ;采样通道可编程( 1 通道或2 通道) : 由于可以使用在w i n d o w s 操作系统下,可以用通用的软件开发工具对其进行开发 ( 如v c ,v b ,d e l p h i 等) 。 当然,使用声卡也有其局限性,那就是声卡一般只能作为p c 插卡用在p c 机 上,很难用微控制器对其进行控制( 因为要用到中断和d m a 技术) ,因而很难用在 小型的仪器仪表里。再者由于声卡是专门针对音频信号而设计的,所以它的采样 速率不可能很高。 2 1 本章按照本应用系统设计思路,对两块双声道声卡的控制技术作深入研究与 实践。 电子科技大学硕士学位论文 2 1 声卡及其控制技术现状 2 1 1 声卡简介 声卡是多媒体技术中最基本的组成部分,是实现声波数字信号相互转换的硬 件电路。声卡的基本功能是把来自话筒、磁带、光盘的原始声音信号加以转换,输 出到耳机、扬声器、扩音机、录音机等声晌设备,或通过音乐设备数字接口( m i d i ) 使乐器发出美妙的声音。 声卡由各种电子器件和连接器组成。电子器件包括集成电路芯片、晶体管和 阻容元件,用来完成各种特定的功能。连接器一般有插座和园形插孔两种,用来 连接输入输出信号。 声卡上使用的芯片包括: ( 1 ) 声音控制芯片:它的功能是从话筒或其它输入设备中获取声音模拟信号, 通过模数转换器( a d c ) ,将声波振幅信号转换成一串数字信号,尔后采样存储到 电脑中。当重放声音时j 这些数字信号送到一个数模转换器( d a c ) ,以同样的采 样速率还原为模拟波形,放大后送到扬声器发声,这一技术也称为脉冲编码调制 技术( p 例) 。p c m 技术的两个要素就是采样频率和采样点位数。 ( 2 ) 数字信号处理器( d s p ) :d s p 芯片通过编程实现各种功能。它可以处理有 关声音的命令、执行压缩和解压缩程序、增加特殊声效和传真m o d e m 等。大大减 轻了c p u 的负担,加速了多媒体软件的执行。但是,低档声卡一般没有安装d s p , 高档声卡才配有d s p 芯片。 ( 3 ) f m 合成芯片:低档声卡一般采用f m 合成声音,以便降低成本。刚合成芯 片的作用就是用来产生合成声音。 ( 4 ) 波形合成表( r o m ) :在波表r o m 中存放有实际乐音的声音样本,供播放m i d i 使用。一般的中高档声卡都采用波表方式,可以获得十分逼真的使用效果。 ( 5 ) 波表合成器芯片:该芯片的功能是按照m i d i 命令,读取波表r o m 中的样 本声音合成并转换成实际的乐音。低档声卡没有这个芯片。 f i 合成与波表合成的概念将在下一节解释。 声卡上配置的连接器有以下几种: ( 1 ) 声音信号输入( l i n ei n ) :通过该插孔可把其它声音设备,如收录机等设 备的音频输出信号连接到声卡,以便通过声卡播放或者记录下来存入计算机中。 本论文设计的应用系统采集音频数据时就是采用此插孔。 第一章多卢卡控制环节的设计与实现 ( 2 ) 麦克风输入( m i ci n ) :该插孔与话筒连接,以便向声卡输入来自话筒的 音频信号。与声音信号输入相比,两种输入的差别在於其讯号的放大率不同。因 为一般麦克风的讯号较小,所以m i c 端的放大率会设计得较大,并且会配合麦克 风的特性来修正。 ( 3 ) 声音信号输出( l i n eo u t ) :用于与外部的功率放大器连接,输出音频信 号。目前多媒体计算机配置的有源音箱应该与此插孔连接。 ( 4 ) 喇叭输出( s p ko u t ) :用于与无源音箱或者喇叭连接,一般有2 4 w 的输 出功率。本论文设计的应用系统播放音频数据时采用此插孔。 ( 5 ) m i d i 操纵杆连接器:用于与操纵杆或m i d i 设备连接。 ( 6 ) p c 喇叭连接器:通过这个连接器,可以把送往p c 机内部喇叭的信号送到 外接音箱。 ( 7 ) c d 输入连接器:与c d - - r o m 的音频信号线相连接,以便播放c d 唱盘的音 乐。 ( 8 ) c d - r o m 驱动器接口:可用于与c d - - r o m 驱动器连接。有的声卡没有这个 连接器,采用i d e 接口的c d - - r o m 驱动器可以直接插入主板上的i d e 接口,不必 使用这个连接器。, 声卡在多媒体系统中的主要作用可具体归纳为如下几点: ( 1 ) 录制( 采集) 数字声音文件。通过声卡及相应驱动程序的控制,采集来自 话筒( 麦克风) 、收录机等音源的信号,压缩后存放于微机系统的内存或硬盘中。 ( 2 ) 将硬盘或激光盘片压缩的数字化声音文件还原,重建高质量的声音信号, 放大后,通过扬声器输出。 ( 3 ) 对数字化的声音文件进行编辑加工,以达到某一特殊的效果。 ( 4 ) 控制音源的音量,对各种音源进行混合,即声卡具有混响器的功能。 ( 5 ) 压缩和解压缩采集数据时,对数字化声音信号进行压缩,以便存储。播放 时,对压缩的数字化声音文件进行解压。 ( 6 ) 利用语音合成技术,通过声卡朗读文本信息,如读英语单词读句子、说英 语,奏音乐。 ( 7 ) 具有初步的语音识别功能,让用户用口令指挥计算机工作。 ( 8 ) 提供m i d i ( 乐器数字接口) 功能,使计算机可以控制多台具有m i d i 接口 的电子乐器。同时,在驱动程序的控制下,声卡将以m i d i 格式存放的文件输出到 相应的电子乐器中,发出相应的声音。【3 】 9 电子科技大学硕士学位论文 2 1 2 声卡控制技术的发展 声卡控制技术是本论文应用系统设计的核心内容之一。目前,对声卡进行开 发主要使用四种技术: l 、通过w i n 3 2a p i 控制声卡; 2 、通过d i r e c t s o u n d 进行声卡开发; 3 、通过d s p 芯片编程对声卡进行控制; 4 、通过各种c o m 组件控制声卡。 下面对以上四种声卡开发技术的现状和利弊做一个简单的分析。 通过w i n d o w sa p i 控制声卡 w i n 3 2a p i 也就是m i c r o s o f t w i n d o w s3 2 位平台的应用程序编程接口。当 w i n d o w s 操作系统开始占据主导地位的时候,开发w i n d o w s 平台下的应用程序成为 人们的需要。而在w i n d o w s 程序设计领域处于发展的初期,w i n d o w s 程序员所能使 用的编程工具唯有a p i 函数,这些函数是w i n d o w s 提供给应用程序与操作系统的 接口,他们犹如“积木块”一样,可以搭建出各种界面丰富,功能灵活的应用程 序。所以可以认为a p i 函数是构筑整个w i n d o w s 框架的基石,在它的下面是w i n d o w s 的操作系统核心,而它的上面则是所有的华丽的w i n d o w s 应用程序。 但是,那时的w i n d o w s 程序开发还是比较复杂的工作,程序员必须熟记一大 堆常用的a p i 函数,而且还得对w i n d o w s 操作系统有深入的了解。然而随着软件 技术的不断发展,在w i n d o w s 平台上出现了很多优秀的可视化编程环境,程序员 可以采用“即见即所得”的编程方式来开发具有精美用户界面和功能强大的应用 程序【4 】。 这些优秀可视化编程环境( 诸如v i s u a ls t u d i o 、c + + b u i l d e r 、j b u i l d e r 等) 操作简单、界面友好,并提供了大量的类库和各种控件,它们替代了a p i 的 神秘功能,事实上这些类库和控件都是构架在w i n 3 2a p i 函数基础之上的,是封 装了的a p i 函数的集合。它们把常用的a p i 函数的组合在一起成为一个控件或类 库,并赋予其方便的使用方法,所以极大的加速了w i n d o w s 应用程序开发的过程。 有了这些控件和类库,程序员便可以把主要精力放在程序整体功能的设计上,而 不必过于关注技术细节。 实际上如果要开发出更灵活、更实用、更具效率的应用程序,必然要涉及到 直接使用a p i 函数,虽然类库和控件使应用程序的开发简单的多,但它们只提供 w i n d o w s 的一般功能,对于比较复杂和特殊的功能来说,使用类库和控件是非常难 1 0 第二章多声卡控制环节的设计与实现 以实现的,这时就需要采用a p i 函数来实现。 使用w i n 3 2a p i 对声卡进行控制有着显而易见的好处,那就是程序运行速度 快,控制力度强,可扩展性好。由于可以实现对尽可能多的声卡进行控稍,而且 对各声卡的各个声道都可以灵活控制。 但是,通过a p i 编程控制声卡显然具有较高的难度,要求的技术门槛较高, 因为a p i 的数量众多,接口定义相对复杂,掌握起来有一定的难度。这是这种方 法的弊端。 通过d i r e c t s o u n d 进行声卡开发 d i r e c t x 是微软推出的一套基于w i n d o w s 系统的多媒体应用程式接口a p i s 函 数库。在开发中,d i r e c t x 分为两个部分,一个是运行库,通过d i r e c t x 编译出来 的程序必须要有运行库的支持,另外一个是开发库,也就是常说的s d k ,这部分是 在编译d i r e c t x 程序时必需的。 o i r e c t x 是一种图形应用程序接口,简单的说它是一个辅助软件,一个提高系 统性能的加速软件,d i r e c t 是直接的意思,x 是很多东西,加在一起就是一组具 有共性的东西,这个共性就是直接。微软定义它为“硬件设备无关性”。 d i r e c t x 是微软开发的图形及媒体加速接口,只有安装了它,系统中软件才能 比较直接的利用硬件加速资源( 高速访问硬件) 。 在w i n d o w s 操作系统的体系构架中,在内核与硬件之间有一层抽象层,专门对 硬件进行屏蔽抽象,所以用户不再被允许对硬件进行直接访问。这样做以后,大 大地提高了搡作系统的抗破坏性和抗干扰性。但这样一来,硬件操作的效率大打 折扣,许多新硬件的新特性无法直接使用,这对多媒体和游戏的发展显然是一种 障碍。o i r e c t x 是微软公司提供的一套优秀的应用程序编程接口( a p i s ) ,用于联系 应用程序和硬件自身,它对发展w i n d o w s 平台下的多媒体应用程序和电脑游戏起 到了关键的作用。 d i r e c t x 组件包括:d i r e c t d r a w 、d i r e c t s o u n d ,d i r e c t p l a y 、d i r e c t 3 d 、 d i r e c t l n p u t 、o i r e c t s e t u p 、a u t o p l a y 等。在编程概念中,d i r e c t x 的不同部分 互相没有联系。它们仅仅是具有相同的设计风格和目标:使w i n d o w s 的游戏编程 变得容易i ”。 可以看出,d i r e c t x 的主要好处有两个:为软件开发者提供与硬件的无关性; 为硬件开发提供策略。 d i r e c t s o u n d 是d i r e c t xa p i 的音频组件之一,它可以提供快速的混音、硬件 电子科技大学硕士学位论文 加速功能,并且可以直接访问相关设备,当然,最主要的是它提供的功能与现有 的设备驱动程序保持兼容性。d i r e c t s o u n d 允许进行波型声音的捕获、重放,也可 以通过控制硬件和相应的驱动来获得更多的服务。d i r e c t s o u n d 的优势和d i r e c t x 的其它组件一样,就是速度,它允许你高效率的使用硬件,并拥有良好的兼容性。 使用d i r e c t s o u n d 可以做到: 很方便的了解硬件能力,并且根据当前计算机硬件配置硬件来决定最好的 解决问题的方法。 弥补驱动程序的不足通过属性设置以便硬件能力可以完全发挥,即便 是驱动程序没有很好的支持该功能。 短传输延迟时间的混音为了快速的响应流。 3 - d 声音。 声音的捕获。 d i r e c t s o u n d 的不足之处在于对音频数据的控制灵活性不够,并且在面对多声 卡的控制闯题时显得比较复杂。 一通过d s p 芯片编程对声卡进行控制 这种方法常见于声卡的生产厂家。前面提到过声卡上的d s p 芯片,d s p 的功能 一般以一个操作码( 称作命令号) 的写操作为中心,按规定的步骤,配合若干必要的 辅助操作,构成一串操作的组合,称为d s p 命令。d s p 命令主要靠端口操作来实现。 端口操作包括d s p 初始化,写d s p 命令( 即发d s p 命令) 、读d s p 状态参数、d s p 中 断等。【6 1 尽管这种方法可以借助硬件芯片的强大处理能力提高音频处理的速度,但是 d s p 编程的技术资料并不多,特别是针对声卡d s p 芯片的开发资料并不多,所以操 作起来难度较高,因为改写声卡d s p 处理程序本身难度就很高,而且这种方法的 可移植性并不好,因为不同声卡上的d s p 芯片不尽相同,编程方法相应的也不同, 程序难以自动适应不同的硬件种类。 一通过各种c o m 组件控制声卡 在w i n d o w s 平台上有过开发经历的程序员几乎都听说过c o w 和o l e ,也一定听 说过c o m + 。虽然c o g 已经诞生六年多时间了,但c o g 技术在国内尚未广为流传, 目前大多数的程序员还停留在各种开发工具所提供的封装层面上,往往无法领略 底层的细节,所以也不能完全控制自己所开发的产品,这也是国内的中间件产品 比较少的原因。所谓c o g ( c o m p o n e n to b j e c tm o d e l ,组件对象模型) ,是一种说 第二章多卢卡控制环节的设计与实现 明如何建立可动态互变组件的规范,此规范提供了为保证能够互操作,客户和组 件应遵循的一些二进制和网络标准。通过这种标准将可以在任意两个组件之间进 行通信而不用考虑其所处的操作环境是否相同、使用的开发语言是否一致以及是 否运行于同一台计算机。 从本质上说,c o m 是面向对象中间件的一种。中间件是一种独立的系统软件或 服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中问件位 于客户机 a 务器的操作系统之上,管理计算资源和网络通讯。中间件不仅仅实现 互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,其突出的 特点是网络通讯功能。中间件有很多特点,比如满足大量应用的需要,运行于多 种硬件和o s 平台,支持分布式计算,提供跨网络、硬件和o s 平台的透明性的应 用或服务的交互功能,支持标准的协议,支持标准的接口等。由于标准接口对于 可移植性和标准协议对于互操作性的重要性,中阕件已成为许多标准化工作的主 要部分。对于应用软件开发,中间件远比操作系统和网络服务更为重要,中间件 提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和 系统软件怎样更新换代,只要将中问件升级更新,并保持中间件对外的接口定义 不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的 重大投资。c o m 的出现使得面向对象中间件市场里又多了一个标准,这样,面向对 象中间件产品实际上形成了两大标准,一是微软的c 伽,一是较早点出现的 j a v a b e a n s 。中间件技术被认为是我国软件技术发展的一个契机。 采用c o m 规范开发的应用软件具有强大的功能,主要有如下几点; c o m 是二进制编程规范,可以编写被多种语言使用的代码。 用于创建a c t i v e x 控件。 通过o l ea u t o m a t i o n 控制其它程序。 与其它机器上的对象或程序进行对话,构成分布式应用程序。 m i c r o s o f t 推出w i n d o w s9 8 和w i n d o w sn t5 0 后,整个操作系统的核心都围 绕着c o m 来建立。可以把w i n d o w s 系统看作是一系列的c o m 接口,在需要时可以 调用这些接口。如上面提到的d i r e c t x 就是一系列的c o l d 接口服务程序。 用c o m 技术开发的应用程序从理论上说是客户服务器模式的程序。程序员可 以使用一系列的c o m 服务程序来构造他们自己的应用程序,这些服务程序可以根 据需要随时嵌入到主程序中。在分布式系统中,可以通过网络来访问这些服务程 序。将来,操作系统和整个网络可能会被看作是一套以c o m 对象形式提供的服务 集。部分程序员负责建立这些服务,而易r 部分程序员只负责如何调用它们。 电子科技大学硕士学位论文 其目的是实现软件的即插即用i ”。 c 0 1 1 本身只是一种规范,而不是实现。但是当使用c + + 来实现时,c o m 组件就 是一个c + + 类,而接口都是纯虚类。c o m 规范规定,任何组件或接口都必须从 i u n k n o w n 接口中继承而来,每个组件都必须实现一个与之相对应的类工厂( c l a s s f a c t o r y ) ,类工厂也是一个c o m 组件,他实现了i c l a s s f a c t o r y 接口。在 i c l a s s f a c t o r y 的接口函数c r e a t e l n s t a n c e 中,才能使用n e w 操作生成一个与之 对应的c o m 组件类对象实例。 近几年又出现了c o m + 技术。c o i l + 并不是c o m 的简单升级,c o m + 的底层结构仍 然以c 0 1 1 为基础,它几乎包容了c o m 的所有内容,c o m + 综合了c 0 1 1 、d c 叫和i f r s 这些技术要素,它把c o m 组件软件提升到应用层而不再是底层的软件结构,它通 过操作系统的各种支持,使组件对象模型建立在应用层上,把所有组件的底层细 节留给操作系统,因此,c o m + 与操作系统的结合更加紧密。c o m + 不再局限于c o m 的组件技术,它更加注重于分布式网络应用的设计和实现。c 0 1 1 + 不仅继承了c o m 所有的优点,而且还增加了一些服务,比如队列服务、负载平衡、内存数据库、 事件服务等。c o m + 标志着m i c r o s o f t 的组件技术达到了一个新的高度,它不再局 限于一台机器上的桌面系统,它把目标指向了更为广阔的企业内部网,甚至 i n t e r n e t 国际互连网络。c 0 1 1 + 与多层结构模型以及w i n d o w s 操作系统为企业应用 或w e b 应用提供了一套完整的解决方案。 各种各样针对声卡开发的c 0 1 ( 、0 伽+ 组件对w i n d o w s 音频处理a p i 做了层次不 同的封装,使得开发音频处理程序比过去容易得多。所以,这种方法的优点就是技 术门槛较低、编程容易,但是其缺点也很明显,那就是由于组件都经过了编译才发 布出来,往往没有源代码,所以不能更新、扩展,难以实现特定的功能。 综上所述,从作者本人及所处的环境分析,作者决定采用w i n d o w s a p l 和c o m 组件相结合的方法来实现对声卡的控制,以期达到效率和功能的较好契合。 2 2 多声卡录放音控制的实现 本节先介绍计算机系统中单声卡的控制技术,然后在此基础上介绍多声卡控 制技术的要点。 2 2 1 单声卡录放音技术 1 4 第二二章多声卡控制环节的设计与实现 声卡的工作原理很简单,麦克风和喇叭所用的都是模拟信号,而电脑所能处 理的都是数字信号,声卡的作用就是实现两者的转换。从结构上分,声卡可分为 模数转换电路和数模转换电路两部分,模数转换电路负责将麦克风等声音输入设 备采到的模拟声音信号转换为电脑能处理的数字信号;而数模转换电路负责将电 脑使用的数字声音信号转换为喇叭等设备能使用的模拟信号。声卡主要有两种: 内置独立声卡和内置集成在主板上的软声卡。 理论上,声卡是p c 的一种多媒体设备,所以可以用w i n d o w s 的m c i ( m e d i a c o n t r o lin t e r f a c e ) 命令来控制声卡。m c i 提供了一组与设备无关的控制命令, 是一种访问多媒体设备的高层次方法。也正因为它属于一种高层次方法,所以它 提供给程序员的灵活性有限,利用淝i 命令来控制声卡录音时,程序员不能在录 音的过程中访问内存中的采样数据,只有在录音完成后通过访问 w a v 文件才可以 得到采样数据,尽管最终还是得到了采样数据,但是这样做一方面麻烦,更重要 的是存取文件需要耗费时间,声卡在采样的过程中有可能会停止下来等待文件操 作,造成了采样的断续i v 。在某单位工作环境这样实时性要求比较高的场合( 比如 波形分析,实时控制等) ,断续的采样明显是不行的。w i n d o w s 的低级波形音频函 数提供了对声卡的最大灵活性韵操作,它允许在采样过程中随机地访问内存中的 每个采样数据,完全可以克服使用m c i 命令所遇到的实时性问题。w i n d o w s 以动态 连接库m m s y s t e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度2月医疗DRG分组算法优化技术服务协议
- 吉他日常训练基本功
- 二零二五出租房屋补充协议
- 二零二五版外卖送餐合同
- (安徽专用)中考历史真题汇编:综合材料题- 5年(2020-2024)中考真题+1年模拟真题汇编
- 中医药行业分析
- 血液中心培训管理制度
- 铁路检修工段管理制度
- 项目实施管理制度样本
- 科技公司岗位职责
- 2025年江苏城乡建设职业学院单招职业倾向性考试题库汇编
- DB32-T 339-2007中华绒螯蟹 一龄蟹种培育
- 排油烟管道施工方案
- 慢性心衰的规范化管理
- 《页岩气 保压取心技术规范 第1部分:取心作业》
- 2025年中国陕西省保险现状分析及市场前景预测
- 七年级 人教版 地理 第八章《第二节 欧洲西部》课件 第三课时
- 电厂安全培训课件
- 天体运动中的三大模型(讲义)-2025年高考物理一轮复习(新教材新高考)
- 克缇奖金制度
- AI智能客服建设方案
评论
0/150
提交评论