TTS在智能公交报站系统中的应用

2012-02-03 08:46仲元昌
自动化仪表 2012年8期
关键词:经度存储空间字节

黄 华 仲元昌

(西南大学工程技术学院1,重庆 400716;重庆大学通信工程学院2,重庆 400044)

TTS在智能公交报站系统中的应用

黄 华1仲元昌2

(西南大学工程技术学院1,重庆 400716;重庆大学通信工程学院2,重庆 400044)

在传统公交车报站系统中,采用“录音-存储-回放”的方法要求存储器的容量较大。为解决这一问题,结合GPS技术和TTS技术,设计了一种新型公交报站系统。该系统以TTS方式输出语音,使存储器存储的不是语音信号波形参数信息,而是播报语音汉字文本信息。试验结果表明,采用这种方式,存储空间只用到传统方式的17.1%,节省了存储空间。

文语转换(TTS) 智能报站 语音合成 GPS 存储器

0 引言

目前,公交报站系统有传统按键报站方式,有利用全球定位系统(global positioning system,GPS)定位报站方式[1],也有采用无线射频技术的公交线路站点识别的报站方式[2]。但是对于输出报站的语音都是采用“录音-存储-回放”的方式,即先对要报站的语音内容和广告内容进行录音,然后把它存储在Flash存储器中,当需要播放时就从存储器中读取相应的内容。这种方式的优点是输出语音质量较高,缺点在于当公交线路较长时需要存储的内容较多,Flash存储器的容量随之增加,成本也随之增加。

文语转换(text to speech,TTS)技术是将计算机自己产生的或外部输入的文字信息转变为可以听得懂的、流利的汉语口语输出的技术,隶属于语音合成[3]。文语转换是目前研究的一个新点课题。目前,对于嵌入式TTS的研究也有了较大的突破,已经由原来的单独一个词的语音合成输出,发展到了现在的短语、句子的语音合成输出;并且在多音字及特殊符号的识别、处理等方面都有了较大的提高[4]。

本文利用比较成熟的TTS技术,代替传统的“录音-存储-回放”方式,设计了一种新公交报站系统。这样,一方面不需要大容量的存储器,节约了成本;另一方面更改公交线路或广告内容时,只需要更改相应的文字信息,不需要重新录制,操作方便。

1 系统结构

系统主要由GPS接收模块、单片机主控制器、语音输出模块、扬声器等构成。系统的结构框图如图1所示。

图1 系统结构框图Fig.1 Structure of the system

系统中单片机为主控制机。由于GPS接收模块与单片机之间,以及TTS语音模块与单片机之间均采用串口通信,要求单片机至少具有两个串口,因此单片机选用STC10F10。另外,由于没有利用额外的存储器,公交线路和广告信息都存储于单片机的ROM中,因此这要求较大的ROM存储空间。根据试验选取4 kbit的存储空间,一般的单片机都能满足。

系统通过GPS接收模块获取公交车所在位置的纬度值和经度值,从而确定公交车当前位置[5],再经过一定的程序算法确定当前公交车的状态,包括进站状态、出站状态和运行状态三个状态。TTS语音输出模块根据相应的状态输出相应的语音信息。

2 硬件设计

2.1 TTS语音输出模块

语音播放电路利用中文语音合成芯片OSYN06188实现。语音播放电路如图2所示。

图2 语音播放电路图Fig.2 Voice playback circuit

OSYN06188可以通过异步串口接收待合成的文本,可直接通过脉宽调制(pulse width modulation,PWM)输出方式驱动扬声器,也可外接单支三极管驱动扬声器,即可实现文本到声音(TTS)的转换[5]。单片机以信息帧格式向TTS芯片发送命令码,对TTS芯片进行系统设置。TTS芯片根据命令码及参数进行相应操作,并向信息终端返回命令操作结果。本系统采用PWM输出直接驱动扬声器。

系统采用5 V直流电源供电。由于OSYN06188的核心电压(CVDD)只需要3 V左右的电压,所以将电源电压通过两个二极管降压(3 V左右)后提供给核心电压CVDD引脚。

单片机通过串口向OSYN06188发送命令、数据和接收语音合成芯片回传的信息。OSYN06188的第22脚为低电平请求Ready/Busy-Status引脚,低电平表示空闲,请求上位机发送数据,单片机可以采用查询或中断的方式发送数据。本系统设计将该引脚置空。单片机通过OSYN06188芯片回传的数据,经软件分析处理后了解芯片的工作状态。

