空管模拟训练中指令的语音识别与合成技术研究

2013-08-14 00:54袁伟伟刘万凤
电子设计工程 2013年6期
关键词:文法模拟训练空管

袁伟伟 , 胡 军 ,2, 刘万凤

(1.南京航空航天大学 江苏 南京 210016;2.南京大学 江苏 南京 210093)

随着我国民航运输事业的快速发展,对培养高水平的空中交通管制(Air Traffic Control,ATC)人员的需要越来越大。其中陆空通话标准用语[1](ATC指令)的训练是空管模拟训练中的一个非常重要的内容。

文中对空管模拟训练的语音指令识别与合成技术问题进行了分析与研究,并基于开源语音识别引擎Sphinx-4[2]及语音合成引擎FreeTTS[3]设计并实现了一个可用于空管模拟训练的语音识别与合成软件系统AIRSS(ATC Instruction Recognition and Synthesis System).

1 空管模拟训练

空管模拟训练机是用来模拟真实的空中交通管制过程的仿真系统是训练管制学员和飞行学员的重要方法和有效措施。目前的空管模拟训练机架构都设有管制员席位和飞行员席位,管制学员的训练时间和训练效果难以有效保证。

统计资料显示,在飞行事故和不正常情况下,管制人员和飞行人员之间的通信用语错误造成的因素占65%。因此,陆空通话用语的规范、统一、无歧义对飞机飞行的安全有着非常重要的意义,对陆空通话标准用语进行训练也是模拟训练的重要内容。中国民航局参照国际民用航空组织的ATC用语手册制定了《空中交通无线电通话用语标准》(MH/T 4014-2003)(以下文中简称《标准》),其语法结构规范、无歧义、样本空间小且工作环境噪声低,比较适合采用语音识别技术。

2 ATC指令语音识别与合成中的关键问题

本节中首先分析了ATC指令的基本特征并给出指令格式的设计,然后给出了语言模型描述文法的设计,接下来对ATC指令中特殊发音的识别与合成进行了分析,然后说明了识别后处理的方法,以及多次应答语音合成技术。

2.1 ATC指令的基本特征分析

本文中所研究的ATC指令是 《标准》中所规定的标准ATC用语。在ATC指令的应用场景中,涉及到飞机的进近、航线飞行、地面滑行等多个飞行阶段,文中对《标准》中的ATC指令进行分析后,发现空中交通管制人员和飞行人员之间的典型通信用语遵循一定的格式,图1(a),图 1(b)给出了两条典型的ATC指令结构的树形特征分析。

图1 典型ATC指令树形结构的分析Fig.1 Analysis the representative ATC command in tree structure

因此,文中将一条完整的ATC指令格式设计为:

“航班呼号”+“管制区号”+“指令动作”+“动作状语”

其中,航班呼号表明接收ATC指令的航空器编号。如:Air China3915(CCA3915),China Eastern2501(CES2501)等 。管制区号由管制单位名和管制类别(均为字符串)组成。如Beijing Approach(北京进近管制)、Guangzhou Tower(广州塔台管制),等等。

指令动作和动作状语则用来表明具体的指令,一条指令中可以只包含一条指令动作和动作状语,如图1(a)简单指令中的increase speed和460,也可以包含多条指令动作和动作状语,如图 1(b)复合指令中的 turn left和 106、(hight)to 和1200 meters。

2.2 语言模型设计

语言模型是描述自然语言内在规律的数学模型,构造语言模型是语音识别必不可少的一部分。文中采用了基于文法的语言模型来进行ATC指令的语言描述。

语音识别引擎Sphinx-4描述基于文法的语言模型所使用的格式是 JSGF(JavaTM Speech API Grammar Format)[4]。 如图2中的示例是改变速度时ATC指令的核心JSGF文法描述示例。

语音识别引擎启动时自动加载定义的语言模型文法,将其转化为非确定有限自动机(NFA),并依据该自动机决定可识别的单词或语句。文中按飞行阶段的不同对ATC指令集进行了分类,设计多个文法文件,使得可以针对飞行的不同阶段加载不同的文法文件,提高语音识别的效率。如图3所示为进近管制阶段指令用语的JSGF文法模型的核心部分,其它阶段的文法模型从略。

图2 改变速度的ATC指令的文法描述示例Fig.2 An ATC command of change hight in BNF grammar example

图3 进近管制核心ATC指令的JSGF文法描述示例Fig.3 Core approach control ATC command in JSGF grammar example

