1.一种使用旋律提取与语音合成技术的歌声分离方法,其特征在于该方法包括以下步骤:步骤S1:歌曲主旋律提取,是利用输入原始歌曲音频的信息,提取其中人声的声乐主旋律,即查找其中的人声基音并绘制旋律线;具体包括以下步骤:步骤S11:原始歌曲音频预处理,包括音频下采样、分帧加窗、DFT(离散傅里叶变换);
步骤S12:歌曲音符分割,包括音频特征提取,分割函数计算,确定分割点;
步骤S13:浊音段检测;对上述步骤S12划分的音频段作浊音段检测,检测公式如下:其中sign为符号函数,N表示该音频段的帧数,var[n]表示该帧频谱方差,T2为阈值,符号v表示取大运算;
若上式(8)结果为1则该段为非浊音段,上式(8)结果为-1或0则该段为浊音段;
步骤S14:基频提取,包括基频音高显著度函数计算,候选基频选取;具体地:步骤S141:基频音高显著度函数计算,对步骤S13中得到的浊音段作基频音高显著度计算,其计算公式如下:S(logf)=Y(logf)*(1/(α-cos(2πe-logf))-β)式(9)其中S(logf)表示基频音高显著度,Y(logf)表示对数频域,α表示基频控制参数,β为显著度控制因子,β需满足∫S(logf)dlogf=0,f表示上述浊音段音频的频率;
步骤S142:候选基频选取:
查找上述步骤S141计算得的基频音高显著度函数峰值所对应的频率集Ω1;保留频率集Ω1其中80-1000Hz的频率,得到新集合Ω2;选择Ω2中具有最大显著度的频率,将其放入集合Ω3,同时删去Ω2中与该频率有倍数关系的频率及其半频,重复以上过程直到 选取Ω3中显著度最大的3个作为候选基频集合Ω;
步骤S15:维特比基音对齐:
计算每个浊音段中满足的维特比基音对齐的基频,得到其轨迹;其公式如下:其中Sn,k表示第n帧中第k个候选基频的音高显著度,p(·)表示音高转移概率;
步骤S16:歌声判别:
利用反向传播神经网络,判断上述提取的基频是否为歌声基频;
若判断为歌声基频,且满足该浊音段基频帧数大于总帧数的1/2,则认为该段的主导基频为歌声主旋律,记为f0;对原始音频中每一段浊音段均作如上操作,最终得到基频合集F0;
注意到,当已知基频合集时,同时也得到了由基频确定的音符位置及持续时间,由浊音段确定的音节位置及持续时间;
步骤S2:说话人音库特征模型构建:
首先构建说话人音库,并通过对多个说话人音库的音频特征进行提取,训练其HMM模型,生成决策树,最终得到特征模型;具体包括如下步骤:步骤S21:说话人音库准备:选择不同的说话人构建说话人音库,每个说话人音库中包含有带人工标注的5个声调的拼音发音音频;
步骤S22:音库音频特征提取:对说话人音库中的音频进行分帧加窗、DFT操作后计算其梅尔频率倒谱系数MFCC,并将MFCC作为该音频的特征信息;
MFCC的计算公式如下:
Mel(f)=2595×lg(1+f/700)式(11)其中Mel(f)即为所求的MFCC;
步骤S23:HMM模型训练:
对上述步骤提取的音库音频特征信息MFCC,采用HMM模型对其进行训练,即将MFCC作为模型的输入,并根据公式(12)求解其最大似然估计MLE;
其中,表示最大似然估计,O表示HMM的输出序列,λ表示HMM的状态序列,P为HMM中的概率,S表示输入模型;之后配合MAP最大后验概率算法修正模型,得到单个说话人音库的相关模型;
步骤S24:决策树生成:
对经由上述步骤计算出每个说话人音库的相关模型做决策树生成;选择其中最大似然估计值贡献最大的问题进行节点分裂,并利用最小描述长度MDL作结束标志;利用MDL作结束标志的决策树模型计算公式如下:DT=argmin(Len(DT)min+Len(Ξ|DT)min)式(13)其中DT为所求模型,Len(DT)min表示对DT编码的所需求的最小的编码长度,Len(Ξ|DT)min表示在给定的DT下对Ξ编码的所需的最小的编码长度;
步骤S25:主成分分析及特征模型建立;
将上述步骤建立的决策树中的叶节点参数提取并以此构建矩阵,矩阵行数等同于叶节点个数,矩阵列数等同于叶节点个数与参数维度的乘积;
利用主成分分析法对矩阵作降维处理:首先,将矩阵每列减去相应列的期望,并计算协方差矩阵,协方差矩阵的计算公式如下:其中ξ,ζ表示矩阵任意两行向量,N表示行向量中元素个数;
利用奇异值分解法计算该协方差矩阵式(14)的特征值与特征向量;取特征值中最大的前k个,并将其对应的k个特征向量作为列向量组成一新的矩阵;然后对新矩阵减去相应行向量的均值与权系数的积,得到特征模型;其中k≤N;
步骤S3:说话人音色转换,具体包括如下:
步骤S31:人声析取:
通过对原始歌曲音频做中置声道析取,得到相对纯净的人声音频,具体地,包括以下步骤:步骤S311:非中置声道计算;利用左右声道音频的不同,结合歌曲制作者在后期混音过程中多将人声音轨声相设置于声场中间这一特点,计算出非中置声道音频信息,其计算公式如下:其中,Vl(t)表示歌曲中左声道的信息,Vr(t)表示右声道信息,Vc(t)表示中置声道信息, 表示左声道中除中置声道外的音频信息, 表示右声道中除中置声道外的音频信息, 表示非中置声道音频的估计信息;
步骤S312:中置声道析取;
中置声道的音频信息可由如下公式(17)获取:
其中 表示中置声道音频信息的估计值,V(t)表示原始音频信息;
然后对该中置声道音频 作滤波处理,保留其中80-1000Hz的频率,得到最终的人声音频即中置声道音频步骤S32:重复步骤S22,S23操作,得到经HMM模型训练后的人声音频特征信息;
步骤S33:特征模型权系数计算;对步骤S2得到的特征模型计算其权系数,计算公式如下:其中,spread表示分布,t表示时刻,Pspread(t)表示t时刻下由分布spread确定的概率,espread(i)表示单位矩阵,i=1,2,…,K,K表示列数, 表示由分布spread确定的协方差矩阵的逆,ot表示t时刻的观测序列,即由每个状态生成一个观测,而由此生成的观测的随机序列,μspread表示分布spread下的均值;而μspread又可表示为:其中ρi即为所需的特征模型权系数;
步骤S34:自适应模型构建;利用上述步骤S33得到的权系数对步骤S2中的特征模型作线性加权,得到目标说话人音色的自适应模型;
步骤S4:人声合成,具体包括以下步骤:
步骤S41:TTS(文字到语音)转换:
利用原始歌曲音频的歌词,使用TTS系统生成对应的发音,即通过建立一个汉字到拼音的映射表,利用步骤S3中建立的目标说话人音库模型,生成单字的读音;
步骤S42:歌曲演唱发音生成;其发音由以下公式(20)计算得出:其中y(t)表示目标音频,G(·)表示基频映射函数,该函数只需满足对基频具有一一映射关系即可,ω表示相位,φ(ω)表示相位激励函数,V(ω,t)在给定相位及时刻下的最小位相冲击响应值经DFT转换后的结果, 表示基频合集各基频所对应的时间位置,tk表示基频合集中第k个基频对应的时间位置;
步骤S43:音节时长变换;利用步骤S1得到的音节持续时间,由如下公式计算变换系数:TS(i)=(TB(i+1)-len(i-1))/(TB(i+1)-TB(i)) 式(21)其中TS(i)表示第i个音符下的变换系数,TB(i)表示第i个音符输出起点,len表示音符时长;
步骤S45:利用步骤S1中得到的基频及音符持续时间,结合上述音节时长变换系数TS(i)、演唱发音y(t),合成得到最终的人声发音。
2.如权利要求1所述的一种使用旋律提取与语音合成技术的歌声分离方法,其特征在于步骤S11具体是:步骤S111:对原始歌曲音频作下采样处理;使用线性插值法将原始音频采样降至8kHz:下采样数学公式如下:
其中Sd[i]表示下采样后的音频信息,S表示原始歌曲音频信息,符号 表示向下取整,i代表每个采样点,sf为下采样因子,若原始歌曲音频采样率为44.1kHz,则步骤S112:对S111下采样后的音频作分帧加窗操作,设定窗长为5帧,窗函数使用汉明窗;其公式如下:Sh[i]=Sd[i]*H[i]式(3)
其中Sh[i]表示处理后的音频信息,符号*表示卷积运算,H[i]表示汉明窗函数;
步骤S113:DFT变换,对上述分帧后的音频数据做离散傅里叶变换,公式如下:其中x[i]为DFT变换后的音频信息,符号j为虚数符号。
3.如权利要求1所述的一种使用旋律提取与语音合成技术的歌声分离方法,其特征在于步骤S12具体是:步骤S121:音频特征提取,优选地,使用八度音阶倒谱系数OSCC作为音频的特征参数,OSCC转换公式如下:Octave(f)=12log225f×mod12式(6)其中f表示原始歌曲音频频率,Octave(f)表示转换后的音频频率,即所需要的音频特征,符号mod表示取模运算;
经公式(6)处理后得到的音频频率范围为64-16384Hz,对应的八度音阶符号为C2B2-C9B9;
步骤S122:分割函数计算,其计算公式如下:
D[n]=(ΔMV[n]T×ΔMV[n])/(∑kcov[n]b,k+∑icov[n]a,k)式(7)其中ΔMV[n]表示第n帧音频前后1帧音频OSCC特征均值的差,符号T表示转置运算,cov[n]b,k表示第n帧前1帧音频的特征协方差矩阵中第k行,第k列位置对应的元素,cov[n]a,k表示第n帧后1帧音频的特征协方差矩阵中第k行,第k列位置对应的元素;
步骤S123:确定分割点;计算D[n]中所有的极大值点,并删除其中小于给定阈值T1的点,剩余的极大值点即为所求的分割点,依据分割点将原始音频划分为不同的音频段。
4.如权利要求1所述的一种使用旋律提取与语音合成技术的歌声分离方法,其特征在于步骤S16使用一个结构为13-26-13-2的反向传播神经网络,即输入层含有13个神经元,隐藏层分别含有26个和13个神经元,输出层含有2个神经元。
5.如权利要求2所述的一种使用旋律提取与语音合成技术的歌声分离方法,其特征在于步骤S22中分帧加窗、DFT分别与步骤S112、S113相同。