1.一种混音器,其特征在于所述混音器包括:
分帧单元,用于对参与混音的各路信号分别进行分帧;
与所述分帧单元相连接的语音检测单元;所述语音检测单元用于对分帧后的各路信号是否均含有语音信号进行检测;所述语音检测单元通过检测一路信号中当前帧是否处于有语音信号状态,来确定该路信号是否含有语音信号;
与所述语音检测单元相连接的时变滤波器;所述时变滤波器用于根据所述语音检测单元的检测结果,对分帧后的各路信号分别进行时变低通滤波处理;当一路信号中当前帧处于有语音信号状态时,所述时变滤波器的通带宽度逐渐变宽,当一路信号中当前帧处于无语音信号状态时,所述时变滤波器的通带宽度逐渐变窄;
与所述语音检测单元相连接的响度计算单元;所述响度计算单元用于根据所述语音检测单元的检测结果,来分别计算分帧后的各路信号在当前预定时间段内的平均响度;
与响度计算单元相连接的权重计算单元;所述权重计算单元用于根据所述响度计算单元的计算结果,分别计算参与混音的各路信号中当前帧所包括的各样本权重;
与所述时变滤波器和所述权重计算单元相连接的混音单元;所述混音单元用于根据各路信号分别经过时变低通滤波处理后的当前帧输出信号,以及各路信号中当前帧所包括的各样本权重,获得并输出各路信号当前帧混音后的一路当前帧信号;
与所述混音单元相连接的后处理单元;所述后处理单元用于根据混音单元输出的一路当前帧信号,计算混音后信号当前帧所包括的各样本权重和各输出样本。
2.根据权利要求1所述的混音器,其特征在于所述语音检测单元包括:
功率计算模块,用于分别计算分帧后的各路信号中当前帧的功率;
与所述功率计算模块相连接的最小帧功率确定模块;所述最小帧功率确定模块用于根据所述功率计算模块的计算结果,来分别获得分帧后的各路信号在当前预定时间段内最小的帧功率;
与所述功率计算模块和所述最小帧功率确定模块相连接的语音状态获知模块;所述语音状态获知模块用于通过对一路信号中当前帧的功率与所述最小的帧功率之间的比较来检测一路信号中是否含有语音信号。
3.根据权利要求2所述的混音器,其特征在于,
所述功率计算模块通过公式来计算一路信号中当前帧的功率,式中:pow表示当前帧的功率,x[i]表示当前帧第i个输入数据,N表示一帧中的样本数量;
所述当前预定时间段表示从当前帧的前r帧至当前帧的持续时间T;所述最小帧功率确定模块通过公式pow_min=min{当前帧功率,当前帧前1帧功率,···,当前帧前r帧功率}来获得一路信号在当前预定时间段内最小的帧功率,式中:min{}表示大括号中所有数据的最小值、ceil(x)表示接近x且大于等于x的整数、FS表示采样频率、N表示一帧中的样本数量;
所述语音状态获知模块通过设定VAD来表示一路信号中是否含有语音信号,并对VAD赋初值使得VAD=1;当pow≥32·pow_min,且VAD=0时所述语音状态获知模块将VAD置1,表示该路信号处于有语音信号状态;当pow≤4·pow_min,且VAD=1时所述语音状态获知模块将VAD置0,表示该路信号处于无语音信号状态;在pow与pow_min之间的比较结果为其它情况时,所述语音状态获知模块将VAD保持不变。
4.根据权利要求1所述的混音器,其特征在于所述时变滤波器通过公式f[i]=(1-b)*x[i]+b*f[i-1]获得一路信号中当前帧的第i个滤波输出值,式中:f[i]表示一路信号中当前帧的第i个滤波输出值、x[i]表示当前帧第i个输入数据、N表示一帧中的样本数量、0≤i<N、b表示滤波系数,在当前帧处于有语音信号状态时,在当前帧处于无语音信号状态时,当b<0.18,取b=0.18,当b>0.956,取b=0.956,p1表示b从0.956变至0.18的时间长度内的采样点数,p2表示b从0.18变至0.956的时间长度内的采样点数。
5.根据权利要求1所述的混音器,其特征在于,
所述响度计算单元包括:DFT变换模块、与DFT变换模块相连接的响度获得模块和与响度获得模块相连接的平均响度获得模块;
当一路信号中当前帧处于有语音信号状态时,通过所述DFT变换模块对该路信号中当前帧进行DFT变换,之后通过所述响度获得模块计算所述当前帧的响度值,最后通过所述平均响度获得模块计算该路信号当前预定时间段内的平均响度;
当一路信号中当前帧处于无语音信号状态时,该路信号当前预定时间段内的平均响度等于在当前帧之前的含有语音信号的上一预定时间段内的平均响度。
6.根据权利要求5所述的混音器,其特征在于,
所述DFT变换模块通过公式s=0、1、…、N-1对一路信号中当前帧进行DFT变换,式中,s表示离散频率、x[i]表示当前帧第i个输入数据、X[s]表示x[i]经过DFT变换后得到的结果、j表示虚数单位,j2=-1;
所述响度获得模块利用公式对所述当前帧的响度值进行计算,式中,loudness表示当前帧的响度值、X[s]表示x[i]经过DFT变换后得到的结果、Equal[s]表示具有预设数值的等响度数组、s20=ceil(20*N/Fs)、s20000=floor(20000*N/Fs)、ceil(x)表示接近x且大于等于x的整数、floor(x)表示接近x且小于等于x的整数、FS表示采样频率、N表示一帧中的样本数量;
所述平均响度获得模块通过公式来计算一路信号当前预定时间段内的平均响度;当前预定时间段表示从当前帧的前r帧至当前帧的持续时间T;式中:ceil(x)表示接近x且大于等于x的整数、FS表示采样频率、N表示一帧中的样本数量。
7.根据权利要求6所述的混音器,其特征在于,
所述权重计算单元通过公式得出第k路信号中当前帧权重,并通过公式weightk[i]=weightk 0≤i<N获得第k路信号中当前帧第i个样本的权重;式中:weightk表示第k路信号中当前帧权重,LOUDk表示第k路信号在当前预定时间段内的平均响度,M表示参与混音的信号路数,k=1、2、…、M,weightk[i]表示第k路信号中当前帧第i个样本的权重;
所述混音单元通过公式0≤i<N得出各路信号当前帧混音后的一路当前帧信号,式中:Mix[i]表示混音后的一路当前帧信号的第i个样本,M表示参与混音的信号路数,f_k[i]表示经过时变低通滤波处理后的第k路信号中当前帧第i个样本输出信号,weightk[i]表示第k路信号中当前帧所包括的第i个样本的权重,k=1、2、…、M;
所述后处理单元还用于获得混音后信号当前帧中的最大样本、以及计算混音后信号的当前帧权重。
8.根据权利要求7所述的混音器,其特征在于,
所述权重计算单元还用于分别对参与混音的各路信号中的各帧权重进行平滑处理。
9.根据权利要求8所述的混音器,其特征在于,
所述权重计算单元对一路信号中的各帧权重进行平滑处理的实现过程为:
当一路信号中当前帧为第一帧时,所述权重计算单元通过公式weightk[i]=weightk 0≤i<N获得第k路信号中当前帧第i个样本的权重;
当一路信号中当前帧不为第一帧时,所述权重计算单元通过公式
0≤i<P获得第k路信号中当前帧第i个样本的权重;其中,weightk[i]表示第k路信号中当前帧第i个样本的权重、N表示一帧中的样本数量、P表示weightk[i]从当前帧前1帧权重逐渐变至当前帧权重的采样点数;
所述后处理单元通过公式signalmax=max{|Mix[0]|,|Mix[1]|,···|Mix[N-1]|}获得混音后信号当前帧中的最大样本,式中:signalmax表示混音后信号当前帧所包括的最大样本、max{}表示大括号中数据的最大值、Mix[0]表示混音后信号当前帧第0样本的输出信号、Mix[1]表示混音后信号当前帧第1样本的输出信号、Mix[N-1]表示混音后信号当前帧第N-1样本的输出信号;
当signalmax≤32768时,所述后处理单元计算出混音后信号的当前帧权重weightmix=1,当signalmax>32768时,所述后处理单元计算出混音后信号的当前帧权重
当混音后信号的当前帧为第一帧时,所述后处理单元通过公式weightmix[i]=weightmix0≤i<N获得混音后信号当前帧第i个样本的权重,当混音后信号的当前帧不为第一帧时,所述后处理单元通过公式0≤i<Q获得混音后信号当前帧第i个样本的权重,式中:weightmix[i]表示混音后信号当前帧第i个样本的权重、Q表示weightmix[i]从混音后当前帧前1帧权重逐渐变至混音后当前帧权重的采样点数;
所述后处理单元通过公式得出混音后信号当前帧的第i个输出样本y[i],式中:final[i]=Mix[i]*weightmix[i]、0≤i<N。
10.一种混音方法,其特征在于所述方法包括如下步骤:
步骤1:对参与混音的各路信号分别进行分帧;
步骤2:对分帧后的各路信号是否均含有语音信号进行检测;通过检测一路信号中当前帧是否处于有语音信号状态,来确定该路信号是否含有语音信号;
步骤3:根据语音信号检测结果,对分帧后的各路信号分别进行时变低通滤波处理:当一路信号中当前帧处于有语音信号状态时,通带宽度逐渐变宽,当一路信号中当前帧处于无语音信号状态时,通带宽度逐渐变窄;
步骤4:根据语音信号检测结果,来分别计算分帧后的各路信号在当前预定时间段内的平均响度;
步骤5:根据平均响度计算结果,分别计算参与混音的各路信号中当前帧所包括的各样本权重;
步骤6:根据各路信号分别经过时变低通滤波处理后的当前帧输出信号,以及各路信号中当前帧所包括的各样本权重,获得并输出各路信号当前帧混音后的一路当前帧信号;
步骤7:根据各路信号当前帧混音后的一路当前帧信号,计算混音后信号当前帧所包括的各样本权重和各输出样本。