一种嵌入式平台语音合成系统及其方法技术方案

技术编号:3044940 阅读:181 留言:0更新日期:2012-04-11 18:40
本发明专利技术的一种嵌入式平台语音合成系统及其方法,用于在嵌入式平台上进行文语转换,其包括:语音库,用于存储语音数据;算法库,调用与所输入的文本数据相对应的语音数据,并将所述语音数据合成为语音后输出,用于存储所述已合成语音的第一缓存单元和第二缓存单元;以及控制装置,用于控制所述第一缓存单元和所述第二缓存单元中已合成语音的读写。本发明专利技术通过设置片内缓冲单元,可以很好地解决在嵌入式平台上合成语音不连续的问题,较好的实现语音的实时播放效果,并且,本发明专利技术对于TTS系统的嵌入式环境移植具有良好的通用性。

【技术实现步骤摘要】

本专利技术涉及语音合成领域,尤其是涉及语音合成领域中的一种嵌入式 平台语音合成系统及其方法,其有利于消除语音合成系统移植到嵌入式平 台上出现的不连续现象。
技术介绍
语音合成系统是一种文语转化(Text To Speech, TTS)系统,是自动 将输入文字转换成语音输出,并尽量使输出的语音流畅、自然的一种技术。 近年来汉语语音合成技术取得了突飞猛进的发展,合成语音的可懂度和自 然度都有了较大提高,基于TTS技术的语音对话系统、语音呼叫中心、 语音触发的网站和电子邮件等业务已进入市场使用阶段。这些已经较为成 熟的运用于商业的语音合成系统,都采用了波形拼接的技术,因此,它们 有一些共同的特点。图1为现有技术中的语音合成系统的结构图,如图1所示,现有的语 音合成系统大致由两部分组成算法库和语音库。算法库用于将文字转换 成为语音库中目标语音的地址,并从语音库中读取目标语音,然后再对目 标语音进行解码、拼接、平滑等操作后得到合成的语音,最后按帧输 出所合成的语音;语音库用于存储目标语音的地址以及目标语音。所输入 文本的国标码(GB码)由串口送入,通过调用算法库中的函数,将GB 码映射为语音库地址表中对应项的目标语音的地址,然后根据此地址取得 对应项中的命令字,由算法库根据该命令字,在语音库语音数据区读取所 对应的语音数据,然后由算法库提供数据解码、连接和平滑等操作后,将 语音输出,然后按照语音采样时的固定速率通过D/A转换和功率放大播 放。而如何在手持移动终端、车载多媒体设备等嵌入式平台上实现文语转 化,成为TTS系统一个重要的发展方向。目前,语音合成系统一般采用 波形拼接的合成模式。相较参数合成和声道模型参数合成,这种模式在合 成清晰度和自然度方面有明显改善,音质也有很大提高,但这是以大规模 的语料库和复杂的搜索算法为代价的。在嵌入式环境下实现TTS系统,有限的资源成为制约语音合成质量的决定性因素。为了满足实时合成出可懂的较自然的语音,各TTS系统 均对大规模语料库进行了裁减,以降低对存储资源和搜索算法复杂度的要 求。这在很大程度上缓解了两者之间的矛盾,但是对很多嵌入式系统来说, 实现实时的语音合成功能仍然存在较大困难,合成语音经常会出现不连 续、有噪音漏字等现象。这就需要我们在实现过程中进行有效的设计,以 规避和隐藏这些影响合成质量的现象。对于语音合成系统,通过优化,其算法库的算法复杂度可远低于嵌入 式平台的处理能力,这为在嵌入式平台下实现语音合成系统提供了保证。 但是巨大的语音库和有限的嵌入式平台片内存储资源形成了冲突。为了解 决这一矛盾,各语音合成系统都在尽量保证语音质量的前提下,对语音库 进行了裁减。这大大降低了语音库的体积,但是,相对于片内存储器而言, 语音库仍远大于了它们的容量。所以在实现TTS系统的过程中,我们不 得不将语音库置于片外闪存(FLASH)中,需要对其进行操作时,嵌入式 平台的语音合成系统访问片外的FLASH获取数据。为了提高对FLASH 的访问速度,设置了高速缓充存储器(cache),处理器优先从cache中寻 找目标数据。由于对FLASH上的语音库操作的不连续性及随机性,会导 致高速缓冲存储器失误(cache miss),即cache中不存在需要的数据。这 样,就必须先从FLASH中将数据导入cache,然后再供嵌入式平台访问。 因此,频繁的访问FLASH容易造成某些语音帧的合成时间特别的长。表 1为语音合成系统在嵌入式平台下的合成时间测试结果(该测试仅针对合 成效率而做,即合成出的语音数据不作记录)。表l:嵌入式平台下语音合成系统测试结果<table>table see original document page 5</column></row><table>64ms9.1ms810msTEST-6391.0s64ms5.5ms738ms表1中的表示合成目标语音的总长度;r一Frawe表示一帧语 音的时间长度,即帧时长;71w表示合成一帧语音所需的平均时间; 7!max表示合成一帧语音所需的最大时间。很明显,从表l中数据可以看 出7!w似远大于r一m^,而且,随着合成文件的增大,最大合成时间迅 速增大。很明显,由于单帧的合成时间应小于帧时长r一Fram才能达到实时合成语音的目标。因此,从测试数据可以看出,单帧的平均合成时间r_we明显小于帧时长r一Frame,但是单帧的最大合成时间r_jnox却远大于帧时 长T^Pm附e。这样,在合成语音实时播放的过程中,就会出现不连续的断 点。断点的频繁出现,必将会影响听者对语音内容的理解。因此,如何 避免这些断点的出现,成为在嵌入式平台下实现TTS系统的关键。
技术实现思路
本专利技术要解决的技术问题是消除语音合成系统移植到嵌入式平台上 出现的不连续现象,提出了。为达到上述目的,本专利技术所提供的一种嵌入式平台语音合成系统,用 于在嵌入式平台上进行文语转换,包括语音库,用于存储语音数据;算 法库,调用与所输入的文本数据相对应的语音数据,并将所述语音数据合 成为语音后输出,其特点在于,所述系统还包括用于存储所述已合成语 音的第一缓存单元和第二缓存单元;以及控制装置,用于控制所述第一缓 存单元和所述第二缓存单元中已合成语音的读写。上述的系统,其特点在于,所述控制装置交替读写所述第一缓存单元 和所述第二缓存单元。上述的系统,其特点在于,所述第一缓存单元和第二缓存单元的每一 个的容量均包含多个帧,帧的数值满足关系式其中,r>me表示一帧语音的时间长度,m^表示单帧语音合成最大时间,^-w表示每帧语音的平均合成时间,w表示帧数。上述的系统,其特点在于,每帧语音的平均合成时间r^w小于一帧 语音的时间长度r>awe,且单帧语音合成最大时间r_mox大于一帧语音的时间长度ryrame。上述的系统,其特点在于,所述第一缓存单元和第二缓存单元的容量 相等。为实现上述目的,本专利技术还提供了一种嵌入式平台语音合成方法,用于在嵌入式平台上进行文语转换,包括步骤 设置一个语音库,用于存储语音数据;设置一个算法库,通过调用与所输入的文本数据相对应的语音数据, 将所述语音数据合成为语音后输出;设置第一缓存单元和第二缓存单元,用于存储所述已合成语音;以及设置一个控制装置,用于控制所述第一缓存单元和所述第二缓存单元 中已合成语音的读写。上述的方法,其特点在于,该设置一个控制装置以控制合成语音的读 写步骤还包括将该合成语音顺序地写入到第一缓存单元;读取第一缓存单元中的已合成语音;将该合成语音再顺序地写入到第二缓存单元中;读取该第二缓存单元中的已合成语音。上述的方法,其特点在于,如果判断该第一缓存单元被写满后,读取 第一缓存单元中的已合成语音的步骤和将该合成语音再顺序地写入到第 二缓存单元中的步骤是同时进行的。上述的方法,其特点在于,读取该第二缓存单元中的已合成语音的步 骤是在判断该第一缓存单元中的合成语音被全部读取和判断该第二缓存 单元被写满后执行的。上述的方法,其特点在于,如果判断该第一缓存单元的合成语音已被 全部读取时该第二缓存单元未被写满,该方法包括在输出第一缓存单元的 合成语音时,在句与句之间中断播放。上本文档来自技高网
...

