一种立体声音频的处理方法和装置转让专利

申请号 : CN201410263446.3

文献号 : CN104053120B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王子亮

申请人 : 福建星网视易信息系统有限公司

摘要 :

本发明披露了一种立体声音频的处理方法,包括步骤:分别将左声道和右声道的时域信号变换为频域信号;计算左声道频域信号与右声道频域信号相应频点对的幅度比值,将幅度比值在预设范围内的频点列为待衰减的频点,和/或计算左声道频域信号与右声道频域信号相应频点对的相位差值,将相位差值在预设范围内的频点列为待衰减的频点;对待衰减的频点进行衰减;将经上述衰减处理的频域信号逆变换为时域信号。本发明还披露了实现该方法的一种装置;利用左右声道之间伴奏与人声的特定差异性,对伴奏进行抑制,从而增强人声,或对人声进行抑制从而提取伴奏。所得到的处理结果能够为对歌曲中人声或伴奏信息的分析奠定良好的基础。

权利要求 :

1.一种立体声音频的处理方法,其特征在于,包括步骤:分别将左声道和右声道的时域信号变换为频域信号;

利用变换得到的频域信号计算左声道频域信号与右声道频域信号相应频点对的幅度比值,将幅度比值在预设范围内的频点列为待衰减的频点;和/或利用变换得到的频域信号计算左声道频域信号与右声道频域信号相应频点对的相位差,将相位差差值在预设范围内的频点列为待衰减的频点;

对待衰减的频点进行衰减处理;

再将处理后的频域信号逆变换为时域信号。

2.如权利要求1所述的立体声音频的处理方法,其特征在于,计算左右声道相应频点对的相位差的公式为:

pn(i)=angel(fft_frameLn(i))-angel(fft_frameRn(i)),其中fft_frameRn(i)与fft_framLn(i)分别表示右声道与左声道的频谱;

公式中n=0,1,2,…,N-1;N表示帧数;

i=0,1,2,…,FN/2;FN表示傅里叶变换的点数。

3.如权利要求1所述的立体声音频的处理方法,其特征在于,所述左声道频域信号与右声道频域信号相应频点对的幅度比值计算公式如下:kn(i)=abs(fft_frameRn(i))/abs(fft_framLn(i))*(2/π),其中fft_frameRn(i)与fft_framLn(i)分别表示右声道与左声道的频谱;

公式中n=0,1,2,…,N-1;N表示帧数;

i=0,1,2,…,FN/2;FN表示傅里叶变换的点数。

4.如权利要求1所述的立体声音频的处理方法,其特征在于,在步骤“分别将左声道和右声道的时域信号变换为频域信号”之前还包括步骤:对左声道和右声道的时域信号进行归一化处理;

将左声道和右声道的时域信号分别划分为若干帧,每帧包括预设数量的声音采样点,并且相邻帧之间有预设数量的重合采样点;

对每帧进行加汉宁窗滤波处理。

5.一种立体声音频的处理装置,其特征在于,包括变换单元、计算单元、抑制单元以及逆变换单元;

所述变换单元用于将左声道和右声道的时域信号变换为频域信号;

所述计算单元用于计算左声道频域信号与右声道频域信号相应频点对的幅度比值,将幅度比值在预设范围内的频点列为待衰减的频点;和/或用于计算左声道频域信号与右声道频域信号相应频点对的相位差,将相位差差值在预设范围内的频点列为待衰减的频点;

所述抑制单元用于对计算单元计算所得待衰减的频点进行衰减处理;

所述逆变换单元用于将频域信号逆变换为时域信号。

6.如权利要求5所述的立体声音频的处理装置,其特征在于,计算单元用于计算左右声道相应频点对的相位差的公式为:pn(i)=angel(fft_frameLn(i))-angel(fft_frameRn(i));

其中fft_frameRn(i)与fft_framLn(i)分别表示右声道与左声道的频谱;

公式中n=0,1,2,…,N-1;N表示帧数;

i=0,1,2,…,FN/2;FN表示傅里叶变换的点数。

7.如权利要求5所述的立体声音频的处理装置,其特征在于,所述计算单元用于计算左声道频域信号与右声道频域信号相应频点对的幅度比值计算公式如下:kn(i)=abs(fft_frameRn(i))/abs(fft_framLn(i))*(2/π),其中fft_frameRn(i)与fft_framLn(i)分别表示右声道与左声道的频谱;

