概述:论述在一款集成传呼功用的二合一PDA体系中,运用嵌入式处理器EP7211完结个人传呼信息的实时语音组成和播映的功用,首要包含字符语音库的树立、字符语音组成骄傲和Cdec语音中止服务例程等3部分。
PDA(Personal Digital Assitant,个人数字助理)是近年来继寻呼机和移动电话之后,在国内商场敏捷兴起的便携式电子产品。就其扩展含义来讲,它能够集成移动核算、电话和网络等多种功用。依据不同的运用需求,它能够办理个人信息、供给手刺存储和日程安排,也能够接纳各种寻呼信息(如股市、天气预报等)。如果是集成通讯模块,
还能够作为移动电话运用,进行无线网络互联。广义的PDA包含简略的电子记事本、电子辞典和功用强大的掌上电脑,它们的首要差异表现在操作体系、存储才能、运算速度和数据交换才能等方面。
目前国内传统PDA产品经过几年的高速开展后,商场根据饱满,销售额呈现负增长。不过因为PDA产品的灵活性,有针对性的职业运用作为一个新亮点,开端为人们所重视。经过职业运用尾后的PDA产品,现已在国内商场大显神通。文曲星展示超强的言语释译才能,比较合适于大学生和言语翻译者运用;蓝火系列能实时接纳股市信息和专家点评,合适工薪阶层的炒股者。国家信息产业部现已鼓舞PDA产品在交通、警务、稳妥等范畴的职业运用和推行。
剖析商场需求,咱们研发了集成传呼功用的、专门面向铁路交通职业运用的铁路交通讯息体系PDA。本PDA体系除了具有传统PDA的个人手刺办理和辞典检索等功用外,一起供给交通职业运用的民航航班查询、铁路列车时刻表查询等功用。
本PDA的寻呼体系完结如下功用:能够经过寻呼对列车时刻表、列车晚点信息、列车剩票额、股道信息等职业数据进行动态更新。作为另一个特征,当接纳到个人寻呼时,能够将寻呼内容实时地转化成语音并播映。
下面要点介绍本PDA体系中运用嵌入式处理吕EP7211完结个寻呼内容的实时语音转化和播映。该功用的完结包含前后相关的3个部分:字符语音库的树立、字符的语音组成算法和Codec语音中止服务例程。
1 完结条件和要求
PDA归于嵌入式运用体系,其同一般PC机有很大不同。硬件方面,嵌入式处理器根据RISC体系结构,一般作业频率在几十MHz,乃至更低;体系内存容量一般在几百KB~几MB之间;一般运用容量小的ROM或许Flash作为硬盘来存储可执行程序序和数据。软件方面,PDA体系一般有专用的嵌入式操作体系和软件开发调试移植环境。
个人传呼信息的特色是单条传呼信息长度改变较大,20~50个字符不等。最为常见的是“请回电话***”;传呼信息涉及到的字符数量较大,字符语音组成时运算量大,单字符组成后语音数据占用的存储空间多;需求事前树立字符语音库等。
因为详细硬件环境的约束、传呼信息的特色和语音组成的要求,该功用能够完结的条件有:语音库占用的空间小;字符组成时速度更快;选用前台进行字符语音组成时,今后台中止方法进行组成语音的播映来保证其实时性和连续性。
2 详细完结
下面别离介绍字符语音库的树立、字符语音组成算法、本PDA体系的框架结构和语音中止服务例程。
2.1 树立字符语音库
咱们选用G.729语音紧缩编码规范来树立语音库。该规范选用的算法是共轭结构的代数码鼓励线性猜测(CS-ACELP),是根据CELP(码鼓励线性猜测)编码模型的算法。这种编码规范的严厉性使功能到达或超过了32Kbps的G.726 ADPCM编码,具有很高的语音质量;一起,它是在语音信号8KHz取样的基础上得到16bit线性PCM后进行编码的,紧缩后的数据速率仅为8Kbps,具有相当于8:1的高紧缩率。其算法推迟少于16ms。因为G.726编解码器能够完结很高的语音质量和很低的算法延时,因而被广泛地运用。
字符语音库是一个单字发音语音数据的调集,中段数据之间彼此独立,不具有相关性。语音库包含了国标一、二级字库中的一切6763个汉字、10个阿拉伯数字和26个英文字符的规范普通话语音数据。每个汉字或字符发音时长为0.65s,选用8KHz抽样频率,运用了G.729A语音编码算法对上述的语音数据进行紧缩,紧缩后数据速率为8Kbps,相当于具有8:1的高紧缩率。在汉字中,同音字占了相当大的份额,而在语音组成中关于同音字的处理是没有差异的,故近7000个汉字,咱们只存储1123个不同的发音。经过同音字处理和选用G.729规范紧缩字符语音数据,则终究树立的语音库文件巨细为729 950字节,完全符合本PDA体系的数据存储要求;不然,语音库数据量太大,本PDA体系不能承受!
树立一个语音紧缩数据库的详细步骤如下:
*将数字和常用汉字的规范发音独登时录入到数据文件中,作为基础数据。运用cooledit2000软件完结语音的录入。
*关于输入数据,依照每帧10ms(80个样点)的长度,将A_law语音经过简略换算变成16bit PCM数据,作为编码算法的输入。
*依照G.729A算法规范,对数据进行编码。
*将编码后的数据转化为二进制比特流,写入语音库文件中。紧缩后数据速率为8Kbps,具有相当于8:1的高紧缩率。
用C言语完结这一进程的程序流程如图1所示。
字符语音库的树立是在Windows渠道及Visual C++编程环境下完结的,终究紧缩处理后数据量的巨细为729 950字节,每个字符语音数据的巨细是650字节。
2.2 语音组成
当收到个人传呼信息时,语音组成程序首要从指定方位获取传呼信息数据,然后在语音库中查找每个汉字、阿拉伯数字或许英文字符的发音,重组一个数据文件。解码程序对该文件进行解码而且输出原始语音。语音组成流程如图2所示。
语音组成进程首要是当时字符在语音库的定位。关于10个阿拉伯数字和26个英文字符,将其放在语音库最初。这些字符的查找比较便利。汉字是2字节存储,咱们依居其区位码来作为语音库中的定位索引。字符语音检索完毕后的语音紧缩数据作为该字符解码进程的输入。
数据解码进程能够分为参数解码和重构信号后处理2部分。首要要从输入的数据中提取参数符号,对这些符号解码之后,能够获得相应于10ms话音帧的编码器参数。这些参数包含线性猜测系数、自适应码本矢量、固定码本矢量以及它们的增益。解码之后的参数用来核算重建语音信号。得到重构语音信号只要经过后处理进程来对该信号进行扩展,包含后向滤波、高通滤波以及按份额因子扩展,最终得到原始的语音数据。
字符解码器原理如图3所示。