掌桥专利:专业的专利平台
掌桥专利
首页

语音变调方法、存储介质及电子设备

文献发布时间:2023-06-19 19:30:30


语音变调方法、存储介质及电子设备

技术领域

本发明涉及语音变调技术领域,具体涉及一种语音变调方法、存储介质及电子设备。

背景技术

相关技术常用复杂度较小的变调时域算法对语音信号进行变调处理,比如变调时域算法包括同步交叠相加法(Synchronous OverLap Add,SOLA)联合重采样算法、波形相似重叠叠加算法(Waveform Similarity Overlap-Add,WSOLA)联合重采样算法等变调不变速算法,虽然此类变调时域算法的复杂度较低,但是在变调过程中会产生帧间不连续现象,导致声音容易咔哒声的现象,变调不够自然。

发明内容

本发明实施例的一个目的旨在提供一种语音变调方法、存储介质及电子设备,旨在改善相关技术中语音变调不够自然的技术问题。

在第一方面,本发明实施例提供一种语音变调方法,包括:

获取语音信号,每帧所述语音信号包括多个语音采样点;

确定目标语音采样点的至少一类目标相位信息,所述目标语音采样点为多个所述语音采样点中的一个语音采样点;

根据所述目标相位信息平滑调整所述目标语音采样点的幅值,得到变调语音信号。

在第二方面,本发明实施例提供一种存储介质,存储有计算机可执行指令,所述计算机可执行指令用于使电子设备执行上述的语音变调方法。

在第三方面,本发明实施例提供一种电子设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的语音变调方法。

在本发明实施例提供的语音变调方法中,获取语音信号,每帧语音信号包括多个语音采样点,确定目标语音采样点的至少一类目标相位信息,目标语音采样点为多个语音采样点中的一个语音采样点,根据目标相位信息平滑调整目标语音采样点的幅值,以得到变调语音信号。本实施例能够根据目标语音采样点的目标相位信息平滑调整目标语音采样点的幅值,如此可避免帧间不连续的现象出现,会使得变调语音信号变得更为自然。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1为本发明实施例提供的一种语音变调方法的流程示意图;

图2为本发明实施例提供的一种电子设备的电路结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。再者,本发明所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。

本发明实施例提供一种语音变调方法。请参阅图1,语音变调方法包括以下步骤:

S11:获取语音信号,每帧语音信号包括多个语音采样点。

本步骤中,语音信号为语音传感器采集的信号,其中,语音传感器包括麦克风等传感器,语音信号可表示为x(n)=[x(i),x(i-1),…,x(i-M-1)],M为滤波器的长度,i表示第i个语音采样点。

S12:确定目标语音采样点的至少一类目标相位信息,目标语音采样点为多个语音采样点中的一个语音采样点。

本步骤中,相位信息用于语音采样点在语音信号中的相位,其中,本实施例可采用一类相位信息以表示每个语音采样点的相位,也可以采用两类以上的相位信息从不同维度表示每个语音采样点的相位。目标相位信息为目标语音采样点对应的相位信息,目标语音采样点可为第i个语音采样点,i=0,1,2……。

S13:根据目标相位信息平滑调整目标语音采样点的幅值,以得到变调语音信号。

本实施例能够根据目标语音采样点的目标相位信息平滑调整目标语音采样点的幅值,如此可避免帧间不连续的现象出现,会使得变调语音信号变得更为自然。

在一些实施例中,确定目标语音采样点的至少一类目标相位信息包括以下步骤:

S121:确定相位步进值及先前采样点的至少一类相位信息,先前采样点为在时序上位于目标语音采样点之前的语音采样点。

S122:根据先前采样点的至少一类相位信息及相位步进值,确定目标语音采样点的至少一类目标相位信息。

在S121中,相位步进值为相邻两个语音采样点在相位上的差值,在一些实施例中,确定相位步进值包括以下步骤:获取语音信号的基音周期、周期修改率及采样率,根据基音周期、周期修改率及采样率,计算相位步进值,如此,本实施例能够加入基音周期的要素,结合用户自定义的周期修改率,从而能够自定义地拉伸或压缩语音信号的基音周期,以便后续能够根据相位信息平滑调整每个语音采样点的幅值。

在一些实施例中,本实施例采用式子一计算相位步进值,如下所示:

其中,