2.2 GPS接收模块

GPS在车载终端上有较大的应用前景,也有大量有关GPS在车辆导航及公交报站中的应用的文献[1-2]。GPS接收机接收卫星发出的信号,经过计算处理就可报告GPS接收机的位置、时间和运动状态,通过三角定位原理可计算出车辆当前所处的经度、纬度、时间、速度和航向[6]。GPS在接收机数据输出的方式有串口RS-232方式输出、USB方式输出。

系统采用的GPS接收模块是SUN-SF5032。该模块工作电压为5 V,与单片机之间采用异步串行通信方式,速率为9 600 bit/s,每帧包括8个数据位、1位停止位,无奇偶校验位。数据格式采用NMEA-0183格式,输出数据采用ASCI码字符,内容包含了纬度、经度、速度、日期、航向及卫星状况等信息[7]。以1帧/s的速率依次输出完整的数据格式如下:

$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>,*<13><CR><LF>

其中:<1>表示世界标准时间(UTC),24 h制,格式为hhmmss.ss;<2>表示纬度值,格式为 ddmm.mmmm;<3>表示南北半球,N表示北纬,S表示南纬;<4>表示经度值,格式为dddmm.mmmm;<5>表示东西半球,E表示东经,W表示西经;<6>表示定位质量指示,0表示固定不变,1表示可变定位标准定位系统(standard positioning system,SPS)模式,2表示差分GPS模式;<7>表示使用的卫星数。

对于公交报站系统,我们只需要从GPS模块中读出标准时间、经度和纬度,然后通过软件计算得出当前点距离站点的距离,从而确定当前公交车的状态。

3 软件设计

3.1 主程序设计

主程序设计主要包括两大部分程序设计,即从GPS模块读出定位信息和播放相应语音。单片机通过串口读出GPS模块中的数据,通过分析NMEA-0183数据字段得出经度值和纬度值。

软件处理主要包括计算当前点距离公交站点的距离以及确定当前的行驶方向,然后通过查表的方式确定公交车的当前状态。主程序设计流程图如图3所示。

图3 主程序流程图Fig.3 Flowchart of the main program

单片机以1次/s的速率读取GPS的数据,然后利用式(1)计算与起点站之间的距离。

式中:λA和ΦA分别为A点的经度和纬度;λB和ΦB分别为B点的经度和纬度;D为距离。

3.2 语音存储及播报程序设计

公交车在每两个站点之间的运行要经历到站、出站和运行3个状态[8]:①到站,播报到站信息;②出站,播报出站台信息;③运行,介绍行车沿途的城市风貌、播放广告、预报下站站名等。

每一种状态需要播放的话音信息如表1所示。

表1 公交运行状态及播放语音信息Tab.1 Bus running status and voice message broadcast

公交运行线路先存储在单片机的内部ROM中。单片机与语音合成芯片通信应严格遵守语音芯片的通信协议。

每个信息帧最多56个字节:第一个字节为开始字节0x01,第二、三、四个字节为参数描述字节,后面最多跟着50个数据字节;0x04为结束字节;最后一个字节为发送异或校验字节[9-10]。

当要进行播放时,单片机首先从存储器中取出要播放的文本,再根据参数设置要求,设置好第二、三、四三个参数描述字节;然后将所有字节相异或,生成校验字节;最后通过串口向TTS芯片发送。当TTS芯片收到字节后会向信息终端传输回应帧,每个回应帧共回送3个字节。

① 若收到0x01、0x11、0x04三个字节,表示接收校验成功;

② 若收到0x01、0x10、0x04三个字节,表示接收校验失败;

③ 若收到0x01、0x12、0x04三个字节,表示全部播音完成。

其中,第一个字节0x01表示回送开始,第二个字节表示接收校验成功或失败或播完,第三个字节0x04表示回送结束。若单片机接收校验失败,则重新发送刚才的内容。

4 试验测试结果

本次试验以重庆市北碚区892公交运行线路为例。892公交沿途路线为:市九医院-和平路口-北碚车站-北碚区门诊-西南大学-双柏树高速路口-308厂。将各站点的经度、纬度存储于单片机的ROM中,存储内容如表2所示。

表2 892线路各站点经度纬度Tab.2 The latitude and longitude of each stop of line 892

