语音性别变换的实时实现.doc_第1页
语音性别变换的实时实现.doc_第2页
语音性别变换的实时实现.doc_第3页
语音性别变换的实时实现.doc_第4页
语音性别变换的实时实现.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

909-108语音性别变换的实时实现陆成刚(浙江工业大学理学院应用数学系,浙江省,杭州市,邮编310023)摘 要:语音性别变换是网络聊天、数字娱乐和安全领域中的热门课题。本文讨论一个性别变声方案的高性能算法的实时实现,主要有三个特点:1)基于间接控制的PSOLA方法;2)动态调整的信号处理流程;3)低复杂度、低延时,可在嵌入式系统上实时实现。 关键词:重采样,基频检测,基音标注,基频移动,反混淆滤波 A Real-Time Realization of Voice Gender ChangerChenggang Lu(The department of mathematics, The college of science, Zhejiang Industrial University,Hangzhou,310023)Abstract:Voice gender transformation is one hot topic in networks talking, digital entertainment, and security communication. This paper discusses a Real-Time Realization of Voice Gender Changer in high performance, as has three advantages: 1) an indirect controlling mechanism in PSOLA involved; 2)dynamic sequence of signal processing modules; 3) low complexity and low delay, ease of running in embedded system.Key Words: Re-sampler, pitch detection, pitch marker, pitch shift, anti-aliasing filter(注:作者通信地址:杭州西湖区文新街道康乐新村11602室 邮编310013)1. 前言作者简介:陆成刚、1973年生、男、博士、从事信号处理和机器学习方向的研究;不同于特定目标人变声1,语音性别变换的主要任务是对语音进行某种变换使之产生性别变化的特效,例如在男声、女声、老年人声和童声之间互相转换,达到伪装的效果。语音变换在数字娱乐领域有着很广泛的应用2。例如一些有名的商用软件AVVCS、Vodi或开源软件SoundTouch等就已经实现了这样的功能,国际权威的语音科学软件Praat也有这样的功能。在电信领域,已经有运营商开展了这项称之为“魔话”或“彩话”的业务,甚至一些通信终端设计商也瞄准这个应用在手机上实现变声软件的功能3。在业界,Praat被公认为实现了一个优秀变声效果的系统,但是它有两个缺陷,一、它的基频检测模块复杂度较高、基于动态规划的后端处理需要较多的语音延时,经过实测,在ARM7系统上,该模块需要800多MIPS,这是成为嵌入式实现的制约瓶颈,而它的延时一般在百毫秒级别,不利于实时语音通信;二、它的实现不是基于帧的,是离线的,其PSOLA直接控制模式如果应用到实时系统,获得长期稳定的高质量语音比较困难,这一点下文有详细的剖析。其他产品或系统如AV VCS等几乎都是基于类似相位声码器的基频移动(pitch shift),附加后端均衡器调制的原理实现的;还有一些系统如SoundTouch等,是通过WSOLA变速和重采样(re-sampler)变调实现的,以上两个方法在理论上是等价的。这一类方法和Praat所基于的方法的不同之处是不需要做基频检测,因而没有用到PSOLA合成,好处是更容易获得稳定的高质量语音,但是处理的变声效果则显得有一点卡通化、缺乏真实感和自然度。Vodi是一款实现原理类似于Praat的商用软件,并且是实时实现的,在22050赫兹采样频率下,男声变女声的处理在普通P4-3G机器上的CPU占用率高达80左右,系统开销高于Praat。表1是各类系统的一个比较。表1 各类系统的比较原理实时性变声效果语音质量PraatPSOLA离线好,真实、自然好SoundTouchWSOLA实时较好,有一点卡通化好AVVCS基频移动和后端均衡处理实时较好,有一点卡通化好VoDiPSOLA实时好,真实、自然好2变声原理语音科学家将人类发声过程视作一个由声门源输送的气流经以声道、口、鼻腔组成的滤波器调制而成的4。人类语音可分为有声语音和无声语音,前者是由声带振动激励的脉冲信号经声腔调制变成不同的音,它是人类语言中元音的基础,声带振动的频率称为基频。无声语音则是声带保持开启状态,禁止振动引发的。一般来说,由声门振动决定的基频跟说话人的性别特征有关,如表2,而无声语音则没有体现这个特征。说话人的个性化音色和语音的另外一个声学参数共振峰频率的分布有关。儿童由于声道短,其共振峰频率高于成年人,成年女性的声道一般短于成年男性,所以女性的共振峰频率一般高于男性。表2 男声、女声和童声基频、共振峰频率关系表人群基频分布Hz共振峰频率分布男声50, 180偏低女声160, 380中童声400, 1000偏高由上可知,在进行性别变声时,主要考虑基频和共振峰频率的变化。当基频伸展,共振峰频率也同时伸展时,可由男声变成女声,女声变成童声;反之,基频收缩,共振峰频率也同时收缩时,则由童声变女声,女声变男声。为了获得自然度、真实感较好的变声效果,基频和共振峰频率通常必须各自独立地伸缩变化,如图1。图1 基频和共振峰频率分布的变化共振峰频率的改变是基于重采样实现的,从重采样原理知道,这也同时引发了基频的变化,为保证基频变化和共振峰频率变化的独立、互不相关,在基频移动时必须考虑抵消重采样带来的偏移,理论上只要基频检测足够精确,确实可以保证基频改变和共振峰频率改变间的互不相关。SoundTouch和AVVCS系统之所以难以保证变声效果的自然度主要是没有采用基音检测将基音移动和共振峰变化彻底隔离的缘故。3. 变速和变调本文在剖析性别变声处理机制时,提出了一个高性能算法的实时实现,基于一个高精度、抗干扰的时域基频检测方法5,我们的算法可以实现20毫秒级别的语音延时,在ARM7上达到20MIPS左右的复杂度,同时保证变声效果的真实性、自然度比较好。此外,我们对传统的PSOLA的合成控制逻辑做出了一个创新的修正,使得为达到实时实现时能够保持长期稳定的高质量语音成为可能。本文的变声方法的原理基本上和Praat类似,不同的是我们在系统的每一个模块上都进行了精细的优化,并且将重采样处理在流程中的位置进行依赖于输入参数的动态调整。本文的实现能够满足低延时、低复杂度的要求,对PSOLA合成的控制机制所做的改进,在理论上与PSOLA直接控制机制等价,但是恰恰这样的改进却能够巧妙地回避由于基频检测不可完全避免的误差而导致的语音质量的不稳定。和实时实现变声的商用软件Vodi相比,我们的系统资源开销更低。重采样使得信号的样本数目增加或减少,若以不变的采样频率播放,速度会变慢或变快,因此需要进行保持声调不变的变速处理(变速不变调),恢复到原来的样本数目。同时为了改变信号的基频,还必须对信号进行变调处理即基频移动(基于PSOLA的变调不变速),在运用变调因子时,必须抵消重采样引起的基频变化。假设系统输入参数共振峰转移因子、和变调因子分别是、,那么重采样处理控制参数是(时,进行减抽样;时,进行增抽样),而基频转移控制参数则取为,因为在进行重采样处理时基频已经转移了倍,只有这样才能保证最终的变调因子是。此外,为了补偿重采样处理带来的速度变化,同时需要以因子进行变速处理(加速,进行减速)。参考图2的实现框图。 图2 变声的实现框图从傅立叶分析和重构关系知道,时域重采样意味着频域每一个频率分支的均匀移动,由于时域信号的物理频率不高于采样频率的一半(奈奎斯特频率),为了防止部分频段的信号溢出,如图二所示,必须预先进行反混淆滤波。有时候,往下限溢出只是增加一些低频热噪声,无损于音效,故在Praat实现中并没有图二所示的高通反混淆滤波。而且Praat的实现是把重采样模块固定地置于PSOLA之后的。本文的实现中重采样的位置可以依据外部输入参数的变化动态调整,后面会讨论这有助于减少处理的信号的样本数目,从而获得更高的执行效率。4. 基频同步交叠相加(PSOLA)变速和变调是两个独立的过程,由不同的参数控制,但是它们可以通过一个著名的“基频同步交叠相加”(PSOLA)算法联合实现。时域PSOLA是语音合成领域里的一种经典算法,它可以控制语音的基频变化和时长节奏(语音语速),使得合成的语音信号符合目标要求6。PSOLA算法的主要思想是在基频周期级别精度上进行波形交叠拼接:基频移动是通过将源波形的基频周期进行伸缩后加窗拼贴在目标时间轴上,而时长控制则是通过重复、或省略本段周期的源波形的拼接来实现的。 图3,这里给出PSOLA控制基频转移和时长节奏的主要思想:图3 PSOLA进行基频转移和时长控制的拼接格式(本图是基频下降、减速的情形) 按照PSOLA的思想,重复、省略拷贝的循环控制逻辑自然为 (1)是PSOLA合成的输出信号的长度,是重采样后的输入信号的长度(参见图二的框图)。一般地,重采样之前的信号的长度为,则重采样后的信号长度为。是当前的基音周期。设是系统输出的开始位置,每次输出后更新,其中是系统的帧长规格。自然地,系统输出和PSOLA输出应当满足以下关系式 (2)是输出延时(人为设定的延时)且。然而实际并非总能满足,究其根本原因是基频检测的不稳定性导致循环控制逻辑(1)并不能保证PSOLA输出长度的足够增长,从而造成条件关系式(2)被破坏,输出的语音会产生间断。虽然越大就越能推迟语音间断现象的发生,但这种不稳定性是无论选择怎样的系统输出延时都无法解决的。在Praat中由于采用离线(即非逐帧)处理的模式所以不存在这样的问题,而在实时实现时由于基音检测总有一些误差,基于(1)的PSOLA的直接控制模式就会造成语音间断。 在我们的试验中(男声变女声),语音间断现象会以接近10分钟的间隔周期性地出现,每一次语音间断持续时间为20到30秒不等,尔后自动恢复正常,周而复始。图4(a)为算法运行到第10分钟时开始发生间断的相应的信号波形图4(a) 语音发生间断的情形图4(b) 修正循环逻辑避免语音发生间断图4 两种PSOLA循环控制逻辑的对比信号的间断一般是某帧前部有生成信号,后部由于条件关系式(2)的破坏没有生成信号,图4(a)中显示了间断帧的情形,是帧长。是变声系统的输出标志,将其引入PSOLA模块做成间接控制,如下 (3)这样由(3)得到的,而由(1)得到,所以两者等价。赋予适当的初值,如,则条件(2)始终满足。因此如图4(b)所示基于(3)式的控制逻辑可以克服语音间断现象的发生,获得长期稳定的语音质量。5. 基频检测和基音标注实现基频移动和共振峰频率变化的互不相关,基频检测的精度是关键,它还影响着合成语音的质量。对于嵌入式应用和实时语音通信的要求,基频检测算法的复杂度和算法延时都受到很大的限制,所以必须在精度和性能之间取得折中。本文采用的时域基频检测算法5,具有较好的检测精度和稳定性,并经过定点优化,完全满足实时嵌入式系统的性能要求。基音标注是基于基频检测得到的周期参考值对语音信号进行双向峰、谷值搜索,确定每一个基音周期的边界,在此基础上完成对基音周期的二次修正。基音标注是基于样本级精度确定的,不同于Praat在子样本级别上的标注,但是能保证合适的计算负荷。6算法评测和结论在嵌入式处理器上实现语音变声功能,主要的瓶颈是基频检测和标注,它们的复杂度和精度各自影响了系统的整体性能和质量。此外,信号处理流程的动态调整也是重要的。图5是整个算法的实施方案:图5 实际系统的处理流程 (参考图2)如图五所示,在系统中重采样模块所处的位置和输入参数有关,这样保证实际重采样参数总是大于一的,即总为减抽样,这就避免了因为增抽样后的时域信号样本增多而增加的计算负荷,而在Praat的实现中并没有这种动态调整机制。我们把Praat的代码移植到ARM7进行性能评估,并和本文的实现做对比,见表3。我们输入的音频数据是一段男声,设置参数,表3统计了变声系统的四个主要组成模块,实测数据精确到个位数。表3 在ARM7上Praat和本文的方法的性能实测模块性能(MIPS)基频检测和标注低通反混淆重采样PSOLA合成总计Praat897406851121500本文的实现1152321本文方法的变声效果和Praat的比较接近,克服了卡通化和机器处理的痕迹,具有较好的真实感和自然度,并且语音质量良好。图6是一段实验音频的原始频谱、Praat处理的频谱以及本文方法的处理频谱的比较。图6(a) 实验音频男声的原始频谱图6(b) 实验音频男声变女声的频谱Praat的处理图6(c) 实验音频男声变女声的频谱本文方法的处理图6 一段实验音频的频谱比较参考文献1. 孙卓、岳振军,一种汉语语音变换技术,电声技术,2007,31(6):2. 于 剑、陶建华等. 个性化语音生成技术面面观. 计算机世界技术与应用2007,25:46-50.3. 蒋明哲、廖建新、朱晓民等. 基于智能网的变声彩话业务的设计与实现. 电信工程技术与标准化,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论