先前采样点可为目标语音采样点前面预设数量个的语义采样点,预设数量为1或者2等。当预设数量为1时,先前采样点为目标语音采样点的前一个语音采样点,亦即目标语音采样点为第i个语音采样点,则先前采样点为第i-1个语音采样点。

在S122中,在一些实施例中,根据先前采样点的至少一类相位信息及相位步进值确定目标语音采样点的至少一类目标相位信息包括:

S1221:相加先前采样点的至少一类相位信息及相位步进值,得到相加结果。

S1222:对相加结果进行求余操作以得到求余结果,将求余结果作为目标语音采样点的至少一类目标相位信息。

在S1221中,本实施例根据式子二,计算相加结果,如下所示:

其中,

在S1222中,本实施例根据式子三计算求余结果,如下所示:

其中,

可以理解的是,j可以为1或2或3等。当j为1时,本实施例可以根据一类相位信息平滑调整幅值。当j为2或3等,本实施例可以根据多类相位信息平滑调整幅值。

在一些实施例中,相位信息包括第一相位信息及第二相位信息,本实施例根据式子四计算第一相位信息,根据式子五计算第二相位信息,如下所示:

在一些实施例中,根据目标相位信息平滑调整目标语音采样点的幅值包括以下步骤:

S131:选择满足目标相位信息的相位条件对应的语音平滑模型作为目标语音平滑模型。

S132:根据目标语音平滑模型确定平滑点数量及平滑增益。

S133:根据平滑点数量及平滑增益平滑调整目标语音采样点的幅值。

在S131中,相位条件为用于匹配目标相位信息以选择语音平滑模型的条件,其中,相位条件与语音平滑模型对应,不同语音平滑模型具有不同相位条件,多个语音平滑模型按照预设顺序依次关联,本实施例可根据目标相位信息,在多个语音平滑模型中依序选择相应语音平滑模型作为目标语音平滑模型。

在一些实施例中,相位条件包括第一相位条件、第二相位条件、第三相位条件及第四相位条件。第一相位条件对应第一语音平滑模型①,第二相位条件对应第二语音平滑模型②,第三相位条件对应第三语音平滑模型③,第四相位条件对应第四语音平滑模型④。语音平滑模型的关联顺序如下任一种:①→②→③→④,②→③→④→①,③→④→①→②,④→①→②→③。

当目标相位信息满足第一语音平滑模型①的第一相位条件时,本实施例选择第一语音平滑模型①作为目标语音平滑模型。

当目标相位信息发生变化时,发生变化的目标相位信息不满足第一相位条件,但会满足第二语音平滑模型②的第二相位条件,因此,此时本实施例选择第二语音平滑模型②作为目标语音平滑模型。

当目标相位信息发生变化时,发生变化的目标相位信息不满足第二相位条件,但会满足第三语音平滑模型③的第三相位条件,因此,此时本实施例选择第三语音平滑模型③作为目标语音平滑模型。

当目标相位信息发生变化时,发生变化的目标相位信息不满足第三相位条件,但会满足第四语音平滑模型④的第四相位条件,因此,此时本实施例选择第四语音平滑模型④作为目标语音平滑模型。

当目标相位信息发生变化时,发生变化的目标相位信息不满足第四相位条件,但会满足第一语音平滑模型①的第一相位条件,因此,此时本实施例选择第一语音平滑模型①作为目标语音平滑模型,以此类推。

可以理解的是,语音平滑模型的数量可以为2个或3个或5个等。

在一些实施例中,语音平滑模型包括正常语音平滑模型和激活语音平滑模型,激活语音平滑模型用于修改目标相位信息以便激活位于所述激活语音平滑模型之后的正常语音平滑模型。

正常语音平滑模型与激活语音平滑模型按照预设顺序交替排序,举例而言,如前所述,第一语音平滑模型①和第三语音平滑模型③都为正常语音平滑模型,第二语音平滑模型②和第四语音平滑模型④都为激活语音平滑模型,两个正常语音平滑模型和两个激活语音平滑模型按照预设顺序交替排序。

在S132中,正常语音平滑模型包括正常平滑点模型及正常增益平滑模型,正常平滑点搜索模型为用于根据目标相位信息在正常平滑模式下进行确定平滑点数量的模型,正常增益平滑模型为用于根据目标相位信息在正常平滑模式下进行确定平滑增益的模型。

在一些实施例中,根据目标语音平滑模型确定平滑点数量及平滑增益包括以下步骤:当目标语音平滑模型为正常语音平滑模型时,根据正常平滑点模型确定平滑点数量,根据正常增益平滑模型确定平滑增益。