由表2可见,当公交车由市九医院站点开往308厂方向时,经度值减少,反之则经度值增加。在程序设计时,可以利用线路特点简化程序设计。为了利用表1判别当前公交状态,在程序中利用两个变量分别存储前一时刻从GPS模块读出的经度值和纬度值,以及当前时刻的经度值和纬度值。首先根据经度值的变化方向(增加、减小),确定公交车的运行方向;再计算当前点到前一站点和下一站点的距离,确定现在公交车是在运行状态、进站状态还是出站状态;最后根据相应的状态调用相应的语音信息,通过TTS模块播放[11]。

与采用“录音-存储-回放”传统的公交系统相比,系统存储节省的空间计算如下。对于本线路播报的站语音信息和广告信息共用时间大约为30 s。如果采用64 kbit/s的采样速率以脉码调制(pulse code modulation,PCM)方式进行录音存储[9],则需要的存储空间为64 kbit/s×8×60=30 720 kbit,大约需要30 MB的存储空间。而本系统将播报的内容以文本形式存储在存储器中,一个汉字在存储器中要占用2 B的空间,系统需要播报的内容共有264个汉字,存储空间仅需要528 B。相比存储空间只用到传统方式的17.1%,节省了存储空间。

5 结束语

本系统利用GPS技术使站点识别、公交运行状态查询实现了自动化,不需要驾驶员通过按键来确定播放相应的语音内容;利用TTS技术将原来对语音信号波形直接进行的录音存储方式,改为存储要播放的语音文本信息,大大节省了存储空间。在今后的研究中可以进一步利用TTS播放语音的一些优点,对语音信号进行控制。如当环境噪声较大时,可以控制TTS模块提高输出语音的音量,或者改变播放的语音速率,使报站系统进一步完善。

[1]许连华,李学庆.基于GPS的公交车自动报站系统[J].计算机工程,2005,31(23):191-192,218.

[2]曹云川,周遐,金瑞.公交车自动报站器设计[J].昆明理工大学学报:理工版,2009,34(3):44-47.

[3]吕士楠.TTS技术的发展和展望[C]∥第六届全国人机语音通讯学术会议,2001:33-37.

[4] Acero A.An overview of text-to-speech synthesis[C]∥Proceedings of IEEE Workshop on Speech Coding,Delavan,USA,2000:1.

[5]张勤,李家权.GPS测量原理及应用[M].北京:科学出版社.2005:220-266.

[6] 周应军.智能交通系统ITS概述[J].汽车与配件,2003,37:26-28.

[7]黄金明.基于ARM9的公交车智能报站系统的设计[J].自动化仪表,2008,29(6):53-55.

[8]林绿洲,陆起涌.基于GPS与GPRS的公交智能监控系统[J].仪器仪表学报,2006,27(6):561-563.

[9]吴杰,张保平.ISD4004芯片在现场录放音系统中的应用[J].微处理机,2004(4):60-62.

[10]毕晓君,静广宇,徐先锋.利用TTS技术实现文本文件的语音合成[J].计算机应用,2004,23(9):49-50.

[11]黄华,仲元昌,胡江坤,等.中文语音合成系统语音速率调节方法[J].西南大学学报:自然科学版,2011,33(3):153-157.

Application of TTS in Intelligent Bus Stop Announcement System for Public Transportation

In traditional bus stop announcement systems for public transportation,the method of“record-storage-playback”needs large capacity memory,to solve this problem,a new bus stop announcement system using GPS and TTS(text-to-speech)technologies is designed.With this method,in the memory,the text messages to be broadcasted are stored instead of the parameters information of the waveforms of voice signals.The experimental results show that only 17.1%of the storage space of traditional method is requested,thus the storage space is saved.

Text to speech(TTS)Intelligent announcementSpeech synthesis Global positioning system(GPS)Memory

TN912+.33

A

西南大学第四届教育教学改革研究基金资助项目(编号:2010JY015)。

修改稿收到日期:2012-01-24。

黄华(1981-),男,2011年毕业于重庆大学电路与系统专业,获硕士学位,讲师;主要从事语音合成与电路系统方面的研究。

行业信息

猜你喜欢
经度存储空间字节
基于多种群协同进化算法的数据并行聚类算法
No.8 字节跳动将推出独立出口电商APP
苹果订阅捆绑服务Apple One正式上线
对时差计算方法的探讨
用好Windows 10保留的存储空间
No.10 “字节跳动手机”要来了?
轻量级分组密码Midori64的积分攻击
人类进入“泽它时代”
巧用规律妙解“日期变更题”
如何计算地方时