公式中n=0,1,2,…,N-1;N表示帧数;

i=0,1,2,…,FN/2;FN表示傅里叶变换的点数。

8.如权利要求5所述的立体声音频的处理装置,其特征在于,还包括归一化单元、分帧单元和滤波单元;

所述归一化单元,用于对左声道和右声道的时域信号进行归一化处理;

所述分帧单元,用于将左声道和右声道的时域信号分别划分为若干帧,每帧包括预设数量的声音采样点,并且相邻帧之间有预设数量的重合采样点;

所述滤波单元,用于对每帧进行加汉宁窗滤波处理。

说明书 :

一种立体声音频的处理方法和装置

技术领域

[0001] 本发明涉及音频处理领域,更具体地涉及一种立体声音频的处理方法和装置。

背景技术

[0002] 从立体声中将人声和伴奏分离的技术在音频处理领域有重要而广泛的应用,例如歌词的自动识别和校正,就需要以先期的人声分离作为基础来进行。歌词自动识别通常要求输入处理系统的是单独的人声,有伴奏干扰的情况下很难完成,但因为大多数歌曲都同时包含歌声与乐器伴奏,直接进行是不实际的。
[0003] 现有技术中涉及从歌曲中提取伴奏、提取人声或分离伴奏和人声的方法往往利用的是多数立体声歌曲中人声在左右两个声道中基本相同的特点,例如,采用将两个声道中的信号直接对减的方法来消除人声。从歌曲中提取人声的研究还相对较少。其中,利用立体声歌曲左右声道信号之间的相关性来提取人声或伴奏是立体声音频研究的一个重要方向。
[0004] 一种现有的基于立体声相关声道提取人声的技术是对左右声道相应频点对的均值信号加权人声增益,人声增益与当前频点对的归一化互相关值成正比例取值;将加权人声增益后的左声道和右声道的均值信号由频域转换为时域提取出人声。该方法仅仅利用互相关这一特性来区分伴奏与人声,虽然可以一定程度地抑制伴奏,但结果会残余伴奏。
[0005] 因此,如何较大程度地抑制伴奏或人声部分,成为本领域人员迫切解决的一个技术问题。

发明内容