在一些实施例中,正常增益平滑模型采用三角函数进行表示,其中,所述三角函数可为余弦函数或正弦函数等。正常增益平滑模型的自变量跟随目标相位信息的变化而在

在一些实施例中,目标相位信息为归一化的相位信息。举例而言,如上文所阐述的式子三,通过将相加结果与自然数1进行求余运算,从而能够得到归一化的目标相位信息,如此能够保证目标相位信息在[0,1]内借助三角函数,从而能够与平滑增益在[0,1]内进行映射关联,有利于保证帧间能够连续不间断。

当目标相位信息在第一数值范围[0,a)内时,目标相位信息与平滑增益呈正相关,当目标相位信息在第二数值范围[a,1]内时,目标相位信息与平滑增益呈负相关,本实施例借助如此关系,能够保证平滑增益跟随着目标相位信息的变化在[0,1]之间进行有规律的变化,比如先在第一数值范围[0,a)内上升,再在第二数值范围[a,1]内下降。a的取值可由设计者根据工程经验自定义,比如a为0.5。

举例而言:

当目标相位信息为0时,正常增益平滑模型的自变量为90度,因此,正常增益平滑模型cos90°=0,即平滑增益为0。

当目标相位信息为0.1时,正常增益平滑模型的自变量为72度,因此,正常增益平滑模型cos72°=0.309,即平滑增益为0.309。

当目标相位信息为0.2时,正常增益平滑模型的自变量为72度,因此,正常增益平滑模型cos54°=0.588,即平滑增益为0.588。

当目标相位信息为0.5时,正常增益平滑模型的自变量为0度,因此,正常增益平滑模型cos0°=1,即平滑增益为1。

当目标相位信息为0.6时,正常增益平滑模型的自变量为18度,因此,正常增益平滑模型cos18°=0.951,即平滑增益为0.951。

当目标相位信息为0.8时,正常增益平滑模型的自变量为54度,因此,正常增益平滑模型cos54°=0.588,即平滑增益为0.588。

在一些实施例中,正常语音平滑模型包括第一正常语音平滑模型及第二正常语音平滑模型,第一正常语音平滑模型及第二正常语音平滑模型采用相同的正常平滑点模型及正常增益平滑模型。

在一些实施例中,正常增益平滑模型的表达式如式子六:

其中,

在一些实施例中,目标相位信息包括归一化后的第一相位信息及第二相位信息,本实施例根据式子七计算第一平滑增益,根据式子八计算第二平滑增益,如下所示:

其中,a=1/k。当k为2时,a为0.5。

在一些实施例中,正常平滑点模型由基音周期、采样率及目标相位信息共同约束。请参见式子九,正常平滑点模型的表达式如下:

其中,

在一些实施例中,相位信息包括第一相位信息及第二相位信息,本实施例根据式子十计算第一平滑点数量,根据式子十一计算第二平滑点数量,如下所示:

总体而言,正常语音平滑模型包括正常平滑点模型及正常增益平滑模型,正常平滑点模型的表达式为

在一些实施例中,目标相位信息包括归一化后的第一相位信息及第二相位信息,如前所述,归一化后的第一相位信息及第二相位信息分别为

语音平滑模型包括激活语音平滑模型,根据目标语音平滑模型确定平滑点数量及平滑增益包括:当目标语音平滑模型为激活语音平滑模型时,根据激活语音平滑模型确定平滑点数量及平滑增益。

在一些实施例中,目标相位信息包括归一化后的第一相位信息及第二相位信息,激活语音平滑模型包括第一激活语音平滑模型及第二激活语音平滑模型,根据激活语音平滑模型确定平滑点数量及平滑增益包括:当目标语音平滑模型为第一激活语音平滑模型时,根据第一激活语音平滑模型确定第三平滑点数量及第三平滑增益,当目标语音平滑模型为第二激活语音平滑模型时,根据第二激活语音平滑模型确定第四平滑点数量及第四平滑增益。

在一些实施例中,每个激活语音平滑模型都包括激活平滑点模型及激活增益平滑模型,根据第一激活语音平滑模型确定第三平滑点数量及第平滑增益包括以下步骤:当目标语音平滑模型为第一激活语音平滑模型时,根据第一激活平滑点模型确定第三平滑点数量,根据第一激活增益平滑模型确定第三平滑增益。

