具有语音合成功能的嵌入式车载通讯终端的设计
2017-08-07
现阶段,许多机动车辆都安装了车载终端。它主要用于车载导航、车辆调度、车载监控等。而许多终端设备是依靠手工操作显示终端来完成的,如驾驶员查看车辆调度中心或朋友发来的重要短消息。查看导航终端的地图等。这样就导致司机开车时不能专心,其直接后果可能导致严重的交通事故。
语音交流是人类最自然的交流方式,如果车载终端的很多操作可由实时的语音来代替的话,将有利于减少交通事故的发生率。例如,GSMModem收到短消息,司机不用手动查看。语音合成系统可以自动播报出来;可以实时地提示司机行驶的方向与路名;可以实时地将交通状况播报出来。让驾驶员了解当前交通状况,通过了解道路交通拥堵的实时信息,从而避开拥堵路段,更快到达目的地等。语音合功能成的车载终端可提高车载终端的智能性、车辆驾驶的安全性和舒适性,使用户使用起来更加方便,更具有人性化。
2 语音合成及GSM M0dem
2.1 语音合成技术
语音合成技术是利用计算机、智能系统等设备,按预定的程序和指令,人为产生音素、音节、词和句子的技术。
目前,语音合成技术已发展到能实时地将任意文本转换成连续可懂的自然语句输出,相应技术通常称为文语合成或文语转换(Text To Speech,简称TTS),涉及到声学、语言学、语音数字信号处理技术、多媒体技术等多个学科。文语合成的原理:根据韵律建模的结果,从原始语音库中取出相应的语音基元,利用特定的语音合成技术对语音基元进行韵律特性的调整和修改,最终合成出符合实际的语音。
2.2 语音合成模块
本设计采用安徽中科大讯飞信息科技有限公司研发的一款高端中文语音合成模块XF-S4240。该模块可通过UART、SPI和12C三种接口接收待合成的文本,直接合成为语音输出(Line out)。
该模块采用。InterSound4.0 KT系统作为模块内核,一个是轻量级中文连续语音合成系统。
XF-S4240模块的特点如下:支持任意中文文本的合成。支持英文字母的合成,遇到英文单词时按字母方式发音;支持四种内码格式:GB2312(简体中文编码)、GBK(国家标准扩展编码)、Unicode(字符编码)、Big5(繁体中文编码);具有双发音人:男声、女声;具有智能的文本分析处理算法,可正确识别和处理数值、号码、时间日期及一些常用的度量衡符号,具备较强多音字处理和中文姓氏处理能力;支持软件调节语速、语调、音量等。 2.3 GSM Modem。GSM Modem是继GSM手机后又一种非常重要的GSM移动通信系统的终端设备。GSM Modem作为一种主要的GSM网络接入设备,它是传统调制解调器与GSM无线移动通信系统相结合的一种数据终端设备,因此也叫无线调制解调器。它的出现打开了GSM网络数据通信及其应用的大门。本设计采用西门子公司生产的第三代GSM双频ModemTC35i,该模块可广泛应用于POS终端、手持式设备、移动电脑、无线电话、交通控制和导航系统、快速管理安全系统、远程监视、远程抄表、自动售卖机等系统。
3 车载终端的硬件设计
系统硬件是以广州周立功单片机发展有限公司的ARM7系列Smart ARM2200嵌入式平台为基础。平台主控制器采用飞利浦公司生产的16/32位ARM7TDMI-S微控制器IPC2210,它具有丰富的外部接口,例如工业标准的UART、高速的I2C接口(400 kb/s)、SPI接口、A/D转换接口等,可以方便地与其他外设互连。
系统底层软件采用μCliunx内核,该内核是针对微控制领域而设计的Linux系统,适合无内存管理单元(MMU)的微控制器。
XF-S4240模块可通过UART、SPI和I2C接口实现与其他终端设备的通讯。本系统设计利用SmartARM2200嵌入式平台的I2C接口与XF-S4240的12C接口进行通讯。XF-S4240设置为从设备,默认地址为0x80,Smart ARM2200设置为主设备。GSM Modem则通过标准UART口与SmartARM2200嵌入式系统的通用串口2连接。
4 软件设计
4.1 语音模块合成的通讯协议
无论XF-S4240采用UART、SPI还是I2C与其他智能系统连接,语音合成模块的上层通讯协议是相同的,下面将介绍语音合成的控制命令。
发送给XF-S4240的所有命令与数据均采用"帧"的方式进行数据封装后传输。
其中,帧头长度为一个字节,定义为16进制"0xFD";数据区长度占两个字节,高字节在前,低字节在后。数据区长度不定,但须小于1 024个字节。数据区包含命令字、命令参数和合成的语音信息。
此帧的含义:0xFD表示帧头,0x00 0x0A表示数据区长度为10个字节。0x01表示语音合成命令,0x00表示文本格式为GB2312,剩余的16进制编码为中山大学的GB2312编码[3]。
4.2 TC35i GSM Modem的通讯协议
TC35i GSM Modem与其他终端采用通用串行接口进行通讯,通讯协议采用AT指令集。本设计主要读取GSM Modem的短消息。而与短消息收发有关的规范主要包括GSM 03.38,GSM 03.40和GSM07.05。前两者重点描述的是SMS技术实现(编码方式),后者规定了SMS的DTE-DCE接口标准(AT命令集)。AT指令是以AT为开头,如AT+CMGL=0(GSM 07.05版本)表示读取最新收到的短消息,AT+CMGC表示发出一条短消息等。
短消息共有3种接收与发送模式:Block Mode(块模式),Text Mode(文本模式)和PDU Mode(PDU模式)。PDU模式最常用,支持所有手机,可以使用任何字符集。下面给出一个PDU模式下的ASCII串,其短消息中心号码(SMSC)是+8613800200500,发送者号码是13826468897.消息内容是"中山大学",则通过读取它的"PDU串"是:"08 9l 68 3l 0820 00 05 F0 04 0D 91 68 31 28 46 86 98 F7 00 0860 30 02 11 82 21 80 08 D0 D6 BD C9 F3 B4 A7D1"。通过以上这个PDU串得知.要得到需要的用户信息就必须对"PDU串"进行解码。下面给出"PDU串"解码的数据结构。
4.3 应用程序的设计与流程
嵌入式平台SmartARM220的应用程序是运行于μCliunx内核之上,应用程序不能直接对硬件操作。为了实现硬件与外部设备通讯,必须调用相应的设备驱动程序。本文主要涉及UART驱动、I2C驱动,嵌入式驱动程序的设计方法在这里省略。
5 结束语
基于语音合成技术和语音模块XF-S4240的车载终端可广泛应用于导航系统、车载调度、车载监控等。由于该技术的通用性,它还可应用于其他需要语音合成技术的场合,如排队叫号系统,公交报站器等。目前语音识别技术虽已取得很大的成绩,但效果不如语音合成技术,相信不久人们就可利用更加先进的语音技术自然地与机器进行交流!