资源描述:
《机场语音广播信息发布系统的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
机场语音广播信息发布系统的设计与实现第27卷第8期2006年8月小型微型计算机系统MINI—MICR0SYSTEMSVo1.27NO.8Aug.2006机场语音广播信息发布系统的设计与实现陈汉,蔡莲红,钟玉琢(清华大学计算机科学与技术系,北京100084)E—mail;handdy_@szonline.net摘要:结合深圳机场公共广播系统的建设,从总体结构和控制软件两方面论述了机场语音广播系统的设计与实现.广播软件设计为一对多的c/s模式,在各环节采用可靠协议保障消.的可靠传递,并由此在软件中集成了对系统的告警监测和广播楼宇备份,本文专门设计了一个脚本解释执行器,动态生成自定义的任意文句广播.机场一年多使用证明,该系统具有一定稳定性和灵活性,能满足大型机场公共广播系统的需要.关键词:机场;广播系统;软件设计中图分类号:TP391文献标识码:A文章编号:i000—1220(2006)08—1592—05DesignandImplementationofVoiceBroadcastingSystemforAirportCHNEHan,CAILian-hong,ZHONGYu—zhuo(DepartmentofComput~ScienceandTechnology.TsinghuaUniversity,Beng100084,China)Abstract:ThispaperpresentsanairportbroadcastingsystemofShenZhenairportonsystemstructureandsoftwaredesign.Thesoftwareisinone—tO— manyc/smode,usesreliablecommunicationprotocolswhichdelivermessagesreliably.systemalarmsdetectionandbuildingbackupfunctionareembeddedintothesoftware.Ascriptinterpreterisalsodevelopedtoimplementanyuser—definedbroadcasting.Theappliedsystemshowsthatithasstabilityandflexibilitythatcanfittheneedoflargeairportbroadcastingsystem.Keywords:airport;broadcastingsystem;softwaredesign1引言深圳机场为中国第四大航空港,世界前100强(ACI最新排名第81位),2004年旅客吞吐量达1425.3万人次,机场广播系统是一个具有正常航班信息发布,紧急状态广播以及背景音乐功能的自动广播系统.这是疏导旅客,保障机场正常运作的重要弱电子系统之一.机场信息内容多,变化频繁.旅客来自世界各地,多路语音信息需按普通话,英语,广东话同时在不同区域播出,互不干扰.机场航站楼面积庞大,建筑结构复杂,广播分区达50多个,各类音箱扬声器超过3000余个,要求广播声音清晰并有效地覆盖到航站楼的每个角落.同时,对于平均每2,3分钟起降一次的密集航班信息,广播控制软件需按设计有条不紊进行调度,保证每条信息准确及时地在指定分区发布.,并能针对特殊情况进行自定义广播,从而起到高效指引,疏导旅客的作用.按照机场对广播系统的要求,我们精心设计并实现了深圳机场的语音广播信息发布系统,一年多的实际运行表明,该系统达到了原设计的技术指标,控制灵活,音质优良,运行稳定可靠.有力地提高了深圳机场形象,产生了巨大社会和经济效应.2系统总体结构广播系统依赖声音传递信息.广播系统的设计和实施,涉 及声学,语音学和计算机应用技术.本文根据广播系统总体技术要求,结合建筑声学的理论,并依据国家标准,行业标准和相关技术规范,设计了广播系统的硬件结构,进行了设备的选型,声场设计,广播线路设计,扬声器位置设计等.广播系统结构框图如图1(见下页)所示:顶层是与航空指挥系统相联的中央调度系统(主机服务器),下面是广播系统的软件代理Agent.广播数据库平时由Agent维护,故障发生时可作为客户端自行广播的数据源,它和Agent运行在一台计算机上.Agent下面是多个Artisam实例,各自对应一套广播硬件,Artisam和Agent之间是TCP交互指令连接,Ar—tisam对下有两个接口:1)通过RS一232C对数字信号处理器的控制,从而驱动数字语音合成模块输出自动/半自动语音广播①②到矩阵;2)通过计算机声卡输出音频信号,配合数据量输出D/O模块选通信号,送出自定义广播③到音频矩阵.广播硬件主体设备为TOA(东亚)系列,主要由通信接口数据信号处理器,数字式音频处理器.数字式音频矩阵控制器,数字语音合成模块及功放,喇叭等构成,其中数字式音频收稿日期:2005—05—19基金项目:国家自然科学基金项目(60418012)资助.作者简介:陈汉.男,1974年生.硕士,工程师,主要研究方向为语音技术应用;蔡莲红,女,1945年生,教授,博士生导师,主要研究方向为语音处理与多媒体;钟玉琢,男,1938年生,教授,博士生导师,主要研究方向为多媒体计算机技术.8期陈汉等:机场语音广播信息发布系统的设计与实现1593处理器包括噪声滤波器,压限器,均衡器和延时器.通信接口数据信号处理器是连接广播控制计算机和音频处理器,音频矩阵的设备,此外,它还能接收来自消防的ETA一485信号及内通交换机和智能遥控话筒(用于人工广播)的RS一232C信 号.音频矩阵连接各功放,AB楼矩阵各有8路语音及控制信号送到对方的功放,这样设计的目的是当某楼的矩阵及上层控制系统出现故障时,可通过另一座楼的矩阵对该楼功放进行输出,从而达到楼宇广播备份的效果.航管中央调度系统NTP时钟同步广播数据库(双机备份)fBDElIs舡n(E1.ent)里IAmt】I(自动,半自动语音广播)①②(自定义广播)⑨消防l联动l紧急/消防广播⑤RS一232Cl旦Q!!.智能遥控话筒ETA-485[}坚C_:.处理器II:=二=.l垦:翌II1LS一232Cr————————一RS.232C=数字语音l=!合成模块l_ii背景噪声检测音频处理器,音频矩阵f未注明类别均为音频信号)功放Il功放 图1广播系统结构框图声学设计和实施,采用"逐步向前倒推"设计策略.从声场开始,依次向前倒推至功率放大器,声处理系统,调音台,直至话筒和其他音源.系统支持七类广播;①自动广播,这是由中央主机服务器根据航班状态发生变化,自动触发的广播信息;②半自动广播,由播音员根据需要控制的自动广播,以上这两类均由RS一232C指令驱动数字信号处理器,这是机场广播的主要组成部分;③自定义广播,这是由计算机声卡输出录音拼接的音频广播语句,经选通后送入广播音频矩阵,这类广播主要用于应用频度较大,而指令控制广播不支持的文句;④人工广播,这是由播音员控制智能麦克风即时真人发音播出的信息,一般用于特殊或紧急广播;⑤紧急消防广播,该类广播与楼宇消防联动,按标准ETA一485信号接入数字信号处理器;⑥内通广播,这是由内通交换机支持的一种功能,它将广播点扩展到交换机每个终端,即拨打特定服务号码,就可对指定的分区进行广播;⑦背景音乐广播.3软件实现根据深圳机场特殊的应用需求,采用客户/服务器一对多的模式.将广播软件分为服务器端代理软件Agent和客户端图形界面软件Artisam.代理软件与集成接口MQ和数据库打交道,Artisam提供用户操作界面,并显示系统采集的告警信息.在自主设计的广播控制软件中包括以下技术改进,采用自定义描述语言,并设计了一个脚本解释执行器,动态生成自定义广播界面,实现了任意文句的即录播放;通过对机场特定语句汉语语音的研究,对语句拼接效果进行了改善;软件集成了对系统的告警监测和广播楼宇备份.这些措施改善了广播语音播放质量和提高了系统的稳定性. 3.1软件基本构架广播控制软件在系统结构中的位置如图1阴影所示.由于深圳机场的广播需要控制两个(今后还将有多个)航站楼,向上对航管调度系统应尽量归结到单一接口,以便于控制.采用客户/月艮务器(一对多)模式,将软件设计分为服务器端代理软件Agent和客户端图形界面软件Artisam两部分,代理软件Agent与调度系统和数据库打交道,向下为A,B楼两个Artisam实例提供服务,并可轻易扩充到更多的航站楼.Agent通过中间件MQ与调度系统相连接,该模块支持断线重联,当连接发生中断时,自动抛出消息驱动重联服务器.Agent为支持多客户服务对象,对每个航站楼GUI客户有如下描述:typeTAs—GUI=classpublicm—Socket:TCustomWinSocket;//连接套接字插件实例m—sBuf—Down:string;//收到下行指令缓冲(可能有多条)m—sBuf—Up:string;//上传指令缓冲end;Agent靠套接字插件识别不同客户端,发消息时遍历所有连接送信息到全部Artisam,依靠这一点Agent轻松实现了一对多的服务功能.图2Artisam广播监控窗口Agent还提供日志功能,记录下广播与调度系统问资料传送的历史,以备日后事故调查与责任分析.(包含发送接受巫l594小型微型计算机系统2006正消息的时间,消息内容,航班号和MQ错误日志) 前台用户操作界面由客户端软件Artisam提供,其主要功能为自动/半自动和自定义广播接口,并显示系统采集的告警信息.Artisam主界面如图2所示.窗口主体部分为航班动态表,可按照期望的字段排序,迅速定位航班.它支持按航班号,航空公司,始发,目的等多种方式查找,并支持模糊查找.目广播管理口)查询及统计∞?惜理口)'系统设置)?故障及性能管理【^)安全管系统帮助o【)垂注销系统员陈汉)F12关脲㈣图3Artisam开始菜单窗口右上部分为待发广播窗口,所有进入计划的广播按倒计时优先级排列,右下部分则显示已发广播列表,其中异常情况用颜色标识(无应答超时,广播指令出错).Artisam可方便地管理正在排队待播的信息,包括广播插队,删除,标识等.图3是开始菜单,从此进入各项管理功能.3.2广播发布逻辑自动/半自动广播均由软件控制,其发布逻辑正确与否直接决定机场广播是否准确可靠.正常情况:广播系统软件输出指令控制音频矩阵的行为完全受调度系统发出消息激励.广播系统控制软件维护一个队列,顺序存放准备输出的广播指令.典型的自动广播过程如下:调度系统发送航班动态表变化消息给服务器Agent,服务器更新数据库并根据航班状态字节是否变化通知客户端是否需要广播,Artisam收到需要广播的交互指令后与更新数据 库得到该航班最新资料,根据变化的航班状态计算出需要广播的文旬,播放次数及时间间隔,从而得到一个广播计划序列.消息更新时:航班进展状态将以调度新消息为准,于是队列中该航班尚未发出的指令将被清除,由新消息按规则生成新指令自动排列分插到队列中,最终按计划输出到音频矩阵.有时,新消息可能不触发广播指令,那么其效果相当于清除队列中该航班未发广播,例如:登机时由于旅客很快到齐而关闭飞机舱门,调度系统便发消息表示该航班状态已更改为"登机结束/准备起飞",这个状态按规则是不用广播的,于是仅表现为队列中未播完的登机广播被清除.操作员干预:繁忙的机场经常出现意外情况,如天气恶劣导致航班延误,大量延误广播将堆积在队列中,导致正常的广播得不到播出,此时操作员在Artisam软件上,根据需求整理队列,包括插队,删除多余广播.特别地,对已经送达硬件的广播指令,系统原本仅支持硬件切断,经与TOA工程师沟通,通过扩展指令集成到Artisam软件中,实现通过软件来切断正在播放的广播,很好地提高了广播队列管理操作的方便性.调度故障时:由于不能从调度服务器获得信息,广播软件无法再自动广播.遇到这种情况,广播播音员得到相应授权后,可自行编辑修改数据库,并运用半自动广播生成队列,从而实现广播的输出.在调度系统恢复后广播软件重新向调度系统刷新航班动态表整表,后转为由调度系统自动控制广播.3.3软件通信协议3.3.1广播与调度系统通信协议MQ深圳机场航班信息量大,每个航班在执行飞行任务时其进展状态也会随时变化,这些都需要调度系统即时将数据更新给广播系统,为确保底层消息传递体系结构的可靠性,采用IBMMQSeries中间件(市场占有率高达72,是消息中间 件的实际标准),通过TCP/IP网络进行通信.考虑到MQ编程接口复杂并需安装驱动,同时为使广播系统归结到唯一的对外消息接口,把MQ模块放在服务器软件Agent上,Agent和Artisam之间采用一种基于TCP/IP的交互指令来进行会话,因此Artisam很容易设计成无MQ的瘦客户端软件.调度系统将广播系统所需要数据发布至指定的MQ队列,Agent使用一个独立的线程从队列中获取消息.双方通讯各使用一个消息对列,另外调度系统还维护一个队列管理器.消息队列好比一个管道,MQ接口能可靠地将消息存放在管道中,直至对方依序将消息取走.也就是说,只要调度系统成功将消息发给了队列,MQ就能确保消息会被Agent收到,并在收到时回送消息给队列管理器,即使遇到Agent关机等异常也不会丢失消息,这点对于防止广播漏播消息非常重要.另一种异常是调度系统与MQ断开,因MQ还与广播系统连接正常,因此广播察觉不到异常而误以为该时段为无广播输出的航班空闲期.为此我们设计MQ接口传递调度工作状态,当无任何信息下发时,调度每隔一个间隔便会把信息"KeepAlive"以消息方式传给广播系统.Agent一旦超时未收到此消息,便会通过交互指令将信息送达Artisam用户窗口,这样广播操作员会被提醒立即通知维护人员检查该通信故障.3.3.2Agent与Artisam间交互指令服务器/客户机之间的通信采用TCP交互指令,在应用层通过应答机制来保障通信的可靠性.由于TCP协议本身是面向连接的,一旦网管故障连接断开,Artisam将立即告警.当某个连接出现故障,Agent会将未送出的消息放内存表中(储存区有足够上限),等连接恢复后,这些消息将被可靠地送往Artisam.有了这种机制,即使客户端软件异常退出,广播消息被保存在Agent服务器上,无须担心有任何遗失. 来自调度的MQ消息到达广播,会被Artisam按广播发布逻辑转换成一条或多条广播指令放到待发广播窗口(见3.1节),这是在Artisam内存中维护的队列,如软件关闭再重新运行,调度及Agent没有义务重发MQ消息,于是这些广播将丢失.为此我们在软件关闭前将广播待发广播队列保存到磁盘文件,每次打开软件时检查文件,发现有记录就将重新8期陈汉等:机场语音广播信息发布系统的设计与实现l595组织队列,避免了这种情况的发生.3.3.3Artisam控制硬件的广播指令这是面向数字信号处理器的RS.232C接口指令,负责将广播指令发送到硬件,驱动数字语音合成模块实现广播.发送指令协议如图4所示,其中空闲时的Xon指令起到KeepAlive作用,一旦串口通信故障,Artisam将产生告警.正常的指令是在Xon先导下一问一答进行的,考虑到串口通信的安全性,在拒绝,等待或丢失的情况下,均有相应的重发机制保证来保证指令可靠地送达TOA硬件系统.ArtisamTOA空闲正常拒绝DataWaitingData等待DataData丢失图4Artisam与T0A控制协议图每条计划播出的广播在Artisam中保存为指令对象,即使某条广播需重复多次,由于其播出行为具有独立性,故保存 为多个对象.广播指令对象定义如下:TSoundDirective=classpublicm—UID;string;//航班动态表关键字m一0utputTime:TDateTime;//计划发送时间m—Command—ID:Byte;//TOA指令索引m—ReSendTimes:Integer;//指令重发次数proceduremp—Output}//广播自行输出方法end;计划发送时间格式为绝对时间,在指令队列中发送时间是从前到的严格排序的,TDateTime类型是Double类型.整数部分表示自12/30/1899以来的天数,而小数部分是将不足一天的部分除以24小时,如上午6点是0.25.要计算判断是否该播出只需用当前时间与之相减即可.操作界面上针对每条广播显示的是待播剩余时间,并在不断地刷新倒计时显示,有时因广播堆积而超过了播出时间,相减值将为负数,在操作界面上一律显示为剩余时间为0o:OO,但根据时间来决定优先级时仍可比较时间数值大小,越负的优先级越高,这一比较方法在插队广播与取消广播中非常有效.广播指令发送流程图如图5所示,指令输出是个周期任务,每次进入任务后检查到队列中存在指令并允许发送,则会向TOA硬件发送指令并等待应答,在此过程中,Artisam将开始发送指令记录日志置禁止发送下一条YI l整妻冀雾指令重发计数器加1YT放弃指令记录异常,———/图5广播指令发送流程图启动超时定时器,在一个可设定的时间内没收到应答(超时)或应答错误,将进入异常处理流程,区分超时或错误分别有单独的计数器,在计数器有限次数内,将持续尝试重发,一旦超过计数上限,将抛出异常并记录错误日志.正确应答的广播将记入历史数据库.3.4系统告警检测就广播系统而言,无论是调度服务器,TOA系列硬件还是Agent服务器,虽然有维护人员值班巡检,但很多时候是无人值守的.广播系统任何一个环节发生故障,最终都可能导至广播信息不能正确发布,如出现错播漏播或延播信息,引起旅客投诉,将是十分有损机场形象的.为此,我们将以下几项重要设备运行状态作为系统告警监控集成到Artisam人机界面上:?调度系统状态:这个状态是通过接收调度系统"KeepAlive"消息维持的,一旦出现超时未收到消息,Artisam在状态栏上将以红色显示告警,指示调度系统故障.?代理状态:即Agent代理服务器运行状态,通过检测面向连接的TCP交互指令,一旦发生SocketErrer时,Arti— sam在状态栏上将以红色显示代理异常告警.?T0A状态:TOA会在空闲时向Artisam发送Xon帧,我们把它作为数字信号处理器存活的标志,一旦出现超时未收到消息,Artisam在状态栏上以红色显示"TOA"告警,这个时答/一鄱:器超应I条无一1596小型微型计算机系统2006正超时长短可在软件系统设置里调整以适应不同硬件.?楼宇备份:本文第2部分总体结构中提到AB楼广播备份,平时Artisam只处理本楼广播消息.当楼宇备份打开时,属于另一个楼的广播消息也被送达硬件,音频矩阵将它们送到连接至另一个楼的8条线路中去,这时,在屏幕上将以红色"楼备"告警显示.?广播指令应答:如3.3节3)所述,TOA指令应答有正常,错误和超时之分,对于异常的后两者,我们在处理重发的同时,将其错误以彩色高亮告警色条显示在以发广播列表中(见图2),提醒操作员引起注意并监视重发结果.以上告警信息直观地在屏幕上以不同颜色显示,异常时提醒相关人员察排故障恢复设备,使得Artisam不仅作为客户端软件执行广播控制功能,还能监视系统告警,大大缩短了硬件故障发现,处理时间,提高了广播系统的服务质量.3.5自定义广播的解释执行机场经常会用到一些非标准的消息,如因航班延误通知乘客领餐,乘车,寻人启事等,这类广播文句中含有可变化的字段.如直接人工广播,易受播音员水平及临场发挥等因素制约,影响播音质量.我们参照拼接语音合成技术,将自定义文 句折分成若干子句,支持带可变参数的文句拼接播放.为灵活实现自定义广播,并方便随时维护,我们设计了一种脚本语言来描述自定义广播界面,脚本存放在数据库中,可方便地增加,删除,修改需要的广播的文句.Artisam实现了一个脚本解释执行器,可动态地将自定义广播各文句对应的操作界面解释执行到对话框的一个页签里.结合机场广播文特征,经过分析和筛选,我们将脚本的[Field]子句分成以下四类:?Label:静态文本,表示一段固定不变的子句,Caption属性为子句文本,FileSpec属性为对应语音波形文件.?HBH:航班号,表示按民航格式标准定义的航班号子句,包括两位航空公司字母缩写,四位阿拉伯数字航班号,起始地名,经由地名,目的地名各一.?Edit:编辑框,表示可由操作者任意输入的文字(限英文和阿拉伯数字),对应的波形文件在缺省的路径下.?ComboBox:下拉选择框,表示可由操作者通过下拉框选择的子句,用Directory属性描述下拉框备选项,Default属性描述缺省值.例如,由这样几个这样Field组成的文句:[HBH1][Label1][ComboBox1][Label2][Edit1][Label3][ComboBox2][Label4]经解释执行,将得到如下各子句语音信息:(XX表示可变参数,在界面上可调整)[HBHI]:乘坐XX次航班,经由XX前往XX的旅客请注意:[Label1]:我们抱歉地通知,由于 [ComboBox1]:(天气/机械/航管/航路关闭/通讯/飞机晚到/航空公司/本场关闭…)[Label2]:的原因,您的航班不能按时起飞,现在请到[Edit1]:(XX)[Label3']:号服务柜台,凭登机牌领取[ComboBox2']:(免费餐食/免费饮料)[Label4]:谢谢!文句在播出前会自动检查各子句有无缺项,避免不完整的语句播出,[HBH1],[ComboBox1]等信息可由航班动态表中直接取出,无需另外填写,除非有意识地修改,而[Edit1']和[ComboBox2']均自动填写上次广播设定值或缺省值.实践应用显示这种灵活的自定义广播有着很高的使用频率,它在很大程度上替代人工广播弥补了标准广播的不足之处.4结论民航机场公共广播系统是面向广大旅客的服务系统,除了要求各分区广播音质清晰,声压满足指标外,更重要的是广播必须准确及时地发布,不允许漏播错播现象发生,这主要依靠广播控制软件的正确运作.本文所设计的系统,正是出于稳定可靠性考虑,运用C/S模式并采用可靠的通信协议,提供灵活的自定义广播并在软件中实现了对系统告警的检测,保证了广播信息可靠正确地发布.本系统在深圳机场正式运行一年多来,服务旅客超过2千万人次,实践证明该系统能满足大型民航机场公共广播系统服务要求,有力地促进机场的正常运作.References:[1]TheprojectconstructiondirectorofficeofShenZhenairport.In—structionbookoftechnicalspecificationofShenzhenairportbroadcastsystem[Z],2003,5. [2]CaiLian—hong,HuangDe—zhi,CaiRui,Basicandapplicationofmodemphonetictechnology[M].Beijing:TsingHuaUniversityPress,2003.11.[3]ZhengRen—jie,YinRen?kun,TaoYong—lei,Practicalsoftwareengineering(secondedition)[M].Beijing:TsingHuaUniversi—tyPress,2001,10.[4]GB/T4959—1995.Methodsofmeasurementfortheeharaeteris—ticsofsoundreinforcementinauditoria[S].[5]GB/T15485一I995,Aeoustics—methodsforthecalculationofthearticulationindexofspeech[S],[6]ICAO,CouncilofInternationalCivilAeronauticsOrganization,Internationalstandardandrecommendation(Accessories14.Aerodromes)[s].[7]MH/T1001—95,Standardofcivilaviationairportterminalbuildingbroadcastsentences[S].附中文参考文献:[1]机场工程建设指挥部.深圳机场广播系统技术规格说明书[z].2003,5.[z]蔡莲红,黄德智.蔡锐.现代语音技术基础与应用[M].北京:清华大学出版社,2003,l1.[3]郑人杰,殷人昆,陶永雷.实用软件工程(第二版)[M].北京:清华大学出版社,2001.[4]GB/T4959—1995厅堂扩声特性测量方法[s].[5]GB/T15485—1995.声学一语言清晰度指数的计算方法[s].[6]ICAO国际民航组织理事会.国际标准和建议措施(附件l4一机场)[s].[7]MH/T1001—95.民航机场候机楼广播用语规范[s].