2.3 特殊发音的识别与合成

在本文的工作中,语音引擎通过音素来定义声音,即:字母、单词和特殊发音之间的映射可以用音素的组合排列(即发音序列)来实现,使得语音识别引擎可以有效地识别特殊发音的字母、数字单词及其组合,语音合成引擎可以根据单词对应的因素合成语音。

以下给出陆空通话标准用语中主要的3类特殊发音及其发音序列的构造:

1)数字特殊发音的识别与合成:设计了8个核心的非常用发音的数字发音序列,加上Sphinx-4及FreeTTS发音字典中已存在的 zero,six,seven,hundred等4个单词及其发音序列,总共12个核心的数字发音序列用语语音的合成。

2)字母特殊发音的识别及合成处理:分别用ALPHA~ZULU等单词的发音来替换A~Z字母的发音,如航线代号BARC会被识别为Bravo Alpha Romeo Charlie。

3)专用名词发音的识别及合成处理:将部分单词汇集整理,并将发音序列添加到发音及合成字典中。如:ILS(仪表着陆系统)的发音为 I(AY)L(EH L)S(EH S)等。

2.4 多次应答合成处理

由于语音识别引擎所识别的语音输出结果只是一串由字母单词组成的字符串文本,不包含任何的结构与语义信息,无法直接作为模拟机服务器端处理所需的格式。

因此,本文首先对语音识别引擎所输出的文本字符串设计了一个处理过程,如图4所示。来自动生成结构化的消息。其基本思想为:以2.1节分析得出的ATC指令特征为基础,设计了一系列语义结构的分析与替换规则,使用JavaCC(Java Compiler Complier)构造基于这些规则的语法/词法分析器,自动生成结构化的消息。

又由于,大多数ATC指令还存在一次,二次应答语音指令合成的问题。如高度变化的指令:AA441 new york tower descend to 1200 meters,其一次应答合成语音指令为:new york tower AA441 descending to 1200 meters.所以,再次使用JavaCC来自动构造基于指令的一次应答和二次应答的语法/词法分析器,其过程如图4所示。

图4 JavaCC替换处理流程图Fig.4 Flow chart of replace in JAVACC

根据空管用语的应答要求,一次应答要求立即应答,二次应答要等到指令完成后再做应答,当二次应答与一次应答都要进行语音合成时,二次应答推迟到一次应答完成之后进行。对此,解决方案如下:

使用Java中的多线程来模拟多次应答,每一次应答启动一个线程。如图5所示。

图5 多次应答及冲突处理流程图Fig.5 Repetitious answer and conflict process flow chart

3 语音识别及合成系统AIRSS的设计及实现

在上述关键问题分析的基础上,基于语音识别引擎Sphinx-4及合成引擎FreeTTS,设计并实现了涵盖起飞、进近、着陆、航路飞行、地面滑行等多个不同空中交通管制场景的语音识别及合成系统AIRSS,其系统框架如图6所示。下面给出各个功能模块的说明:

1)语音信息的采集:其功能是监听麦克风的输入,采集管制学员的语音信息,作为语音识别引擎的识别输入。

图6 AIRSS的系统处理框图Fig.6 System process architecture in picture

2)初始化配置信息:主要实现系统初始化时,输入输出、发音字典、声学模型、系统运行等配置信息的加载。

3)语言模型配置:主要负责设计与配置不同飞行阶段的语言模型文法。

4)特殊发音的识别:主要解决ATC指令中特殊发音的问题。

5)多次应答处理:完成由上文中关于多次应答的处理功能。利用Java中的多线程技术完成多次应答的功能和多次应答冲突的处理。

4 实验及分析

在本节中给出了标准的ATC指令在AIRSS系统中应答响应时间及语音合成两个方面的实验及效果分析。分别使用100条具有一次应答和二次应答的ATC指令实验统计分析。一次应答的评价响应时间在1.5 s左右。个别二次应答的响应时间在2.9 s及以上,这主要是由于与当时的一次应答产生了冲突,推迟了应答响应的时间。所以应答的系统响应时间满足了系统的基本需求。

最后,使用语音引擎来替代人工机长席位,语音引擎的应答发音是否真实自然也是本模拟系统要考虑的重要方面。图7为一次应答指令:Air China niner one three two Nanjing approach turning left heading one four five.加入停顿前后的语音合成效果图。

