基于LabVIEW的变声器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于LabVIEW的变声器设计作者:李要芳刘智
来源:《机电信息》2020年第27期
摘要:变声器是通过对声音的音色和音调的双重复合改变,实现对输出声音的变声。
现使用基于基音同步叠加(PSOLA)算法的波形编辑和拼接技术,利用虚拟仪器软件LabVIEW对采集的声音信号进行滤波、调频处理,实现了对语音信号的变声处理。
该设计提供了一种变声器设计的简便快捷方法,具有很好的应用前景。
关键词:基音同步叠加(PSOLA)算法;LabVIEW;变声器设计
0 ; ;引言
近年来,语音识别和基于语音段的建模方法逐渐成为研究热点。
在语音合成方面,基于基音同步叠加(PSOLA)算法的波形编辑和拼接技术就是最具有代表性的一種方法[1-2]。
本设计通过LabVIEW[3]设计一个变声器,利用PSOLA算法与重采样技术结合,实现音频的变调不变速以及多种频段的变调,从而达到变声的功能。
1 ; ;变声器的理论基础
基音同步叠加(PSOLA)算法是利用短时傅里叶变换重构信号的叠加法,主要有基音同步分析、基音同步修改以及基音同步合成三个部分[2]。
1.1 ; ;基音同步分析
设采集的音频信号为X(n),选择合适的时窗分析窗口hm(n)对原始合成单元做加窗处理,得到一组短时信号xm(n)如式(1)所示:
xm(n)=hm(tm-n)X(n) ; ; ; ; ; ;(1)
式(1)中,tm为基音标注点,hm(n)一般采用汉明窗(Hamming),窗长大于原始信号的一个基音周期,因此窗间有重叠,窗长一般取原始信号基音周期的2~4倍,即得hm (n)如式(2)所示:
hm(n)=h(n)(n/μp) ; ; ; ; ; ; (2)
式(2)中,h(n)为归一化窗长,μ为窗覆盖基音周期数的比例系数,p为基音周期。
通常情况下,取μ=2,能够使合成简化。
若要提高基频,令p取为原始分析基音周期;若要降低基频,令p取为合成基音周期,这样能够使得合成简化。
1.2 ; ;基音同步修改
基音同步修改分修改声音的时域与频域特性[4],对语音基频的修改是通过对合成单元标记间隔的增加来减少正在进行的语音,对语音时长的修改是通过合成单元同步标记的插入来删除正在进行的语音。
首先,进行语音基频的修改,对短时分析信号xm(n)进行傅里叶变换Xm(n),得到短时分析傅里叶变换,如公式(3)所示:
Xm(n)=Xm(ej2πn/N)=xm(n)e-j2πn/N ;(0≤n≤N-1) ; ; (3)
又Xm(n)有公式如下:
Xm(n)=E(n)V(n) ; ; ; ;(4)
式中:E(n)为分析音段激励源信号频谱;V(n)为频谱的谱包络部分。
然后,按照音高调整系数对音段激励源信号频谱E(n)进行拉伸或压缩,得到合成激励源频谱E′(n)。
将E′(n)与原始频谱的谱包络V(n)相乘得到短时合成傅里叶频谱Xm′(n)如式(5)所示:
Xm′(n)=E′(n)V(n) ; ; ; ; ; ;(5)
最后,进行语音时长的修改。
首先对短时合成傅里叶频谱Xm′(n)进行傅里叶逆变换,得到中间短时合成信号xm′(n)。
然后对原始拼接单元时长进行修改,得到新的中间短时合成信号xp′(n),这样,新的基音标注tp就取代了前面中间短时合成信号的基音标注tm,当时长调整系数为λ时,选择合适的tm使之与λtp最接近,则xp′(n)=xm′(n)。
当时长调整
系数λ<1时,则加快语音,需要去掉一些短时信号;当时长调整系数λ>1时,则放慢语速,需要重复一些短时信号。
这样就可以得到与新合成信号基音标记同步的短时合成信号序列。
1.3 ; ;基音同步合成
采用合成信号谱与原始信号谱差异最小的最小平方叠加合成法,合成的信号如式(6)所示:
x(n)=∑papxp(n)hp(tp-n)/∑php2(tp-n) ; ; ;(6)
式中:分母是时变单位化因子,hp(n)是合成窗序列,是窗之间时变叠加的能量补偿,ap是音强调整系数,用来调整合成语音信号的强度。
式(6)也可简化如下:
x(n)=∑papxp′(n)/∑php(tp-n) ; ; ;(7)
公式(7)中的分母是时变的单位化因子,用来补偿相邻窗口叠加部分的能量损失。
在宽带条件下,当合成窗长为合成基音周期的两倍时,该因子也为常数;在窄带条件下该因子接近于常数。
故式(7)可进一步简化为如式(8)所示:
x(n)=∑papxp′(n) ; ; ; ; ;(8)
2 ; ;变声器的设计
2.1 ; ;前面板的总体设计
为了使界面看起来简洁,变声器的设计分为声音采集模块、声音录制模块和声音播放模块。
如图1所示,左边将声音信号采集到LabVIEW并显示波形,右边将采集到的声音信号进行变声处理后播放。
此次设计设有五种声音播放效果,如图1所示。
2.2 ; ;后面板的程序设计
后面板程序设计主要分3个部分,即声音采集程序设计、声音播放程序设计与变声处理程序设计。
2.2.1 ; ;声音采集程序设计
声音采集的程序由一系列声音输入VI和一系列声音文件VI并列组成[5-6]。
声音采集程序框图如图2所示[7]。
2.2.2 ; ;声音播放程序设计
声音播放程序框图是由声音输出VI和声音文件VI组成,实现的功能为把声音文件播放出来。
程序框图如图3所示。
2.2.3 ; ;变声处理程序设计
变声处理程序如图4所示。
变声之前先用数字IIR滤波器VI将写入的声音信号进行滤波处理,然后用FFT频谱(幅度-相位)VI将声音进行傅里叶变换,得到变换的频谱。
然后使用FFT功率谱和PSD VI,计算时间信号的平均自功率谱,最后用窗口函数缩放VI截取语音信号样本,就得到了变声处理后的声音信号[4]。
3 ; ;程序运行与分析
采集声音效果测试时,在界面中显示采集的声音波形。
声音采集播放程序运行效果如图5所示。
4 ; ;结语
本文使用基于基音同步叠加(PSOLA)算法的波形编辑和拼接技术,利用虚拟仪器软件LabVIEW对采集的声音信号进行滤波、调频处理,实现了对语音信号的变声处理。
本设计能使变声器的设计更加简便快捷,具有很好的应用前景。
[參考文献]
[1] 黎子芬,谢晓方,林丽娜,等.基于TD-PSOLA算法的语音合成方法研究[J].海军航空工程学院学报,2008,23(1):101-104.
[2] 涂相华,蔡莲红.用于语音合成的PSOLA算法简介[J].微型计算机,1996(4):5-9.
[3] 刘君华,贾惠芹,丁晖,等.虚拟仪器图形化编程语言LabVIEW教程[M].西安:西安电子科技大学出版社,2007.
[4] 彭柏,许刚.利用频谱搬移控制语音转换中的共振峰[J].电声技术,2007,31(1):39-43.
[5] 熊国华,罗颂荣,王耕耘.基于声卡虚拟音频信号分析仪设计[J].国外电子测量技术,2006,25(4):37-39.
[6] 于琳,陈健.基于Labview的声卡信号采集及其分析系统设计[J].仪器仪表用户,2009,16(4):39-41.
[7] 孟武胜,朱剑波,黄鸿,等.基于LabVIEW数据采集系统的设计[J].电子测量技术,2008(11):63-65.
收稿日期:2020-07-17
作者简介:李要芳(1987—),男,湖南常德人,硕士,工程师,主要从事液压凿岩机、顶锤式液压钻机、掘进台车、矿用振动筛等方面的设计研究工作。
刘智(1986—),男,湖南岳阳人,博士,讲师,主要从事流体传动与控制、液压凿岩装备方面的研究与教学工作。