[0006] 为此,需要提供一种准确有效地提取音场中不同区域的音频信号的方法和技术。
[0007] 为实现上述目的,发明人提供的技术方案如下:
[0008] 一种立体声音频的处理方法,包括步骤:
[0009] 分别将左声道和右声道的时域信号变换为频域信号;
[0010] 利用变换得到的频域信号计算左声道频域信号与右声道频域信号相应频点对的幅度比值,将幅度比值在预设范围内的频点列为待衰减的频点;
[0011] 对待衰减的频点进行衰减处理;
[0012] 将处理后的频域信号逆变换为时域信号。
[0013] 进一步地,所述的立体声音频的处理方法还包括步骤:利用变换得到的频域信号计算左声道频域信号与右声道频域信号相应频点对的相位差,将相位差差值在预设范围内的频点也列为待衰减的频点。
[0014] 发明人还提供了另一种立体声音频的处理方法,包括步骤:
[0015] 分别将左声道和右声道的时域信号变换为频域信号;
[0016] 利用变换得到的频域信号计算左声道频域信号与右声道频域信号相应频点对的相位差,将相位差差值在预设范围内的频点列为待衰减的频点。对待衰减的频点进行衰减处理;
[0017] 再将处理后的频域信号逆变换为时域信号。
[0018] 进一步地,所述的立体声音频的处理方法还包括步骤:利用变换得到的频域信号计算左声道频域信号与右声道频域信号相应频点对的幅度比值,将幅度比值在预设范围内的频点也列为待衰减的频点;
[0019] 在应用上述方法的各实施例中,当只选择一个条件(幅度比值或相位差)时,可以遍历所有频点,当满足该条件时,直接对该频点进行衰减处理;当选择多个条件(幅度比值与相位差)时,可以先筛选出所有符合条件的频点,然后一并对这些频点进行衰减处理,比如,先按不同的条件筛选出各自的频点集合,然后将这些集合取并集,从而得到所有待衰减的点;再比如,先以某个条件筛选出符合条件的频点集合,然后以其他条件筛选,如果有新的符合条件的频点,再加入之前那个频点集合,从而得到所有待衰减的点。
[0020] 进一步地,所述的立体声音频的处理方法中,所述左声道频域信号与右声道频域信号相应频点对的幅度比值计算公式如下:kn(i)=abs(fft_frameRn(i))/abs(fft_framLn(i))*(2/π);其中fft_frameRn(i)与fft_framLn(i)分别表示右声道与左声道的频谱;
[0021] 公式中n=0,1,2,…,N-1;N表示帧数;
[0022] i=0,1,2,…,FN/2;FN表示傅里叶变换的点数。
[0023] 并将幅度比值在预设范围内的频点列为待衰减的频点。
[0024] 进一步地,所述的立体声音频的处理方法中,计算左右声道相应频点对的相位差的公式为:
[0025] pn(i)=angel(fft_frameLn(i))-angel(fft_frameRn(i));其中fft_frameRn(i)与fft_framLn(i)分别表示右声道与左声道的频谱;
[0026] 公式中n=0,1,2,…,N-1;N表示帧数;
[0027] i=0,1,2,…,FN/2;FN表示傅里叶变换的点数。
[0028] 并将相位差差值在预设范围内的频点也列为待衰减的频点。
[0029] 进一步地,所述的立体声音频的处理方法中,对待衰减的频点作衰减处理公式为:fft_frameRn(i)=0或fft_frameLn(i)=0;公式中,i为待衰减的频点。
[0030] 进一步地,所述的立体声音频的处理方法中,在步骤“分别将左声道和右声道的时域信号变换为频域信号”之前还包括步骤:
[0031] 对左声道和右声道的时域信号进行归一化处理;
[0032] 将左声道和右声道的时域信号分别划分为若干帧,每帧包括预设数量的声音采样点,并且相邻帧之间有预设数量的重合采样点。
[0033] 进一步地,所述的立体声音频的处理方法中,在步骤“将左声道和右声道的时域信号分别划分为若干帧”之后以及步骤“分别将左声道和右声道的时域信号变换为频域信号”之前还包括步骤:
[0034] 对每帧进行加汉宁窗滤波处理。
[0035] 一种立体声音频的处理装置,包括变换单元、计算单元、抑制单元以及逆变换单元;
[0036] 所述变换单元用于将左声道和右声道的时域信号变换为频域信号;
[0037] 所述计算单元用于计算左声道频域信号与右声道频域信号相应频点对的幅度比值,将幅度比值在预设范围内的频点列为待衰减的频点;或用于计算左声道频域信号与右声道频域信号相应频点对的相位差,将相位差差值在预设范围内的频点列为待衰减的频点;
[0038] 所述抑制单元用于对待衰减的频点进行衰减处理;
[0039] 所述逆变换单元用于将频域信号逆变换为时域信号。
[0040] 进一步地,所述的立体声音频的处理装置中,计算单元既用于计算左声道频域信号与右声道频域信号相应频点对的幅度比值,将幅度比值在预设范围内的频点列为待衰减的频点,也用于计算左声道频域信号与右声道频域信号相应频点对的相位差,将相位差差值在预设范围内的频点也列为待衰减的频点。
[0041] 进一步地,所述的立体声音频的处理装置中,计算单元计算所述左声道频域信号与右声道频域信号相应频点对的幅度比值计算公式如下:kn(i)=abs(fft_frameRn(i))/abs(fft_framLn(i))*(2/π);
[0042] 公式中n=0,1,2,…,N-1;N表示帧数;
[0043] i=0,1,2,…,FN/2;FN表示傅里叶变换的点数;
[0044] 进一步地,所述的立体声音频的处理装置中,计算单元计算左右声道相应频点对的相位差的公式为:
[0045] pn(i)=angel(fft_frameLn(i))-angel(fft_frameRn(i));
[0046] 公式中n=0,1,2,…,N-1;N表示帧数;
[0047] i=0,1,2,…,FN/2;FN表示傅里叶变换的点数;
[0048] 进一步地,所述的立体声音频的处理装置中,抑制单元对待衰减的频点进行衰减处理,公式为:fft_frameRn(i)=0或fft_frameLn(i)=0;公式中,i表示待衰减的频点。
[0049] 进一步地,所述的立体声音频的处理装置还包括归一化单元和分帧单元;
[0050] 所述归一化单元用于对左声道和右声道的时域信号进行归一化处理;
[0051] 所述分帧单元用于将左声道和右声道的时域信号分别划分为若干帧,每帧包括预设数量的声音采样点,并且相邻帧之间有预设数量的重合采样点;
[0052] 进一步地,所述的立体声音频的处理装置还包括滤波单元,用于对每帧进行加汉宁窗滤波处理。
[0053] 本发明利用左右声道之间伴奏与人声的特定差异性,对伴奏(人声)进行抑制,从而提取人声(伴奏),所得到的处理结果能够为对歌曲中人声(伴奏)信息的分析奠定良好的基础。