图7 应答指令语音合成的发音停顿(前后对比)Fig.7 Answer command synthesis(no pause/with pause)

初始的模拟效果(如图7(a)),没有考虑到背景语义信息相关的节奏停顿(比如,航班号的停顿),发音不够自然;加入了停顿控制后(如图7(b)),可以看出,同样的发音命令,发音时常由5.2 s增加到了7.0 s,而声音的强度(纵坐标)并没有发生变化,已经具有了更加贴近真人发音的效果。

5 相关研究工作

目前,已经有不少软件系统使用了语音技术,其核心的语音识别引擎如IBM公司的ViaVoice[6]等。文献[6]中较早的给出了基于ViaVoice的一种空管模拟训练机的语音应用系统的设计方案,但缺乏核心问题的分析。文献[7-9]主要只是介绍语音识别技术语音识别文法的设计规则,缺乏语音训练模块的分析和设计。本文对系统的整个处理框架给出了详细的说明,并给出了AIRSS系统的设计与实现。在语音合成方面,解决了多次应答冲突处理的问题,而且加入了发音停顿控制,使得语音合成效果更自然更贴近真人发音。

6 结束语

文中对语音识别及合成技术在空管领域中的应用进行了研究,分析了语音识别及合成过程中空管指令的特征分析,语言模型的设计,特殊发音的识别与合成,及多次应答的处理方法等关键问题。在此基础上,以Sphinx-4及FreeTTS为核心设计并实现了一个AIRSS空管语音识别系统,并给出了相关ATC指令实验结果的统计和分析。

进一步的工作包括,陆空通话标准用语指令的扩充。本文工作中设计并实现的指令主要包括塔台管制用语、进近管制用语和区域管制用语中常用的指令,部分不常用的管制用语尚未添加(如:紧急情况处理等),下一步可以将这部分指令也添加到语音识别及合成系统中,以使整个系统更加完善。

[1]李京东,杨新湦,毛笑歌,等.MH/T 4014-2003.空中交通无线电通话用语[S].北京:中国民用航空总,2003.

[2]Walker W,Lamere P,Kwok P,et al.Sphinx-4:A flexible open source framework for speech recognition [R].Tech.Rep, TR-2004-139, Sun Microsystems Laboratories,November,2004.

[3]FreeTTS 1.2:A speech synthesizer written entirely in the JavaTM programming language[EB/OL].(2012).http://freetts.sourceforge.net/docs/index.php.

[4]Holland W.A Unified language Model architecture for Webbased speech recognition grammars[C]//2006 IEEE International Symposium on Signal Processing and Information Technology.2006, 294-299.http://java.sun.com/products/java-media/speech/forDevelopers/JSGF/.

[5]Glassfish Kenai Migration.JavaCC.[EB/OL].(2012-10).http://javacc.java.net/.

[6]徐肖豪.空管模拟机的IBM ViaVoice技术实现研究 [J].中国民航学院学报,2002,20(3):6-15.XU Xiao-hao.Research of ATC simulator based on IBM ViaVoice technology[J].Journal of Civil Aviation Flight University,2002,20(3):6-15.

[7]王丹霞.语音识别技术在DRS雷达模拟机系统中的实现[J].中国民航飞行学院学报,2006,17(2):31-34.WANG Dan-xia.The implementation of DRS radar simulator system based on speech recognition technology[J].Journal of Civil Aviation Flight University,2006,17(2):31-34.

[8]苏宝林.基于AVR单片机的语音识别系统设计[J].现代电子技术,2012(11):136-138.SU Bao-lin.Design of phonetic recognition system based on AVR[J].Modern Electronics Technique,2012(11):136-138.

[9]马跃,杨磊,王巍.嵌入式语音识别系统的设计与实现[J].现代电子技术,2010(5):121-124.MA Yue,YANG Lei,WANG Wei.Design and implementation of embedded speech recognition system[J].Modern Electronics Technique,2010(5):121-124.

猜你喜欢
文法模拟训练空管
解析民航空中交通管制安全及人为影响因素
民航空管2018年运行统计公报
民航空管气象视频会商系统应用研究
乙醇蒸气放空管设置室内引发爆炸
西夏文铜镜的真言文法与四臂观音像研究
模拟训练(二)
Similarity measurement method of high-dimensional data based on normalized net lattice subspace①
模拟训练(十一)
模拟训练(十)
A nearest neighbor search algorithm of high-dimensional data based on sequential NPsim matrix①