【技术保护点】
一种嵌入式平台语音合成系统,用于在嵌入式平台上进行文语转换,包括:    语音库,用于存储语音数据;    算法库,调用与所输入的文本数据相对应的语音数据,并将所述语音数据合成为语音后输出,其特征在于,所述系统还包括:    用于存储所述已合成语音的第一缓存单元和第二缓存单元;以及    控制装置,用于控制所述第一缓存单元和所述第二缓存单元中已合成语音的读写。

【技术特征摘要】
1.一种嵌入式平台语音合成系统,用于在嵌入式平台上进行文语转换,包括语音库,用于存储语音数据;算法库,调用与所输入的文本数据相对应的语音数据,并将所述语音数据合成为语音后输出,其特征在于,所述系统还包括用于存储所述已合成语音的第一缓存单元和第二缓存单元;以及控制装置,用于控制所述第一缓存单元和所述第二缓存单元中已合成语音的读写。2. 如权利要求l所述的系统,其特征在于,所述控制装置交替读写所述第一缓存单元和所述第二缓存单元。3. 如权利要求2所述的系统,其特征在于,所述第一缓存单元和第二缓 存单元的每一个的容量均包含多个帧,帧的数值满足关系式<formula>formula see original document page 2</formula>其中,r/mwe表示一帧语音的时间长度,max表示单帧语音合成最大 时间,^-ve表示每帧语音的平均合成时间,W表示帧数。4. 如权利要求3所述的系统,其特征在于,每帧语音的平均合成时间r一m^ 小于一帧语音的时间长度rJ^wze,且单帧语音合成最大时间r一ma;c大于一帧 语音的时间长度rJhzme。5. 如权利要求3所述的系统,其特征在于,所述第一缓存单元和第二缓 存单元的容量相等。6. —种嵌入式平台语音合成方法,用于在嵌入式平台上进行文语转换, 包括步骤设置一个语音库,用于存储语音数据;设置一个算法库,通过调用与所输入的文本数据相对应的语音数据,将所述语音数据合成为语音后输出;设置第一缓存单元和第二缓存单元,用于存储所述已合成语音;以及 设置一个控制装置,用于控制所述第一缓存单元和所述第二缓存单元中已合成语音的读写。7. 如权利要求6所述的方...

【专利技术属性】
技术研发人员:徐磊
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1