在一些实施例中,根据第二激活语音平滑模型确定第二平滑点数量及第二平滑增益包括以下步骤:当目标语音平滑模型为第二激活语音平滑模型时,根据第二激活平滑点模型确定第四平滑点数量,根据第二激活增益平滑模型确定第四平滑增益。

在一些实施例中,第一激活平滑点模型的表达式如式子十二及式子十三所示:

在一些实施例中,第一激活增益平滑模型的表达式如式子十四及式子十五所示:

在一些实施例中,第二激活平滑点模型的表达式如式子十六及式子十七所示:

在一些实施例中,第二激活增益平滑模型的表达式如式子十八及式子十九所示:

在一些实施例中,目标相位信息包括归一化后的第一相位信息及第二相位信息,第一相位条件:0≤第一相位信息≤0.5,0.5≤第二相位信息≤1。第二相位条件:0.5<第一相位信息≤1,0≤第二相位信息≤0.5。第三相位条件:0≤第一相位信息<0.5,0≤第二相位信息<0.5。第四相位条件:0.5≤第一相位信息≤1,0.5≤第二相位信息≤1。其中,第一相位条件对应第一正常语音平滑模型,第二相位条件对应第一激活语音平滑模型,第三相位条件对应第二正常语音平滑模型,第四相位条件对应第二激活语音平滑模型。

/>

如前所述,当语音平滑模型为多个时,多个语音平滑模型按照预设顺序依次关联,语音变调方法还包括:当目标语音平滑模型为激活语音平滑模型时,修改至少一类目标相位信息,使得修改后的目标相位信息满足候选语音平滑模型对应的相位条件,候选语音平滑模型为位于目标语音平滑模型之后的语音平滑模型。

当目标相位信息包括归一化后的第一相位信息及第二相位信息,修改至少一类目标相位信息,使得修改后的目标相位信息满足候选语音平滑模型对应的相位条件包括:修改第一相位信息,保持第二相位信息,使得修改后的目标相位信息满足候选语音平滑模型对应的相位条件。

举例而言,由于目标相位信息满足第二相位条件,因此目标语音平滑模型为第一激活语音平滑模型。由于第二正常语音平滑模型位于第一激活语音平滑模型之后,因此,第二正常语音平滑模型为候选语音平滑模型。接着,本实施例将第一相位信息

再举例而言,由于目标相位信息满足第四相位条件,因此目标语音平滑模型为第二激活语音平滑模型。由于第一正常语音平滑模型位于第二激活语音平滑模型之后,因此,第一正常语音平滑模型为候选语音平滑模型。接着,本实施例将第一相位信息

本实施例通过修改目标相位信息,使得平滑增益在多个语音平滑模型中依序循环变化,如此能够提高帧间的连续性和平滑性。

在一些实施例中,根据平滑点数量及平滑增益平滑调整目标语音采样点的幅值包括以下步骤:

S1331:确定与每类平滑点数量对应的目标平滑点,目标平滑点在时序上位于目标语音采样点之前,目标语音采样点与目标平滑点间隔目标数量个语音采样点,目标数量等于平滑点数量减去自然数1。

S1332:根据平滑增益及目标平滑点的幅值,平滑调整目标语音采样点的幅值。

在S1331中,平滑点数量的类别可为一类或两类以上,本实施例按照以下式子求取目标平滑点:

在一些实施例中,目标相位信息包括归一化后的第一相位信息及第二相位信息,第一相位信息对应的第一目标平滑点为:

第二相位信息对应的第二目标平滑点为:

举例而言,一帧信号为{x1,x2,x3,x4,x5,x6,x7,x8},当循环到i=7的第7个语音采样点(即目标语音采样点)时,当

在S1332中,当目标相位信息为一类相位信息时,根据平滑增益及目标平滑点的幅值平滑调整目标语音采样点的幅值包括:将平滑增益乘以目标平滑点的幅值,得到平滑后的幅值,将平滑后的幅值作为目标语音采样点的幅值。

当目标相位信息包括至少两类相位信息时,根据平滑增益及目标平滑点的幅值平滑调整目标语音采样点的幅值包括:根据每个目标平滑点的幅值及与每个目标平滑点对应的平滑增益计算加权幅值,综合多个目标平滑点的加权幅值,得到目标语音采样点的幅值。

本实施例采用如下式子计算加权幅值:

在一些实施例中,目标相位信息包括归一化后的第一相位信息及第二相位信息,目标语音采样点的幅值为:

本实施例通过综合考虑目标语音采样点的多类相位信息,通过加权方式求取每类相位信息对应的幅值,再综合多类相位信息的幅值以得到目标语音采样点的幅值,如此能够更加平滑语音信号,提高帧间的连续性,进而能够提高语音信号的自然性。

如前所述,本实施例能够利用三角函数对基音周期进行拉伸或压缩,达到修改基音效果的时域方法。之后,本实施例还可对变调语音信号的共振峰进行重构,会进一步地增强变声效果,具体如下:

本实施例获取变声频域信息,对变声频域信息进行归一化处理,得到归一化频域信息,归一化频域信息包括共振峰归一化后的频域信息,对归一化频域信息进行修正处理,得到修正频域信息,修正频域信息包括共振峰被修正后的频域信息,根据修正频域信息及变声频域信息的相位信息,生成时域语音信息。

变声频域信息为对变调语音信号进行傅里叶变换得到的信息,变声频域信息包括共振峰对应的频域信息。本实施例根据目标窗函数,对变调语音信号进行加窗处理,得到加窗后的语音信息,对所述加窗后的语音信息进行傅里叶变换,得到变声频域信息。举例而言,本实施例根据以下式子,对变调语音信号进行傅里叶变换,从而得到变声频域信息:

X(n)=fft([x(n-1);x(n)·win])

其中,X(n)表示第n帧的变声频域信息,win表示目标窗函数,本文可为汉宁窗,汉宁窗的长度为2*M,fft表示傅里叶变换。在一些实施例中,目标窗函数为汉宁窗函数。

归一化频域信息为对变声频域信息进行归一化处理后的频域信息。共振峰为语音信号在频谱中能量比较集中的区域。

时域语音信息为目标频域信息从频域转换到时域上的信息,其中,目标频域信息由联合修正频域信息及变声频域信息的相位信息得到的。举例而言,本实施例根据以下式子,可得到时域语音信息,如下:

其中,Y1(n)为第n帧修正频域信息,Y2(n)为第n帧目标频域信息,

在一些实施例中,本实施例对目标频域信息进行傅里叶逆变换,得到时域语音信息,举例而言,本实施例根据以下式子,可得到时域语音信息,如下:

y(n)=ifft(Y2(n))*win

其中,y(n)为时域语音信息,ifft为傅里叶逆变换。

在一些实施例中,根据修正频域信息及变声频域信息的相位信息,生成时域语音信息包括以下步骤:

S141:对修正频域信息及相位信息进行傅里叶逆变换,得到初步时域信息。

S142:对初步时域信息进行平滑处理,得到时域语音信息。

在S141中,如前所述,本实施例可采用式子四对修正频域信息及相位信息进行傅里叶逆变换,以便得到初步时域信息。

在S142中,为了提高变声后的语音信号的自然性和平滑性,本实施例可对初步时域信息进行平滑处理,得到时域语音信息,举例而言,本实施例根据以下式子,可得到时域语音信息,如下:

out(n)=y(1:M)+out_last(n)

out_last(n)=y(M+1:2*M)

其中,out(n)为时域语音信息,out_last(n)为上一帧的后半帧数据。

本实施例能够有效地对初步时域信息进行平滑及恢复时域信息处理,从而能够自然平滑地输出时域语音信息。

在一些实施例中,对变声频域信息进行归一化处理,得到归一化频域信息包括以下步骤:确定变调语音信号在频域上的归一化包络系数,根据归一化包络系数,对变声频域信息进行归一化处理,得到归一化频域信息。

归一化包络系数为各个共振峰在频域上的幅度集合。

在一些实施例中,本实施例根据线性预测算法,计算变调语音信号在频域上的p阶线性预测系数,p为正整数,根据p阶线性预测系数,确定归一化包络系数。

其中,本实施例利用莱文逊—杜宾公式自相关法求解线性线性预测系数,线性预测系统可由以下式子表示:

其中,

的自相关函数r(j)如下所示:

最小均方误差E可写为:

利用递归解法分步进行递归推导:

①当i=0时,E=r(0),a

②对应第i次递归(i=1,2,3,…,p):

a

a

E

其中,上面格式括号中的上标表示预测器的阶数。通过对i=1,2…,p进行递推解,解得:

a

本实施例保留阶数为p的线性预测系数a