附图说明

[0054] 图1为本发明第一实施方式所述立体声音频的处理方法的流程图;
[0055] 图2为立体声歌曲《wonderful world》的时域波形;
[0056] 图3为立体声歌曲《wonderful world》经本发明第一实施方式所述立体声音频的处理方法提取人声所得时域波形;
[0057] 图4为立体声歌曲《wonderful world》经本发明第二实施方式所述立体声音频的处理方法提取人声所得时域波形;
[0058] 图5为立体声歌曲《wonderful world》经本发明第三实施方式所述立体声音频的处理方法提取人声所得时域波形;
[0059] 图6为立体声歌曲《wonderful world》经本发明第四实施方式所述立体声音频的处理方法提取伴奏所得时域波形;
[0060] 图7为本发明第三实施方式中一种立体声音频的处理装置的功能模块示意图。
[0061] 附图标记说明:
[0062] 1-变换单元
[0063] 2-计算单元
[0064] 3-抑制单元
[0065] 4-逆变换单元
[0066] 5-归一化单元
[0067] 6-分帧单元
[0068] 7-滤波单元

具体实施方式

[0069] 为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
[0070] 请参阅图1,为本发明第一实施方式中一种立体声音频的处理方法的流程图;所述方法包括步骤:
[0071] S1、对左声道和右声道的时域信号进行归一化处理;
[0072] S2、将经归一化处理的左声道和右声道的时域信号分别划分为若干帧,每帧包括预设数量的声音采样点,并且相邻帧之间有预设数量的重合采样点;
[0073] S3、对每帧进行加汉宁窗滤波处理;
[0074] S4、将经滤波处理后的每帧时域信号变换为频域信号;
[0075] S5、计算左声道频域信号与右声道频域信号相应频点对的幅度比值,对幅度比值在预设范围内的频点列为待衰减的频点,并将待衰减的频点进行衰减处理;
[0076] S6、将经衰减处理的频域信号逆变换为时域信号;
[0077] S7、连接经逆变换的每帧时域信号。
[0078] 以下以一具体案例对本方法流程进行详细阐述:
[0079] 对一首立体声歌曲音频进行处理,首先分别对该立体声歌曲音频的左声道和右声道信号进行归一化处理,所述归一化处理的方式是找出信号绝对值的最大值,将原信号除以该最大值,处理结果是使信号的正负幅值位于-1与+1之间。
[0080] 随后,分别将归一化后的左声道信号和右声道信号划分为N个帧,每帧包括8192个声音采样点,并且相邻帧之间有2048个重合的采样点。这样的划分方式目的是使帧与帧之间具有平滑过渡的效果。
[0081] 接下来,对划分后的每个帧进行加汉宁窗滤波处理。本步骤的加汉宁窗滤波处理能够有效减少后续时域到频域的变换过程中可能造成的频谱泄露。
[0082] 然后,对经加窗滤波处理的每帧音频信号进行8192个点的快速傅里叶变换(Fast Fourier Transform,FFT),得到表征右声道的频谱:fft_frameRn(i)以及表征左声道的频谱:fft_frameLn(i)。其中,i=0,1,2,...,4096;n=0,1,2,...,N-1。4096表示傅里叶变换的点数的一半,N表示帧数。本实施方式利用傅里叶变换的对称性特征,为节省计算量,只需要计算傅里叶变换点数的一半。
[0083] 继而进行的是伴奏抑制步骤。
[0084] 本实施方式中的抑制为基于幅度比值的抑制,可以用于伴奏抑制,包括步骤:计算左声道频域信号与右声道频域信号所有帧相应频点对的幅度比值,对幅度比值在预设范围内的频点进行衰减处理。
[0085] 具体做法如下:
[0086] 遍历所有的帧 (n=0,1,…,N-1);每帧再遍历所有的频率点 (i=0,1,2,...,4096);
[0087] 计算左声道和右声道所有对应帧中相应频点对的幅度比值,公式为kn(i)=abs(fft_frameRn(i))/abs(fft_frameLn(i))*(2/π),并对比值落在预设范围的频点进行抑制,上述比值落在预设范围的频点即为待衰减的频点,衰减的公式为fft_frameRn(i)=0或fft_frameLn(i)=0,公式中,i为待衰减的频点。
[0088] 幅度比值一般在(0,1)的范围内,对于人声信号,该比值在0.5左右;对于伴奏信号,该比值一般远离0.5而接近0或接近1。本实施方式的目的是抑制伴奏提取人声,频点i符合kn(i)<α或kn(i)>β,0<α<0.5,0.5<β<1;α取0.4,β取0.6。在不同的实施例中,α、β的取值可以根据实际情况调整。
[0089] 在另外一些用于抑制人声提取伴奏的实施例中,本步骤实质上为上述步骤相对应的抑制步骤,即在上述步骤中被抑制的频点范围不进行抑制处理,而对上述步骤中没有进行抑制的频点进行抑制处理,这样被抑制的频点事实上对应的是人声频点,保留下的频点对应的是伴奏频点;相对应的,对公式的参数取值进行调整,公式中频点(即待衰减的频点)i符合α<kn(i)<β,0<α<0.5,0.5<β<1。α取0.4,β取0.6。
[0090] 经过基于幅度比值伴奏抑制(或人声抑制)之后,将所有帧的频域信号逆变换为时域信号,最后连接起来,即可得到纯净的人声(或伴奏)信号。
[0091] 请参阅图3,为立体声歌曲《wonderful world》经本实施方式所述立体声音频的处理方法提取人声所得时域波形;与图2中的该歌曲原始波形对比,可以看出经伴奏抑制后的时域波形在一定程度上消除了伴奏成分,具体表现为各图横坐标约为3s~5s,7s~8.5s,10s~12s等处(实际上为歌曲中基本上只有伴奏而没有人声的段落)振幅得到一定的衰减,说明伴奏得到了一定的抑制。
[0092] 在本发明第二实施方式中,抑制步骤的处理方式与第一实施方式不同;
[0093] 本实施方式中的抑制为基于相位差的抑制,可以用于伴奏抑制,包括步骤:计算左声道频域信号与右声道频域信号相应频点对的相位差,对相位差在预设范围内的频点进行衰减处理。
[0094] 具体做法如下:
[0095] 遍历所有的帧(n=0,1,...,N-1);每帧再遍历所有的频率点(i=0,1,…,4096);
[0096] 计算左右声道中所有对应帧中相应频点对的相位差,公式为pn(i)=angel(fft_frameLn(i))-angel(fft_frameRn(i)),并对相位差差值落在预设范围的频点(即待衰减的频点)进行抑制,公式为fft_frameRn(i)=0或fft_frameLn(i)=0,公式中,i为待衰减的频点。
[0097] 相位差值一般位于(-1,1)的范围;对于人声信号,该差值接近0;对于伴奏信号,该差值远离0而接近-1或1。本实施方式的目的是抑制伴奏提取人声,频点i符合pn(i)<φ或 这里φ取-0.1, 取0.1。在不同的实施例中,φ, 的取值可以根据实际情况调整。
[0098] 在另外一些用于抑制人声提取伴奏的实施例中,本步骤实质上为人声抑制步骤;公式中频点i符合 φ取-0.1, 取0.1。对于立体声音
频而言,一般人声位于声场中央,伴奏位于声场外围,这样处理获得的音频实际上是去除声场中央位置声音,而保留声场外围声音。
[0099] 请参阅图4,为立体声歌曲《wonderful world》经本实施方式所述立体声音频的处理方法提取人声所得时域波形;与图2中的该歌曲原始波形对比,可以看出经提取伴奏后的时域波形在一定程度上消除了人声成分,具体表现为各图横坐标时间点3s~5s,7s~8.5s,10s~12s等处(实际上为歌曲中基本上只有伴奏而没有人声的段落)振幅得到一定衰减,说明伴奏得到了一定的抑制。
[0100] 在本发明第三实施方式可以用于伴奏抑制,其中,伴奏抑制步骤之外其他步骤的处理方式与第一实施方式类似;在伴奏抑制步骤中,结合了幅度比值抑制与相位差抑制,其伴奏抑制步骤的具体做法为:
[0101] 遍历所有的帧 (n=0,1,…,N-1);每帧再遍历所有的频率点 (i=0,1,2,...,4096);
[0102] 计算左声道和右声道所有对应帧中相应频点对的幅度比值,公式为kn(i)=abs(fft_frameRn(i))/abs(fft_frameLn(i))*(2/π);并对比值落在一定范围(频点i符合kn(i)<α或kn(i)>β,0<α<0.5,0.5<β<1;α取0.4,β取0.6)的频点标记为1,表示待衰减的频点;未落入指定范围的频点标记为0,并将标记值保存至缓存:flagA(i),i=0,1,...4096。
[0103] 计算左右声道中所有对应帧中相应频点对的相位差,公式为pn(i)=angel(fft_frameLn(i))-angel(fft_frameRn(i));并对相位差差值落在一定范围(i符合pn(i)<φ或 这里φ取-0.1, 取0.1)的频点标记为1,表示待衰减的频点;未落入该范围的频点标记为0,并将标记值保存至缓存:flagB(i),i=0,1,...4096。
[0104] 然后,对标记缓存flagA与flagB作或运算,即flag(i)=flagA(i)□flagB(i),i=0,1...4096;然后对所有标记为1的频点进行抑制,公式为:
[0105] fft_frameRn(i)=0或fft_frameLn(i)=0;其中i满足flag(i)==1,i=0,1,2...4096。
[0106] 上述幅度比值计算与相位差计算都是基于原音频时域信号转变的频域信号。对于原始频域信号的所有频点,只要满足幅度比值的条件与相位差条件中任意一个,就对其进行抑制。这样,由于有两个条件进行筛选,可以减少被遗漏的频点,使音频处理的效果更接近预期。并且,幅度比值抑制与相位差抑制二者可以同时进行,也可以先后进行,先后进行的话,顺序可以调换。
[0107] 请参阅图5,为立体声歌曲《wonderful world》经本实施方式所述立体声音频的处理方法提取人声所得时域波形;与图2中的该歌曲原始波形对比,可以看出经提取伴奏后的时域波形在相当程度上消除了人声成分,具体表现为各图横坐标时间点3s~5s,7s~8.5s,10s~12s等处(实际上为歌曲中基本上只有伴奏而没有人声的段落)振幅得到明显衰减,说明伴奏得到了明显抑制。
[0108] 本实施方式实际上是第一实施方式与第二实施方式中伴奏抑制步骤采取的基于对左声道和右声道所有对应帧中相应频点对的幅度比值与基于对左声道和右声道所有对应帧中相应频点对的相位差这两种处理方法的结合,具有彼此补强增益的作用,因而图5与图3或图4相比,各图横坐标时间点3s~5s,7s~8.5s,10s~12s等处(实际上为歌曲中只有伴奏而没有人声的段落)振幅得到的衰减更明显,说明伴奏得到了更为彻底的抑制。
[0109] 相对于现有技术,例如包括下述步骤的方法:分别将左声道信号和右声道信号由时域信号转换为频域信号;依次计算左声道信号和右声道信号的相应频点对的归一化互相关值;对左声道信号和右声道信号相应频点对的均值信号加权人声增益;其中,所述人声增益与当前频点对的归一化互相关值成正比例取值;将加权人声增益后的左声道和右声道的均值信号由频域信号转换为时域信号,提取出人声。相比之下,采用上述本发明的方法伴奏抑制效果更彻底。
[0110] 在本发明第四实施方式中,可以用于人声抑制,具体的,在人声抑制时结合了幅度比值抑制与相位差抑制;本实施方式中对应于第三实施方式中伴奏抑制步骤的是人声抑制步骤,做法是去除声场中央的声音,而保留声场周围的声音,具体为:
[0111] 遍历所有的帧 (n=0,1,…,N-1);每帧再遍历所有的频率点 (i=0,1,2,...,4096;n=0,1,2,...,N-1);
[0112] 计算左声道和右声道所有对应帧中相应频点对的幅度比值,公式为kn(i)=abs(fft_frameRn(i))/abs(fft_frameLn(i))*(2/π);并对比值落在预设范围的频点标记为1,表示待衰减的频点;未落入指定范围的频点标记为0,并将标记值保存至缓存:flagA(i),i=0,1,...4096。本实施例中,比值范围为:α<kn(i)<β,0<α<0.5,0.5<β<1。α取0.4,β取0.6。
[0113] 计算左右声道中所有对应帧中相应频点对的相位差,公式为pn(i)=angel(fft_frameLn(i))-angel(fft_frameRn(i));并对相位差差值落在预设范围的频点标记为1,表示待衰减的频点;未落入该范围的频点标记为0,并将标记值保存至缓存:flagB(i),i=0,1,...4096。本实施例中,差值范围: 这里φ取-0.1,
取0.1。
[0114] 然后,对标记缓存flagA与flagB作或运算,即flag(i)=flagA(i)□flagB(i),i=0,1...4096;然后对所有标记为1的频点进行抑制,公式为:
[0115] fft_frameRn(i)=0或fft_frameLn(i)=0;
[0116] 其中i满足flag(i)==1,i=0,1,2...4096。
[0117] 事实上,本实施方式中进行人声抑制同样是基于幅度比值和基于相位差两种抑制方案的结合,所以与第三实施方式类似地,也可以单独采取本实施方式中基于幅度比值进行人声抑制或基于相位差进行人声抑制的方案。
[0118] 请参阅图6,为立体声歌曲《wonderful world》经本实施方式所述立体声音频的处理方法提取伴奏所得时域波形。
[0119] 由于人声往往在声场中央,在左右声道差异较小;而乐器的伴奏信号往往左右声道差异较大。具体地,伴奏在左右两个声道中对应的频点幅值相差较大,而人声在左右两个声道中对应的频点幅值相差较小;同时伴奏在左右两个声道中的对应频点相位差值较大,而人声在左右两个声道中对应的频点相位差值较小。本发明上述几种实施方式的原理就是利用左右声道之间伴奏与人声的这种差异性,对伴奏或人声进行抑制,从而提取人声或伴奏,所得到的处理结果能够为对歌曲中人声或伴奏信息的分析奠定良好的基础。
[0120] 请参阅图7,为本发明另一实施方式中一种立体声音频的处理装置的功能模块示意图。所述装置包括变换单元1、计算单元2、抑制单元3以及逆变换单元4;
[0121] 所述变换单元1用于将左声道和右声道的时域信号变换为频域信号;
[0122] 所述计算单元2用于计算左声道频域信号与右声道频域信号相应频点对的幅度比值,将幅度比值在预设范围内的频点列为待衰减的频点;或用于计算左声道频域信号与右声道频域信号相应频点对的相位差,将相位差差值在预设范围内的频点列为待衰减的频点;
[0123] 所述抑制单元3用于对待衰减的频点进行衰减处理;
[0124] 所述逆变换单元4用于将经抑制单元处理的频域信号逆变换为时域信号。
[0125] 进一步地,所述的立体声音频的处理装置中,计算单元2既用于计算左声道频域信号与右声道频域信号相应频点对的幅度比值,将幅度比值在预设范围内的频点列为待衰减的频点,也用于计算左声道频域信号与右声道频域信号相应频点对的相位差,将相位差差值在预设范围内的频点也列为待衰减的频点;
[0126] 抑制单元3对待衰减的频点振幅强度进行衰减处理。
[0127] 进一步地,所述的立体声音频的处理装置中,计算单元2计算所述左声道频域信号与右声道频域信号相应频点对的幅度比值计算公式如下:kn(i)=abs(fft_frameRn(i))/abs(fft_framLn(i))*(2/π);
[0128] 公式中n=0,1,2,…,N-1;N表示帧数;
[0129] i=0,1,2,…,FN/2;FN表示傅里叶变换的点数;
[0130] 进一步地,所述的立体声音频的处理装置中,计算单元2计算所述左右声道相应频点对的相位差的公式为:
[0131] pn(i)=angel(fft_frameLn(i))-angel(fft_frameRn(i));
[0132] 公式中n=0,1,2,…,N-1;N表示帧数;
[0133] i=0,1,2,…,FN/2;FN表示傅里叶变换的点数;
[0134] 进一步地,所述的立体声音频的处理装置中,所述抑制单元3对待衰减的频点进行衰减处理,公式为:fft_frameRn(i)=0或fft_frameLn(i)=0;公式中,i表示待衰减的频点。
[0135] 进一步地,所述的立体声音频的处理装置还包括归一化单元5和分帧单元6;
[0136] 所述归一化单元5用于对左声道和右声道的时域信号进行归一化处理;
[0137] 所述分帧单元6用于将左声道和右声道的时域信号分别划分为若干帧,每帧包括预设数量的声音采样点,并且相邻帧之间有预设数量的重合采样点;
[0138] 进一步地,所述的立体声音频的处理装置还包括滤波单元7,用于对每帧进行加汉宁窗滤波处理。
[0139] 以下以一具体案例对所述提取音频信号的装置的工作原理进行详细阐述:
[0140] 对一首立体声歌曲音频进行提取人声操作,首先由归一化单元5分别对该立体声歌曲音频的左声道和右声道信号进行归一化处理,所述归一化处理的方式是找出信号绝对值的最大值,将原信号除以该最大值,处理结果是使信号的正负幅值位于-1与+1之间。
[0141] 随后,分帧单元6分别将归一化后的左声道信号和右声道信号划分为N个帧,每帧包括8192个声音采样点,并且相邻帧之间有2048个重合的采样点。这样的划分方式目的是使帧与帧之间具有平滑过渡的效果。
[0142] 接下来,滤波单元7对划分后的每个帧进行加汉宁窗滤波处理。本步骤的加汉宁窗滤波处理能够有效减少后续时域到频域的变换过程中可能造成的频谱泄露。
[0143] 然后,变换单元1对经加窗滤波处理的每帧音频信号进行从时域到频域的快速傅里叶变换(Fast Fourier Transform,FFT),得到表征左声道的频谱:fft_frameRn(i),i=0,1,2...4096,n=0,1,2...N-1以及表征 右声道的频 谱:fft_frameLn(i),i=0,1,2...4096,n=0,1,2...N-1。其中,4096表示傅里叶变换的点数,N表示帧数。本实施方式中考虑到傅里叶变换的对称性特征,为节省计算量,只需要计算8192个声音采样点的一半即可。
[0144] 计算单元2遍历所有的帧(n=0,1,...,N-1);每帧再遍历所有的频率点(i=0,1,2,...,4096);计算左声道和右声道所有对应帧中相应频点对的幅度比值,公式为:
[0145] kn(i)=abs(fft_frameRn(i))/abs(fft_frameLn(i))*(2/π);
[0146] 公式中n=0,1,2,…,N-1;i=0,1,2,…,4096。
[0147] 进一步地,计算单元2计算左右声道中所有对应帧中相应频点对的相位差,公式为pn(i)=angel(fft_frameLn(i))-angel(fft_frameRn(i));
[0148] 公式中n=0,1,2,…,N-1;i=0,1,2,…,4096。
[0149] 接着,筛选出待衰减的频点,也就是将幅度比值落在一定范围的频点(频点i符合kn(i)<α或kn(i)>β,0<α<0.5,0.5<β<1;α取0.4,β取0.6)或将相位差值落在一定范围的频点(i符合pn(i)<φ或 这里φ取-0.1,取0.1)列为待衰减的频点。
[0150] 然后,抑制单元3对待衰减的频点进行衰减处理,公式为:
[0151] fft_frameRn(i)=0或fft_frameLn(i)=0;公式中,i为待衰减的频点。
[0152] 此外,抑制单元3也可以按预设的比例衰减或衰减至预设的幅度进行衰减处理。
[0153] 在用于提取伴奏抑制人声时,计算幅度比值和相位差差值时与上述步骤相同,筛选待衰减的频点时,将幅度比值落在一定范围的频点(i符合α<kn(i)<β,0<α<0.5,0.5<β<1。α取0.4,β取0.6)或将相位差值落在一定范围的频点(i符合α取0.4,β取0.6)列为待衰减的频点。对待衰减的频点进行衰减的处理也与上述步骤相同。
[0154] 最后,由逆变换单元4将所有帧的频域信号逆变换为时域信号,并连接起来,即可得到纯净的人声(伴奏)信号。
[0155] 由于人声往往在声场中央,在左右声道差异较小;而乐器的伴奏信号往往在左右声道差异较大。具体地,伴奏在左右两个声道中对应的频点幅值相差较大,而人声在左右两个声道中对应的频点幅值相差较小;同时伴奏在左右两个声道中的对应频点相位差值较大,而人声在左右两个声道中对应的频点相位差值较小。本实施方式的原理就是利用左右声道之间伴奏与人声的这种差异性,对伴奏或人声进行抑制,从而提取人声或伴奏,所得到的处理结果能够为对歌曲中人声或伴奏信息的分析奠定良好的基础。
[0156] 上述实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,例如:个人计算机、服务器、网络设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,例如:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
[0157] 以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。