改变语音音调和音色的变声方法和系统与流程
本发明涉及语音音色调节技术领域,具体地,涉及一种改变语音音调和音色的变声方法和系统。
背景技术:
基频和共振峰是语音中非常重要的特征,基频是发浊音时声带振动的频率,基频的高低与说话人的性别直接相关,一般男声的基频比较低,女声的基频较高,老年人的基频比青年人的基频低;共振峰是指声门波在声道离的共鸣频率,声道越长共振峰的频率越高,男子声道比女子声道要长一些。现有的绝大多数变声方案无法独立的调整基频和共振峰,只能同时调整这2个声音特性,而有的变声方案虽提供了独立的调节基频和共振峰的功能,但是为了保证一定连续性,需要在频域上进行相位展开,极大的降低了算法的鲁棒性、稳定性。
专利文献cn109697985a提供语音信号处理方法,包括:依据设定帧长度对语音信号分帧得到帧信号,提取每帧帧信号的音频参数;语音信号包括第一语音信号和第二语音信号,音频参数对应第一音频参数和第二音频参数;将第一语音信号的帧信号与对第二语音信号的帧信号对齐匹配;将第一语音信号的帧信号的第一音频参数替换为匹配的第二语音信号的帧信号的第二音频参数,并根据第一语音信号中帧信号的第二音频参数重新合成语音信号。上述专利文献能实现生成特定声音的效果,生成后语音信号仍保留第一语音信号对应原说话人的音调、语速发音特点,兼具第二语音信号对应变声对象声音,克服不能针对特定对象变声和变声效果差的技术缺陷,但是并未涉及基频和共振峰的独立调节。
技术实现要素:
针对现有技术中的缺陷,本发明的目的是提供一种改变语音音调和音色的变声方法和系统。
根据本发明提供的一种改变语音音调和音色的变声方法,包括以下步骤:
步骤s1:按照“基频比例调整因子b”的要求,在时域上对第一语音数据进行重采样,得到第二语音数据,第二语音数据的序列长度是第一语音数据的序列长度的b倍;
步骤s2:利用音调保持算法,改变音调,将第二语音数据进行语音长度的缩放,输出第三语音数据;
步骤s3:对第三语音数据加窗进行变换得到复频谱,复频谱进行极坐标转换得到幅度谱和相位谱,对幅度谱做倒谱变换,提取频谱包络,提取基频频谱;
步骤s4:按照“共振峰比例调整因子f”调整频谱包络,合成新的幅度谱,将新的幅度谱和相位谱合并,将极坐标转直角坐标,做ifft变换,并做窗补偿生成新的第四语音数据。
优选地,所述音调保持算法采用wsola算法。
优选地,所述提取基频频谱是通过下式:
其中,gr[k]表示基频频谱,fr[k]表示幅度谱,hr[k]表示频谱包络,k表示频率,r表示幅度。
优选地,所述新的幅度谱通过下式:
其中,
优选地,所述倒谱变换是指倒谱法变换,进行倒谱提取共振峰包络,将幅度谱转换成幅度谱的对数,然后变换得到所述对数的序列的逆傅里叶变换序列,即倒谱序列,结合第三语音数据,即倒谱空间的低通滤波器,用已对所述倒谱序列进行低通滤波,得到倒谱序列经过低通滤波之后的序列,变换得到共振峰包络线,之后得到最终的幅度谱共振峰包络线。
根据本发明提供的一种改变语音音调和音色的变声系统,包括以下模块:
模块s1:按照“基频比例调整因子b”的要求,在时域上对第一语音数据进行重采样,得到第二语音数据,第二语音数据的序列长度是第一语音数据的序列长度的b倍;
模块s2:利用音调保持算法,改变语音的速率,将第二语音数据进行语音长度的缩放,输出第三语音数据;
模块s3:对第三语音数据加窗进行变换得到复频谱,复频谱进行极坐标转换得到幅度谱和相位谱,对幅度谱做倒谱变换,提取频谱包络,提取基频频谱;
模块s4:按照“共振峰比例调整因子f”调整频谱包络,合成新的幅度谱,将新的幅度谱和相位谱合并,将极坐标转直角坐标,做ifft变换,并做窗补偿生成新的第四语音数据。
与现有技术相比,本发明具有如下的有益效果:
1、通过时域上的重采样和变调不变速,避免了相位展开,极大的增强了算法的鲁棒性和稳定性。
2、通过频域上的谱包络估计和频谱分离,解决了基频和共振峰独立调节的问题。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为倒普提取共振峰包络示意图;
图2为变声整体流程示意图;
图3为基频调节器示意图;
图4为共振峰提起调节器示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1
本发明基于时域的“重采样和wsola”技术改变基频,然后通过倒谱法提取谱包络,利用谱包络(声道系统函数)移动共振峰而不改变基频。具体通过以下步骤实施,
首先,按照“基频比例调整因子b”的要求,在时域上对语音数据x[n]进行重采样,得到语音数据rs[n],rs[n]序列长度是x[n]序列长度的b倍。
其次,利用“wsola”等类似的音调保持算法,可以在不改变说话人音调的情况下,改变说话人的语速,将rs[n]缩放到原来的语音长度,输出ws[n],变调是基频改变,变速是说话速度改变,rs[n]是变调变速的语音数据,ws[n]是变调不变速的语音数据。
再次,对ws[n]加窗进行fft变换得到复频谱fc[k],复频谱fc[k]进行极坐标转换得到幅度谱fr[k]和相位谱fθ[k],对fr[k]做倒谱法变换,提取频谱包络hr[k],提取基频频谱
最后,按照“共振峰比例调整因子f”调整频谱包络:
其中,如图1所示,倒谱法变换是进行倒谱提取共振峰包络,将fr[k]幅度谱转换成
如图2所示,语音数据x[n]按照“基频比例调整因子b”的要求,经过基频调节器,输出ws[n],按照共振峰因子f、基频因子b的要求,经过共振峰提取调节器,生成新的语音数据out[n]。
如图3所示,语音数据x[n]按照“基频比例调整因子b”的要求,经过重采样reampler,输出语音数据rs[n],再经过音调保持,输出变调不变速的语音数据ws[n]。
如图4所示,对语音数据ws[n]加窗进行fft变换得到复频谱fc[k],复频谱fc[k]进行极坐标转换得到幅度谱fr[k]和相位谱fθ[k],对fr[k]做倒谱法变换,具体是经过共振峰包括提取器,提取频谱包络hr[k],经过基频频谱提取,提取基频频谱
实施例2
实施例2可以视为是实施例1的优选例。实施例2说明的改变语音音调和音色的变声的系统,利用了实施例1说明的改变语音音调和音色的变声的方法的步骤。
根据本发明提供的一种改变语音音调和音色的变声系统,包括以下模块:
模块s1:按照“基频比例调整因子b”的要求,在时域上对第一语音数据进行重采样,得到第二语音数据,第二语音数据的序列长度是第一语音数据的序列长度的b倍;
模块s2:利用音调保持算法,改变语音的速率,将第二语音数据进行语音长度的缩放,输出第三语音数据;
模块s3:对第三语音数据加窗进行变换得到复频谱,复频谱进行极坐标转换得到幅度谱和相位谱,对幅度谱做倒谱变换,提取频谱包络,提取基频频谱;
模块s4:按照“共振峰比例调整因子f”调整频谱包络,合成新的幅度谱,将新的幅度谱和相位谱合并,将极坐标转直角坐标,做ifft变换,并做窗补偿生成新的第四语音数据。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除