CN1567428A - 一种基于数字信号处理的语音变声方法 - Google Patents
一种基于数字信号处理的语音变声方法 Download PDFInfo
- Publication number
- CN1567428A CN1567428A CNA031370144A CN03137014A CN1567428A CN 1567428 A CN1567428 A CN 1567428A CN A031370144 A CNA031370144 A CN A031370144A CN 03137014 A CN03137014 A CN 03137014A CN 1567428 A CN1567428 A CN 1567428A
- Authority
- CN
- China
- Prior art keywords
- voice
- pitch period
- change
- length
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种基于数字信号处理的语音变声方法,包括步骤(1)选取需要变声的原始语音信号;(2)得到原始语音信号的基音周期长度;(3)根据基音周期长度定位整个原始语音信号的每一个基音周期的位置;(4)在原始语音信号中的基音周期之间删除/插入基音周期,得到缩短/伸长的语音信号;(5)将缩短/伸长的语音信号线性伸长/压缩至与原始语音信号一致的长度,得到变声后的语音信号。本发明是基于数字信号处理的语音变声方法,该方法简单实用,运算量很小,适于在DSP芯片上实时实现,变声的语音的自然度很高。而且变声后的语音的长度与原始语音长度一致,有利于实时传送变声后的语音信号。
Description
技术领域
本发明涉及一种语音变声方法,更具体地说,本发明涉及一种基于数字信号处理的语音变声方法。
背景技术
基频和共振峰是语音中两个非常重要的特征。基频是发浊音时声带振动的频率,基频的高低与说话人的性别直接相关,一般来说男声的基频比较低,女声的基频比较高。此外,年龄对于基频的高低也有一定影响,老年人的基频比年青人的基频低,年青人的基频要比儿童的基频低。所以通过改变基频,就能改变语音的效果,影响人对说话人年龄甚至性别的判断。
共振峰是指声门波在声道里的共鸣频率。共振峰与声道的长度有很大的相关性,声道越长共振峰的频率越高,反之亦然。相对来说,男子的声道比女子的声道要长一些,所以男声的共振峰频率比女声的共振峰频率相对也要高一些。因此通过改变共振峰,能够影响人对说话人的判断。
对于修改共振峰的频率,大部分方法都是基于参数合成的算法。这些方法普遍存在的问题是运算量比较大,需要人工干预,合成的语音的自然度比较差。
对于改变基频,目前已经有了很多方法。应用比较广泛的有PSOLA算法(PitchSynchronous Overlap and Add),混合谐波随机模型法(Hybrid Harmonic/StochasticModel),自回归线性预测系数法(Auto-Regressive LPC)等方法。PSOLA算法因为方法简单,运算量小,而且合成语音的自然度很高,所以应用最为广泛。不过由于PSOLA算法本身的局限性,当需要改变基频范围比较大时,语音就会产生相当多的混叠现象,造成很大的噪声。其他两种方法改变基频后语音的自然度要差一些,而且这两种方法的运算量都比较大,在DSP芯片实时实现会有一定的困难。此外,这些方法都会改变原始语音的长度,这对于变声后语音的实时传送会造成很大的问题。而且现有的变声方法基本上都采用的是模拟电路的方法,不适合于在数字信号处理器(DSP)上实现。
发明内容
本发明的目的在于提供一种改进的语音变声方法,通过改变语音的基频和共振峰频率来获得变声的效果;本发明的目的还在于提供一种改进的语音变声方法,使得变声后的语音信号与原始语音信号长度一致。
本发明的目的是这样实现的:
一种基于数字信号处理的语音变声方法,包括如下步骤:
(1)选取需要变声的原始语音信号;
(2)当原始语音信号存在周期性时,计算其基频值,并计算与该基频值对应的基音周期的长度;当原始语音中并不存在周期性时,在65Hz到500Hz之间取一频率值,将该频率值对应的周期作为基音周期,将该频率值对应的周期长度作为基音周期长度;
(3)根据步骤(2)中得到的基音周期长度定位整个原始语音信号的每一个基音周期的位置;
(4)在原始语音信号中的基音周期之间删除/插入基音周期,得到缩短/伸长的语音信号;
(5)将步骤(4)中得到的缩短/伸长的语音信号线性伸长/压缩至与原始语音信号一致的长度,得到变声后的语音信号。
在步骤(4)中是在原始语音信号中的基音周期之间周期性地删除/插入基音周期。
当期望变声后语音的基频是原始语音基频的p倍且p>1时,每隔(p-1)-1个基音周期插入一个基音周期,该被插入的基音周期是与插入点相邻的基音周期的一个复制。当期望变声后语音的基频是原始语音基频的p倍且0<p<1时,每隔(1-p)-1个基音周期删除一个当前基音周期。优选地,1<p≤2或0.5≤p<1。
在步骤(5)中的线性伸长/压缩方法为:原始语音的长度为N、步骤(3)得到的缩短/伸长的语音信号的长度为M,则伸缩比为r=M/N;所述缩短/伸长的语音信号的序列为x(m),其中1≤m≤M;令变声后的语音信号的序列为y(n),其中1≤n≤N;令An=nr,
Cn=Bn+1,其中
是不大于An的最大整数;则y(n)=x(Bn)+(An-Bn)[x(Cn)-x(Bn)],其中y(n)是变声后语音序列的第n个点。
本发明是基于数字信号处理的语音变声方法,该方法简单实用,运算量很小,适于在DSP芯片上实时实现,变声的语音的自然度很高。而且变声后的语音的长度与原始语音长度一致,有利于实时传送变声后的语音信号。
附图说明
图1是本发明的语音变声方法的流程图;
图2是语音信号基音周期定位的实例图。
具体实施方式
下面结合附图及具体实施方向对本发明做进一步详细描述。
如图1所示的本发明的语音变声方法的流程图。首先输入一帧语音,一帧语音的长度可以根据实际情况需求作适当调整。
然后估计该输入的原始语音信号中的基频值。在本实施例的语音基频估计中,采用的是谐波和方法(Summation of Sub-Harmonic Method),所以无论原始语音是否存在周期性都将得到一个基频值。当原始语音存在周期性,也就是存在基音周期,那么将得到一个有意义的基频值;当原始语音并不存在周期性,也就是不存在基音周期时,如在清音段或者静音段,得到的实际上是一个在65Hz到500Hz之间的一个随机数,但本发明仍然将该频率值所对应的周期长度作为该语音段的“伪”基音周期长度。
从上述处理方法可以看出,本发明事实上是将不存在周期性的清音段也当作浊音段来处理的。这是因为,语音的清音段类似于白噪声,在其中周期性的删除或者插入语音,几乎不影响人对它的听觉感知效果。而且对语音不分浊音、清音的统一处理,简化了算法的复杂程度,更重要的是避免了浊音误判为清音时造成语音变声失败的代价。
语音信号的基音周期的长度等于语音的采样率除以该语音信号的基频值。根据该周期长度定位整个原始语音信号的每一个基音周期的位置。
以每秒8K采样点的语音为例,并将1000个采样点作为一个处理单元,即一帧语音。如该帧语音信号的平均基频是100Hz,则其基音周期是80个采样点,并用此长度来定位基音周期。
一般来说每个基音周期都有一个极大值,以此来定位每个基音周期最为方便可靠。首先在这一帧语音的中间位置附近找到一个极大值,然后向两边每隔一个基音周期的长度找到一个极大点,依次找到所有基音周期的极大点。本实施例规定每个基音周期开始于该基音周期极大点向后的第二个过零点,结束于下一个基音周期的起始点。因此根据每个极大点向后寻找其第二个过零点,以此定位出每个基音周期的区域。该定位的过程可参照图2所示,图中实线所标是每个基音周期的极值点,虚线所标是极值点向后第二个过零点,两条虚线之间为一个基音周期。例如在上述选取的语音信号中,先在当前帧第500个点附近找到极大值,然后在此极大值向前80点附近和向后80点寻找极大值,再依此方法寻找到该帧语音的所有极大值。最后在每个极大点向后寻找其第二个过零点,以此定位出每个基音周期的区域。
对于并不存在基音周期的语音信号,在得到其“伪”基音周期长度后,也可用上述的寻找极大值和过零点的方法来定位其伪基音周期的位置。
根据变声要求的不同,决定需要插入基音周期还是删除基音周期。如果需要提高基频,那么就插入基音周期;如果要降低基频,就删除基音周期。例如期望变声后语音的基频是原始语音基频的1.5倍,那么每隔[1/(1.5-1)]=2个基音周期插入一个与插入点相邻的基音周期;例如期望变声后语音的基频是原始语音基频的0.8倍,那么每隔[1/(1-0.8)]=5个基音周期删除一个当前的基音周期。这样就得到伸长或者缩短的语音信号。
最后将伸长的语音信号压缩到与原始语音一致的长度,或者将缩短的语音信号伸长到与原始语音一致的长度,得到所需要的变声后的语音信号。例如由上一步得到的伸长的语音的长度为1400个采样点,其语音序列为x(m),其中1≤m≤1400。而原始语音的长度为1000个采样点,也就是说变声后的语音信号的长度也应该为1000点,令变声后的语音信号的序列为y(n),其中1≤n≤1000。伸缩比r=1400/1000=1.4。令An=nr,
Cn=Bn+1,其中
是不大于An的最大整数。如下表:
通过公式y(n)=x(Bn)+(An-Bn)[x(Cn)-x(Bn)],就得到了压缩后的变声后语音,其中y(n)变声后语音序列的第n个点。在表格中的右下角,Cn的计算值1401超过了m可取的最大值1400,在本实施例中,用与1401最接近的1400来代替。最后可将变声后的语音输出,这样就得到了既有变声效果,又与原始语音长度一致的语音信号。
n | 1 | 2 | 3 | … | 500 | 501 | … | 999 | 1000 |
An | 1.4 | 2.8 | 4.4 | … | 700 | 701.4 | … | 1398.6 | 1400 |
Bn | 1 | 2 | 4 | … | 700 | 701 | … | 1398 | 1400 |
Cn | 2 | 3 | 5 | … | 701 | 702 | … | 1399 | 1400(1401) |
采用与该方法一致的步骤,也可将缩短的语音信号伸长到与原始语音一致的长度。
Claims (7)
1、一种基于数字信号处理的语音变声方法,包括如下步骤:
(1)选取需要变声的原始语音信号;
(2)当原始语音信号存在周期性时,计算其基频值,并计算与该基频值对应的基音周期的长度;当原始语音中并不存在周期性时,在65Hz到500Hz之间取一频率值,将该频率值对应的周期作为基音周期,将该频率值对应的周期长度作为基音周期长度;
(3)根据步骤(2)中得到的基音周期长度定位整个原始语音信号的每一个基音周期的位置;
(4)在原始语音信号中的基音周期之间删除/插入基音周期,得到缩短/伸长的语音信号;
(5)将步骤(4)中得到的缩短/伸长的语音信号线性伸长/压缩至与原始语音信号一致的长度,得到变声后的语音信号。
2、根据权利要求1所述的语音变声方法,其特征在于,在步骤(4)中是在原始语音信号中的基音周期之间周期性地删除/插入基音周期。
3、根据权利要求2所述的语音变声方法,其特征在于,当期望变声后语音的基频是原始语音基频的p倍且p>1时,每隔(p-1)-1个基音周期插入一个基音周期,该被插入的基音周期是与插入点相邻的基音周期的一个复制。
4、根据权利要求2所述的语音变声方法,其特征在于,当期望变声后语音的基频是原始语音基频的p倍且0<p<1时,每隔(1-p)-1个基音周期删除一个当前基音周期。
5、根据权利要求3所述的语音变声方法,其特征在于,1<p≤2。
6、根据权利要求4所述的语音变声方法,其特征在于,0.5≤p<1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031370144A CN1248191C (zh) | 2003-06-19 | 2003-06-19 | 一种基于数字信号处理的语音变声方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031370144A CN1248191C (zh) | 2003-06-19 | 2003-06-19 | 一种基于数字信号处理的语音变声方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1567428A true CN1567428A (zh) | 2005-01-19 |
CN1248191C CN1248191C (zh) | 2006-03-29 |
Family
ID=34470332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031370144A Expired - Lifetime CN1248191C (zh) | 2003-06-19 | 2003-06-19 | 一种基于数字信号处理的语音变声方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1248191C (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354889B (zh) * | 2008-09-18 | 2012-01-11 | 北京中星微电子有限公司 | 一种语音变调方法及装置 |
CN101719371B (zh) * | 2009-11-20 | 2012-04-04 | 安凯(广州)微电子技术有限公司 | 一种语音变速的方法 |
CN102810315A (zh) * | 2011-05-31 | 2012-12-05 | 索尼公司 | 信号处理设备、信号处理方法和程序 |
CN105304092A (zh) * | 2015-09-18 | 2016-02-03 | 深圳市海派通讯科技有限公司 | 一种基于智能终端的实时变声方法 |
CN105654941A (zh) * | 2016-01-20 | 2016-06-08 | 华南理工大学 | 一种基于指向目标人变声比例参数的语音变声方法及装置 |
CN108682413A (zh) * | 2018-04-24 | 2018-10-19 | 上海师范大学 | 一种基于语音转换的情感疏导系统 |
CN108682426A (zh) * | 2018-05-17 | 2018-10-19 | 深圳市沃特沃德股份有限公司 | 语音声色转换方法及装置 |
CN109616131A (zh) * | 2018-11-12 | 2019-04-12 | 南京南大电子智慧型服务机器人研究院有限公司 | 一种数字实时语音变音方法 |
CN110728993A (zh) * | 2019-10-29 | 2020-01-24 | 维沃移动通信有限公司 | 一种变声识别方法及电子设备 |
CN113743901A (zh) * | 2021-09-07 | 2021-12-03 | 广州网才信息技术有限公司 | 一种云在线监考方法、系统、设备及存储介质 |
-
2003
- 2003-06-19 CN CNB031370144A patent/CN1248191C/zh not_active Expired - Lifetime
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354889B (zh) * | 2008-09-18 | 2012-01-11 | 北京中星微电子有限公司 | 一种语音变调方法及装置 |
CN101719371B (zh) * | 2009-11-20 | 2012-04-04 | 安凯(广州)微电子技术有限公司 | 一种语音变速的方法 |
CN102810315A (zh) * | 2011-05-31 | 2012-12-05 | 索尼公司 | 信号处理设备、信号处理方法和程序 |
CN105304092A (zh) * | 2015-09-18 | 2016-02-03 | 深圳市海派通讯科技有限公司 | 一种基于智能终端的实时变声方法 |
CN105654941A (zh) * | 2016-01-20 | 2016-06-08 | 华南理工大学 | 一种基于指向目标人变声比例参数的语音变声方法及装置 |
CN108682413A (zh) * | 2018-04-24 | 2018-10-19 | 上海师范大学 | 一种基于语音转换的情感疏导系统 |
CN108682413B (zh) * | 2018-04-24 | 2020-09-29 | 上海师范大学 | 一种基于语音转换的情感疏导系统 |
CN108682426A (zh) * | 2018-05-17 | 2018-10-19 | 深圳市沃特沃德股份有限公司 | 语音声色转换方法及装置 |
CN109616131A (zh) * | 2018-11-12 | 2019-04-12 | 南京南大电子智慧型服务机器人研究院有限公司 | 一种数字实时语音变音方法 |
CN109616131B (zh) * | 2018-11-12 | 2023-07-07 | 南京南大电子智慧型服务机器人研究院有限公司 | 一种数字实时语音变音方法 |
CN110728993A (zh) * | 2019-10-29 | 2020-01-24 | 维沃移动通信有限公司 | 一种变声识别方法及电子设备 |
CN113743901A (zh) * | 2021-09-07 | 2021-12-03 | 广州网才信息技术有限公司 | 一种云在线监考方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN1248191C (zh) | 2006-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1248191C (zh) | 一种基于数字信号处理的语音变声方法 | |
EP1380029B1 (en) | Time-scale modification of signals applying techniques specific to determined signal types | |
AU2009267485B2 (en) | Audio signal decoder, time warp contour data provider, method and computer program | |
US5642466A (en) | Intonation adjustment in text-to-speech systems | |
Airaksinen et al. | Quasi closed phase glottal inverse filtering analysis with weighted linear prediction | |
EP0680652B1 (en) | Waveform blending technique for text-to-speech system | |
US7693709B2 (en) | Reordering coefficients for waveform coding or decoding | |
US6541691B2 (en) | Generation of a note-based code | |
EP0814458A2 (en) | Improvements in or relating to speech coding | |
CN1503968A (zh) | 声信号带宽扩展 | |
JPWO2011004579A1 (ja) | 声質変換装置、音高変換装置および声質変換方法 | |
JPS58207099A (ja) | 音声のlpcコード化方法 | |
JP4545941B2 (ja) | 音声符号化パラメータを決定する方法及び装置 | |
CN1682276A (zh) | 一种清音语音信号合成的方法 | |
Allen et al. | A model for the synthesis of natural sounding vowels | |
CN1266675C (zh) | 语音速率变换装置及方法 | |
JPH056197A (ja) | 音声合成装置用ポストフイルタ | |
WO2002003374A1 (en) | A method for generating a musical tone | |
US6101463A (en) | Method for compressing a speech signal by using similarity of the F1 /F0 ratios in pitch intervals within a frame | |
JPH0777999A (ja) | 音声時間軸圧縮伸長方法 | |
JP3074703B2 (ja) | マルチパルス符号化装置 | |
KR100445342B1 (ko) | 듀얼 에스오엘에이 알고리듬을 이용한 음성속도변환방법및 시스템 | |
Story | A distinctive region model (DRM) based on empirical vocal tract area functions | |
JPS63311400A (ja) | 音合成方法 | |
JPS62150297A (ja) | 音声波形符号化方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20060329 |