在一些实施例中,根据p阶线性预测系数确定归一化包络系数包括以下步骤:将p阶线性预测系数的长度扩充至目标窗函数的长度,得到扩充线性预测系数,其中,目标窗函数为参与计算变声频域信息的窗函数,对扩充线性预测系数进行傅里叶变换,得到系数傅里叶信息,对系数傅里叶信息进行求模,得到归一化包络系数。

本实施例在p阶线性预测系数之后填充0,以将p阶线性预测系数的长度扩充至目标窗函数的长度,亦即扩充为2*M大小的一帧数据,其中,2*M为目标窗函数的长度,举例而言,本实施例在p阶线性预测系数之后填充0,得到ar(n)=[a

本实施例根据以下式子,对扩充线性预测系数进行傅里叶变换以得到系数傅里叶信息,如下:

F=fft(ar(n))

其中,F为系数傅里叶信息。

本实施例根据以下式子,对系数傅里叶信息进行求模以得到归一化包络系数,如下:

AR(n)=abs(F,2M)

其中,AR(n)为第n帧的归一化包络系数,abs表示求模。

在一些实施例中,根据归一化包络系数,对变声频域信息进行归一化处理,得到归一化频域信息包括以下步骤:根据归一化包络系数,计算归一化因子,根据归一化因子及变声频域信息,确定归一化频域信息。

在一些实施例中,本实施例求取归一化包络系数的倒数,并归一化包络系数的倒数作为归一化因子。在一些实施例中,本实施例根据归一化包络系数及除法保护因子,计算归一化因子,举例而言,本实施例根据以下式子,计算归一化因子,如下:

α(n)=1(AR(n)+δ)

其中,α(n)为归一化因子,δ为除法保护因子,其中,δ可由设计者根据业务需求自定义,比如δ为0.00001。

在一些实施例中,本实施例求取变声频域信息的模,再将变声频域信息的模除以归一化因子,得到归一化频域信息,举例而言,本实施例根据以下式子,确定归一化频域信息,如下:

Y(n)=abs(X(n))α(n)

其中,Y(n)为归一化频域信息。

在一些实施例中,对归一化频域信息进行修正处理,得到修正频域信息包括以下步骤:根据归一化包络系数,计算共振峰的补偿向量,根据归一化频域信息及补偿向量,确定修正频域信息。

补偿向量用于修正共振峰的幅度。在一些实施例中,根据归一化包络系数计算共振峰的补偿向量包括:根据预设共振峰修正比率,修正归一化包络系数以得到修正包络系数,其中,修正包络系数的系数数量与归一化包络系数的系数数量相等,根据修正包络系数,确定共振峰的补偿向量。其中,预设共振峰修正比率可由设计者根据工程经验自定义。

在一些实施例中,根据预设共振峰修正比率,修正归一化包络系数以得到修正包络系数包括:根据预设共振峰修正比率,缩小或放大归一化包络系数的系数数量,得到缩放后的包络系数,根据线性插值算法,对缩放后的包络系数进行线性插值以得到修正包络系数。

举例而言,归一化包络系数AR(n)=[1,2,3,.....,2*M],预设共振峰修正比率rate=2,于是,本实施例对归一化包络系数的系数数量进行缩小一倍,可得到缩放后的包络系数AR_interp(n)=[1,3,5,.....,M]。本实施例根据线性插值算法,将未插值前的归一化包络系数AR(n)=[1,2,3,.....,2*M]线性插入到缩放后的包络系数AR_interp(n)=[1,3,5,.....,M]中,以将缩放后的包络系数AR_interp(n)=[1,3,5,.....,M]扩展成2*M大小的一帧数据,可得到修正包络系数AR_interp1(n)=[1,3,5,.....,M,α(M+1),.....,α(2*M)]。

可以理解的是,当预设共振峰修正比率rate=0.5时,本实施例对归一化包络系数的系数数量进行放大,可得到缩放后的包络系数AR_interp(n)=[1,1.5,2,2.5,3,3.5,.....,2*M]。

在一些实施例中,根据修正包络系数确定共振峰的补偿向量包括:直接将修正包络系数作为共振峰的补偿向量。

在一些实施例中,根据修正包络系数确定共振峰的补偿向量包括:对修正包络系数进行滤波处理,得到共振峰的补偿向量,如此,本实施例能够得到平滑程度比较高和毛刺点比较少的补偿向量,有利于后续根据归一化频域信息及补偿向量,得到平滑程度比较高的修正频域信息,也进而根据修正频域信息及变声频域信息的相位信息,生成平滑程度比较高的时域语音信息,如此会使得变声更为自然和连贯。

在一些实施例中,滤波处理包括初始滤波处理,对修正包络系数进行滤波处理,得到共振峰的补偿向量包括以下步骤:对修正包络系数进行初始滤波处理,得到共振峰的初始向量,根据共振峰的初始向量,确定共振峰的补偿向量。

在一些实施例中,对修正包络系数进行初始滤波处理,得到共振峰的初始向量包括以下步骤:获取上一帧修正包络系数、当前帧修正包络系数及下一帧修正包络系数,根据上一帧修正包络系数及第一预设权重,计算第一系数加权结果,根据当前帧修正包络系数及第二预设权重,计算第二系数加权结果,根据下一帧修正包络系数及第三预设权重,计算第三系数加权结果,相加第一系数加权结果、第二系数加权结果及第三系数加权结果,得到共振峰的初始向量。

在一些实施例中,第二预设权重大于第一预设权重和第三预设权重,如此可增加当前帧修正包络系数对确定初始向量的影响。在一些实施例中,第一预设权重大于第三预设权重,如此可增加上一帧修正包络系数对确定初始向量的影响。

举例而言,本实施例根据以下式子,确定共振峰的初始向量,如下:

ψ1=AR_interp1(i-1)*η1

ψ2=AR_interp1(i)*η2

ψ3=AR_interp1(i+1)*η3

AR_interp2(i)=ψ1+ψ2+ψ3

其中,AR_interp1(i-1)为上一帧修正包络系数,η1为第一预设权重,ψ1为第一系数加权结果。AR_interp1(i)为当前帧修正包络系数,η2为第二预设权重,ψ2为第二系数加权结果。AR_interp1(i+1)为下一帧修正包络系数,η3为第三预设权重,ψ3为第三系数加权结果。AR_interp2(i)为初始向量。i=2,3,4,……,2*M-1。在一些实施例中,η1为0.2,η2为1,η3为0.01。

在一些实施例中,根据共振峰的初始向量确定共振峰的补偿向量包括:直接将共振峰的初始向量作为共振峰的补偿向量。

在一些实施例中,滤波处理包括中值滤波处理,根据共振峰的初始向量确定共振峰的补偿向量包括:对共振峰的初始向量进行中值滤波处理,得到共振峰的补偿向量。

举例而言,本实施例根据以下式子,对共振峰的初始向量进行中值滤波处理以得到共振峰的补偿向量,如下:

AR_interp3(n)=medfilt(AR_interp2(n))

本实施例通过初始滤波处理和中值滤波处理,能够可靠有效地过滤掉补偿向量的毛刺点,会使得补偿向量更为平滑。

在一些实施例中,根据归一化频域信息及补偿向量确定修正频域信息包括:将归一化频域信息及补偿向量进行相乘,得到修正频域信息。举例而言,本实施例根据以下式子,得到修正频域信息,从而能够重新拟合生成共振峰,如下:

Y1(n)=Y(n)*AR_interp3(n)

得到修正频域信息后,本实施例可联合上文提及的式子,可输出时域语音信息。如前所述,本实施例提供的经过变声处理的时域语音信息比较自然和平滑。

需要说明的是,在上述各个实施方式中,上述各步骤之间并不必然存在一定的先后顺序,本领域普通技术人员,根据本发明实施方式的描述可以理解,不同实施方式中,上述各步骤可以有不同的执行顺序,亦即,可以并行执行,亦可以交换执行等等。

请参阅图2,图2为本发明实施例提供的一种电子设备的电路结构示意图。如图2所示,电子设备200包括一个或多个处理器21以及存储器22。其中,图2中以一个处理器21为例。

处理器21和存储器22可以通过总线或者其他方式连接,图2中以通过总线连接为例。

存储器22作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的语音变调方法对应的程序指令/模块。处理器21通过运行存储在存储器22中的非易失性软件程序、指令以及模块,从而执行上述方法实施例提供的语音变调方法的功能。

存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述程序指令/模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,执行上述任意方法实施例中的语音变调方法。

本发明实施例还提供了一种存储介质,所述存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图2中的一个处理器21,可使得上述一个或多个处理器可执行上述任意方法实施例中的语音变调方法。

本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被电子设备执行时,使所述电子设备执行任一项所述的语音变调方法。

以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

技术分类

06120115935502