基于藏语的嵌入式语音播放系统
扫描二维码
随时随地手机看文章
当今,嵌入式系统已逐渐应用到各个领域,给人民群众的生活提供了极大的方便。但是基于藏语的嵌入式语音播放系统几乎没有,该项目的实施可以填补藏文文本语音播放系统的空白,同时对于推广藏语,提高少数民族同胞的生活、工作质量,促进少数民族事业发展都起到了很大的推动作用。
该系统包括藏文嵌入式输入法的设计与实现和藏文语音资源的处理两大部分,通过本项目的的实施,可以解决藏族同胞中有语言障碍者的交流问题,使其可以方便地将自己的想法通过键盘输入的方式变成藏文文本,进而可以通过该系统转化成声音,达到与正常人进行交流的目的,从而大大地改善和提高了他们的生活质量。
1 系统整体结构
本设计利用SPCE3200芯片进行开发,硬件上以开发板作为开发平台,利用PC机进行软件程序开发。SPCE3200嵌入式实验箱是凌阳科技大学计划推出的一款全功能32位开发学习系统,它基于S+Core架构32位微处理器SPCE3200,该处理器最大的特色是具有较强的多媒体处理能力。该核心板的设计基于开发考虑,配置简单,布局简洁明了,外设齐全,接口标准,扩展方便,可以较容易的实现本系统的字符输入、显示、语音播放功能,因此本设计采用SPCE3200作为主控芯片。根据各功能的需求,其系统硬件整体框图如图1所示。主要由SPCE3200主控板、TFT模块、Toueh Panel模块、语音资源播放模块组成。其中,TFTLCD即薄膜晶体管液晶显示器。在驱动方式上,与简单矩阵不同,它在液晶显示屏的每一个像素上都设置有一个薄膜晶体管大大提高了图像的质量(尺寸、)含有行驱动电路及数据驱动,可直接与多媒体处理器SPCE32 00的LCD控制器接口相连:Touch Panel模块利用SPCE3200获取触屏坐标,SPCE3200具有12位的ADC具有8个通用的A/D转换通道,通过电阻式获取触屏的标值;使用UFAT文件系统对SD卡进行读写文件操作,并通过AD和DA通道实现MP3的语音播放功能。
1.1 TFT_LCD模组简介
TFT LCD是Thin Film Transistor-Liquid Crystal Display的缩写,即薄膜晶体管液晶显示器。在驱动方式上,TFT LCD与无源TN LCD、STN LCD的简单矩阵不同,它在液晶显示屏的每一个像素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关。大大提高了图像质量(尺寸、色彩),控制起来也比较容易。TFT LCD模块的电路连接式如图2所示。
TFTLED主要由偏振片、滤色器基板、液晶、TFT基板、偏振片、背光源组成。通过改变R、G、B信号线上的电压,可以控制LCD的透光,使每一个像素呈现不同的颜色。按照时序,控制整屏的所有像素点就可以控制LCD显示。
内置于SPCE3200的TFT LCD接口能够支持对多种输入格式的TFT型LCD显示屏的控制,譬如DataEnable(DE)、Hsync/Vsync、16位并行RGB、8位delta RGB以及CCIR601/656等输入。LCD显示屏支持的分辨率为320(水平像素)x240(垂直像素),并支持NTSC/PAL显示格式。由于同步信号的位置及宽度都是可配置的,故可以满足各种规格的TFT LCD屏的要求。
本系统之所以选择TFT LCD模组是根据系统对图片显示的的需求和模组接口简单,应用方便。此外TFT LCD内置触屏接口,可以直接用来做触摸屏,是本系统的触屏与显示一体化。
1.2 Toueh Pannel模组简介
触摸屏(Touch Panel)是一种直接以触碰方式来达成输入指令的透明面板。SPCE3200具有12位的ADC具有8个通用的A/D转换通道,通过X2或者X1把接触点到Y1的电压输入SPCE3200的其中一个A/D通道,就可以计算获得纵坐标值,同样,通过Y1或者Y2把接触点到X2的电压输入其中一个A/D通过,就可以获得横坐标值。
实验箱上LCD大小为640 x480,最左端横坐标为0,最右端横坐标为639,最上端纵坐标为0。最下端纵坐标为479。假设屏上任意坐标点(x,y)的横向电压测得为Vx,纵向电压测得为Vy,其中:0≤x<640,0≤y<480,0≤Vx≤3.3 V,0≤Vy≤3.3 V。此时计算得到:
本系统是针对特殊人群设计的,考虑到操作的方便性和容易性,所以利用Touch Panel模组可以让使用者通过触摸屏实现各种功能。
1.3 语音播放模块——DAC
本系统语音的实现选择SPCE3200的MP3文件播放。硬件上依赖DAC进行输出播放;软件上主要通过MP3库解码器的API函数来实现,保证了语音输出的质量同时软件操作上也较容易。
SPCE3200有两路16位高速数模转换器,可以进行普通的D/A转换,也可以进行立体声语音播放。SPCE3200的DAC模块共有3个引脚:其中DAC_VREF为DAC参考电压输入引脚;DAC_CH0为DAC通道0信号输出引脚;DAC_CH1为DAC通道1信号输出引脚。SPCE3200的DAC模块有两路DAC通道(通道0和通道1),具有4级深度的FIFO Buffer(Buffer的大小可设置),可以编程设置DAC采样率,其中断机制和缓存区支持可使得语音播放更方便。其特性如下:
1)电压型输出;
2)16位精度;
3)共有两路DAC通道(通道0和通道1);
4)具有4级深度的FIFO Buffer,Buffer的大小可设置;
5)终端机制和缓冲区的支持使得利用DAC进行语音播放更方便。
2 输入键盘
本项目考虑到应用的复杂程度和系统资源分配,充分利用SPCE3200的多媒体特性,采用含37个按键的键盘来实现藏文字符以及数字和特殊符号的输入,界面直观,操作方便。
键盘的布局见图3所示,本实验将LCD液晶屏通过坐标测试分为主窗口、字符选择窗口和字符显示窗口。在键盘以图片形式在键盘主窗口显示,通过扫描函数以1~30号键作为藏文基本基字的存储键,然后利用软件将常用藏文字符存储到每个键下,从而实现藏文的触键输入。本设计以*号键作为藏文分隔符,以←_键作为取消键,以键作为确认键,以↑键作为上翻键,以↓键作为下翻键,从而实现了上翻、下翻、确认、删除、输入等功能。以34键作为#键用来存储数字符号和特殊的藏文符号,简单地实现数字特殊符号的输入。
3 软件部分设计
本项目是在充分利用SPCE3200嵌入式系统多媒体特性的基础上,结合藏族同胞的实际情况特别是藏族语言表达障碍人员设计的一款集藏文输入法与藏文语音播报为一体的系统,为藏语在嵌入式系统中的开发提供了思路,具有很强的使用价值和一定的推广前景。
软件设计如图4所示,程序运行后先初始化各变量和显示初始界面,然后进入主循环,显示选择菜单,通过扫描触键,并调用键值判断函数获得键值,当取消键被选择时,LCD界面显示取消本次操作,返回键盘扫描函数等待下一次操作。当确认键按下时,开始输入信息,通过触键、判断键值,然后选择调用相应的函数实现其功能。
3.1 藏文输入法的设计
自古以来,藏语言文字在藏族社会生活中占有很重要的地位。然而当今高科技电子时代藏文信息化处理技术的研发也越来越深入,藏文输入法对藏文信息化起着非常重要的作用,本系统是在嵌入式系统中设计的藏文输入法。藏文输入法的具体软件实现方法如下:
进入藏文输入函数后,首先将藏文信息数组和藏文存储数组清空,通过扫描按键,判断键值,通过测量按键下的藏文字符个数,获取相应按键下的藏文字符并复制到藏文存储数组中,然后调用藏文字符选择函数。当进入藏文字符选择函数后,首先测量存储数组的长度,依据测量调用数组显示函数,将该按键下的字符每页8个字在字符选择窗口的依次显示出来,通过上翻键和下翻键找到所需字符所在行时,按下确认键进行行锁定,选择光标会默认的指到该行的第一个藏文字符,然后通过上、下翻键对字符进行选择,当按下确认键时,即选中了光标所指的字符,按下确认键显示选中字符,计数器加1,藏文信息数组元素个数加1,同时光标后移一个字符,一个藏文字符的输入完成,程序返回输入循环开始,然后等待下一次按键按下,若确认键连续被按下两次则结束输入。在本系统中按下取消键就可直接结束本次输入。
4 藏文字符显示原理
在SPCE3200嵌入式系统中没有涉及藏文字符的显示,而且字模工具中也不能直接输入藏文,基于此,本系统利用凌阳的DM Tool工具制作了非标准大小的字模数据。独立的设计了藏文字符的显示原理。在本系统中,以点阵扫描原理来实现藏文字符的显示;先将组成藏文字符的所有基字在字模工具中转换成非标准大小的合适的字模数据(见图5)。然后转换成代码,通过相应的函数实现藏文的显示。字符在液晶显示器上的显示与字模工具中的显示相同,都是通过点阵实现的每一个小方格代表一个点白色为1,绿色为0;每一个点看作一个位。据此可以绘出符的位信息,采用列扫描的方式,每8位为一个字节,这样就得到了字模数据。
5 作品测试与展望
本系统在正常模式下工作性能稳定,触摸屏灵敏,系统响应速度快,藏文显示和播音符合藏族同胞的习惯,最终各项功能都能满足实际需要。通过触摸屏键盘实现“西藏大学工学院实验室”的藏语输入演示。