【发明内容】
本发明的多个方面提供一种混音方法及装置,用以提高混音后的音频质量。
本发明的一方面,提供一种混音方法,包括:
获取至少两个音源的原始音频数据;
对所述至少两个音源的原始音频数据中每个音源的原始音频数据进行频域变换处理,以获得每个音源的原始音频数据所对应的频域数据;
利用预先设置的至少两个方位信息,分别对每个音源的原始音频数据所对应的频域数据进行滤波处理,以获得每个音源的原始音频数据所对应的滤波数据,对每个音源的原始音频数据所对应的滤波数据,进行混音处理。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述获取至少两个音源的原始音频数据,包括:
对目标音频文件的帧头进行解析,以确定所述目标音频文件的目标声道数目;对所述目标音频文件的数据块进行解码,以获得音源的原始音频数据;以及根据所述目标声道数目和所述音源的原始音频数据,获得每个目标声道所对应的声道音频数据;和/或
对至少一个目标声道的音频信号进行抽样、量化和编码处理,以获得所述至少一个目标声道中每个目标声道所对应的声道音频数据。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述对所述至少两个音源的原始音频数据中每个音源的原始音频数据进行频域变换处理,以获得每个音源的原始音频数据所对应的频域数据,包括:
确定待混音的至少两个目标声道,以作为混音声道;
对每个混音声道所对应的声道音频数据进行分帧处理,以获得每个混音声道的至少一帧音频数据;
对每个混音声道的至少一帧音频数据,进行频域变换处理,以获得每个混音声道所对应的频域数据。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述利用预先设置的至少两个方位信息,分别对每个音源的原始音频数据所对应的频域数据进行滤波处理,以获得每个音源的原始音频数据所对应的滤波数据,对每个音源的原始音频数据所对应的滤波数据,进行混音处理,包括:
根据每个混音声道的方位信息,获得每个混音声道的频率响应参数;
根据每个混音声道的频率响应参数和每个混音声道所对应的频域数据,获得每个混音声道的滤波数据;
对每个混音声道的滤波数据,进行混音处理。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述频域变换处理为快速傅里叶变换方法;所述根据每个混音声道的方位信息,获得每个混音声道的频率响应参数,包括:
根据每个混音声道的方位信息,并利用公式t(k,m)=round(N×fk×τ(θm)+0.5),获得每个混音声道的频率响应参数;其中,fk=k×fs/N;τ(θm)=0.2×sin(θm)/v;其中,
k为频点,取值范围[0,N-1];
t(k,m)为第k个频点的频率响应参数值;
fs为采样率;
fk为第k个频点的频率;
N为快速傅里叶变换方法的点数;
θm为每个混音声道的方位信息,m=1,2,…,M为,M为混音声道的数目;
v为声速,340米/秒;
round(x)表示取最接近x的整数。
本发明的另一方面,提供一种混音装置,包括:
获取单元,用于获取至少两个音源的原始音频数据;
变换单元,用于对所述至少两个音源的原始音频数据中每个音源的原始音频数据进行频域变换处理,以获得每个音源的原始音频数据所对应的频域数据;
混音单元,用于利用预先设置的至少两个方位信息,分别对每个音源的原始音频数据所对应的频域数据进行滤波处理,以获得每个音源的原始音频数据所对应的滤波数据,对每个音源的原始音频数据所对应的滤波数据,进行混音处理。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述获取单元,具体用于
对目标音频文件的帧头进行解析,以确定所述目标音频文件的目标声道数目;对所述目标音频文件的数据块进行解码,以获得音源的原始音频数据;以及根据所述目标声道数目和所述音源的原始音频数据,获得每个目标声道所对应的声道音频数据;和/或
对至少一个目标声道的音频信号进行抽样、量化和编码处理,以获得所述至少一个目标声道中每个目标声道所对应的声道音频数据。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述变换单元,用于
确定待混音的至少两个目标声道,以作为混音声道;
对每个混音声道所对应的声道音频数据进行分帧处理,以获得每个混音声道的至少一帧音频数据;以及
对每个混音声道的至少一帧音频数据,进行频域变换处理,以获得每个混音声道所对应的频域数据。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述混音单元,具体用于音源的原始音频数据所对应的频域数据
根据每个混音声道的方位信息,获得每个混音声道的频率响应参数;
根据每个混音声道的频率响应参数和每个混音声道所对应的频域数据,获得每个混音声道的滤波数据;以及
对每个混音声道的滤波数据,进行混音处理。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述频域变换处理为快速傅里叶变换方法;所述混音单元,具体用于
根据每个混音声道的方位信息,并利用公式t(k,m)=round(N×fk×τ(θm)+0.5),获得每个混音声道的频率响应参数;其中,fk=k×fs/N;τ(θm)=0.2×sin(θm)/v;其中,
k为频点,取值范围[0,N-1];
t(k,m)为第k个频点的频率响应参数值;
fs为采样率;
fk为第k个频点的频率;
N为快速傅里叶变换方法的点数;
θm为每个混音声道的方位信息,m=1,2,…,M为,M为混音声道的数目;
v为声速,340米/秒;
round(x)表示取最接近x的整数。
由上述技术方案可知,本发明实施例通过对所获取的至少两个音源的原始音频数据中每个音源的原始音频数据进行频域变换处理,以获得每个音源的原始音频数据所对应的频域数据,进而利用预先设置的至少两个方位信息,分别对每个音源的原始音频数据所对应的频域数据进行滤波处理,以获得每个音源的原始音频数据所对应的滤波数据,使得能够对每个音源的原始音频数据所对应的滤波数据,进行混音处理,由于利用指定的方位信息,对待混音音源的音频信号进行滤波处理,使得每个音源的声像能够位于不同的位置,而不是都在一个位置,因此,混音后的每个音源在听觉上会感到非常清晰,从而提高了混音后的音频质量。
【具体实施方式】
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例中所涉及的终端可以包括但不限于手机、个人数字助理(Personal Digital Assistant,PDA)、无线手持装置、无线上网本、便携电脑、个人电脑(Personal Computer,PC)、MP3播放器、MP4播放器等。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本发明一实施例提供的一种混音方法的流程示意图,如图1所示。
101、获取至少两个音源的原始音频数据。
102、对所述至少两个音源的原始音频数据中每个音源的原始音频数据进行频域变换处理,以获得每个音源的原始音频数据所对应的频域数据。
103、利用预先设置的至少两个方位信息,分别对每个音源的原始音频数据所对应的频域数据进行滤波处理,以获得每个音源的原始音频数据所对应的滤波数据,对每个音源的原始音频数据所对应的滤波数据,进行混音处理。
其中,所述方位信息,用于指示音源的声像位置。可以采用任何参照物,例如,人的任意一个耳朵、人的两个耳朵中间的位置等。
需要说明的是,101~103的执行主体可以为处理装置,可以位于本地的应用(Application,App)例如,百度乐播中,或者还可以位于网络侧的服务器中,或者还可以一部分位于本地的应用中,另一部分位于网络侧的服务器。
可以理解的是,所述应用可以是安装在终端上的应用程序(nativeAPP),或者还可以是终端上的浏览器的一个网页(webAPP),只要能够实现音频数据的处理的客观存在形式都可以,本实施例对此不进行限定。
所谓音源,就是音频信号的源头。音频信号,是一种连续变化的模拟信号。音频处理设备可以对所采集的音频信号进行抽样、量化和编码处理,以获得脉冲编码调制(PulseCode Modulation,PCM)数据,进而再采用压缩算法,对PCM数据进行压缩,以获得不同压缩格式的音频文件。
其中,所述音频文件可以包括现有技术中各种压缩格式的音频文件,例如,动态图像专家组(Moving Picture Experts Group,MPEG)层3(MPEGLayer-3,MP3)格式音频文件、WMA(Windows Media Audio)格式音频文件、高级音频编码(Advanced Audio Coding,AAC)格式音频文件、无损音频压缩编码(Free Lossless Audio Codec,FLAC)或APE格式音频文件等,本实施例对此不进行特别限定。
可选地,在本实施例的一个可能的实现方式中,在101中,处理装置具体可以对目标音频文件的帧头进行解析,以确定所述目标音频文件的目标声道数目;对所述目标音频文件的数据块进行解码,以获得音源的原始音频数据,即PCM数据;以及根据所述目标声道数目和所述音源的原始音频数据,获得每个目标声道所对应的声道音频数据。
可选地,在本实施例的一个可能的实现方式中,在101中,处理装置具体可以对至少一个目标声道的音频信号(即声音模拟信号)进行抽样、量化和编码处理,以获得所述至少一个目标声道中每个目标声道所对应的声道音频数据,即PCM数据。
可选地,在本实施例的一个可能的实现方式中,在102中,处理装置具体可以确定待混音的至少两个目标声道,以作为混音声道。然后,所述处理装置对每个混音声道所对应的声道音频数据进行分帧处理,以获得每个混音声道的至少一帧音频数据,进而对每个混音声道的至少一帧音频数据,进行频域变换处理,以获得每个混音声道所对应的频域数据。
具体地,由于混音操作是按照声道对应执行,因此,所述处理装置具体可以根据每个音源所对应的声道数目,确定待混音的至少两个目标声道,以作为混音声道。
例如,音源1的声道数目是1,可以记为L11,音源2的声道数目也是1,可以记为L21,那么,所述处理装置则可以确定L11和L21为混音声道。
或者,再例如,音源1的声道数目是2,可以记为L12和L13,音源2的声道数目也是2,可以记为L22和L23,那么,所述处理装置则可以确定L12和L22为一组混音声道,确定L13和L23为另一组混音声道。
例如,音源1的声道数目是1,可以记为L14,音源2的声道数目是2,可以记为L24和L25。那么,所述处理装置则可以采用两种方式,进行混音声道的确定。
一种方式为,所述处理装置可以对音源2的两个声道的原始音频数据进行处理,以获得1个声道即L26的原始音频数据。处理装置具体可以采用现有技术中的处理方法,将2个声道的原始音频数据转换成1个声道的原始音频数据,详细描述可以参见现有技术中的相关内容,此处不再赘述。这样,则可以确定L14和L26为混音声道。
另一种方式为,所述处理装置可以对音源1的1个声道的原始音频数据进行处理,以获得2个声道即L15和L16的原始音频数据。处理装置具体可以采用现有技术中的处理方法,将1个声道的原始音频数据转换成2个声道的原始音频数据,详细描述可以参见现有技术中的相关内容,此处不再赘述。这样,则可以确定L15和L24为一组混音声道,确定L16和L25为另一组混音声道。
具体地,所述频域变换处理可以包括但不限于快速傅里叶变换(Fast FourierTransform,FFT)。
例如,所述处理装置可以对每个混音声道所对应的声道音频数据按照预设时间间隔,例如,20ms,进行分帧处理,且相邻帧之间有部分的数据重叠,例如50%的数据重叠,这样,能够获得每个混音声道的至少一帧音频数据。然后,所述处理装置则可以对每个混音声道的至少一帧音频数据,进行FFT处理,以获得每个混音声道所对应的频域数据,记为Ai,j;其中,i表示频点的编号,j表示帧的编号,Ai,j表示第j个帧在第i个频点处的频域数据。
可选地,在本实施例的一个可能的实现方式中,在103中,处理装置具体可以根据每个混音声道的方位信息,获得每个混音声道的频率响应参数,进而根据每个混音声道的频率响应参数和每个混音声道所对应的频域数据,获得每个混音声道的滤波数据。然后,所述处理装置则可以对每个混音声道的滤波数据,进行混音处理。
例如,所述频域变换处理为FFT处理,所述处理装置具体可以根据每个混音声道的方位信息,并利用公式t(k,m)=round(N×fk×τ(θm)+0.5),获得每个混音声道的频率响应参数;其中,fk=k×fs/N;τ(θm)=0.2×sin(θm)/v;其中,
k为频点,取值范围[0,N-1];
t(k,m)为第k个频点的频率响应参数值;
fs为采样率;
fk为第k个频点的频率;
N为快速傅里叶变换方法的点数;
θm为每个混音声道的方位信息,m=1,2,…,M为,M为混音声道的数目;
v为声速,340米/秒;
round(x)表示取最接近x的整数。
具体地,θm为设置具体可以根据混音声道的数目M,进行灵活设置,尽量使得每个音源的声像能够位于不同的位置。
例如,假设音源1的声道数目是1,记为L11,音源2的声道数目也是1,记为L21,所述处理装置确定L11和L21为混音声道。L11所对应的频域数据,记为H11,L21所对应的频域数据,记为H21。
那么,L11的滤波数据则可以为H11×t(k,1);L21的滤波数据则可以为H11×t(k,2);其中,θ1≠θ2。
然后,所述处理装置则可以分别对L11的滤波数据和L21的滤波数据进行反FFT处理,以获得L11的虚拟音频数据和L21的虚拟音频数据。最后,所述处理装置具体可以采用现有技术中的混音方法,对L11的虚拟音频数据和L21的虚拟音频数据进行混音处理,详细描述可以参见现有技术中的相关内容,此处不再赘述。
或者,再例如,音源1的声道数目是2,记为L12和L13,音源2的声道数目也是2,记为L22和L23,所述处理装置确定L12和L22为一组混音声道,确定L13和L23为另一组混音声道。L12和L13所对应的频域数据,记为H12和H13,L22和L23所对应的频域数据,记为H22和H23。
那么,L12的滤波数据则可以为H12×t(k,1)+H13×t(k,1),L13的滤波数据则可以为H12×t(k,1′)+H13×t(k,1′),θ1′≠360°-θ1;L22的滤波数据则可以为H22×t(k,2)+H23×t(k,2),L23的滤波数据则可以为H22×t(k,2′)+H23×t(k,2′),θ2′≠360°-θ2;其中,θ1≠θ2。
然后,所述处理装置则可以分别对L12的滤波数据和L22的滤波数据进行反FFT处理,以获得L12的虚拟音频数据和L22的虚拟音频数据,以及分别对L13的滤波数据和L23的滤波数据进行反FFT处理,以获得L13的虚拟音频数据和L23的虚拟音频数据。
最后,所述处理装置具体可以采用现有技术中的混音方法,对L12的虚拟音频数据和L22的虚拟音频数据进行混音处理,以及对L13的虚拟音频数据和L23的虚拟音频数据进行混音处理,进而将经过混音处理的两部分音频数据重新组合成声道数目是2的音频数据。其中,混音处理的详细描述可以参见现有技术中的相关内容,此处不再赘述。
本实施例中,通过对所获取的至少两个音源的原始音频数据中每个音源的原始音频数据进行频域变换处理,以获得每个音源的原始音频数据所对应的频域数据,进而利用预先设置的至少两个方位信息,分别对每个音源的原始音频数据所对应的频域数据进行滤波处理,以获得每个音源的原始音频数据所对应的滤波数据,使得能够对每个音源的原始音频数据所对应的滤波数据,进行混音处理,由于利用指定的方位信息,对待混音音源的音频信号进行滤波处理,使得每个音源的声像能够位于不同的位置,而不是都在一个位置,因此,混音后的每个音源在听觉上会感到非常清晰,从而提高了混音后的音频质量。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图2为本发明另一实施例提供的混音装置的结构示意图,如图2所示。本实施例的混音装置可以包括获取单元21、变换单元22和混音单元23。其中,获取单元21,用于获取至少两个音源的原始音频数据;变换单元22,用于对所述至少两个音源的原始音频数据中每个音源的原始音频数据进行频域变换处理,以获得每个音源的原始音频数据所对应的频域数据;混音单元23,用于利用预先设置的至少两个方位信息,分别对每个音源的原始音频数据所对应的频域数据进行滤波处理,以获得每个音源的原始音频数据所对应的滤波数据,对每个音源的原始音频数据所对应的滤波数据,进行混音处理。
其中,所述方位信息,用于指示音源的声像位置。可以采用任何参照物,例如,人的任意一个耳朵、人的两个耳朵中间的位置等。
需要说明的是,本实施例所提供的混音装置可以为一处理装置,可以位于本地的应用(Application,App)例如,百度乐播中,或者还可以位于网络侧的服务器中,或者还可以一部分功能单元位于本地的应用中,另一部分功能单元位于网络侧的服务器。
可以理解的是,所述应用可以是安装在终端上的应用程序(nativeAPP),或者还可以是终端上的浏览器的一个网页(webAPP),只要能够实现音频数据的处理的客观存在形式都可以,本实施例对此不进行限定。
图1对应的实施例中的方法,均可以由本实施例提供的混音装置实现,详细描述可以参见图1对应的实施例中的相关内容。
可选地,在本实施例的一个可能的实现方式中,所述获取单元21,具体可以用于对目标音频文件的帧头进行解析,以确定所述目标音频文件的目标声道数目;对所述目标音频文件的数据块进行解码,以获得音源的原始音频数据;以及根据所述目标声道数目和所述音源的原始音频数据,获得每个目标声道所对应的声道音频数据。
可选地,在本实施例的一个可能的实现方式中,所述获取单元21,具体可以用于对至少一个目标声道的音频信号进行抽样、量化和编码处理,以获得所述至少一个目标声道中每个目标声道所对应的声道音频数据。
可选地,在本实施例的一个可能的实现方式中,所述变换单元22,具体可以用于确定待混音的至少两个目标声道,以作为混音声道;对每个混音声道所对应的声道音频数据进行分帧处理,以获得每个混音声道的至少一帧音频数据;以及对每个混音声道的至少一帧音频数据,进行频域变换处理,以获得每个混音声道所对应的频域数据。
可选地,在本实施例的一个可能的实现方式中,所述混音单元23,具体可以根据每个混音声道的方位信息,获得每个混音声道的频率响应参数;根据每个混音声道的频率响应参数和每个混音声道所对应的频域数据,获得每个混音声道的滤波数据;以及对每个混音声道的滤波数据,进行混音处理。
例如,所述频域变换处理为FFT处理,所述混音单元23,具体可以用于根据每个混音声道的方位信息,并利用公式t(k,m)=round(N×fk×τ(θm)+0.5),获得每个混音声道的频率响应参数;其中,fk=k×fs/N;τ(θm)=0.2×sin(θm)/v;其中,
k为频点,取值范围[0,N-1];
t(k,m)为第k个频点的频率响应参数值;
fs为采样率;
fk为第k个频点的频率;
N为快速傅里叶变换方法的点数;
θm为每个混音声道的方位信息,m=1,2,…,M为,M为混音声道的数目;
v为声速,340米/秒;
round(x)表示取最接近x的整数。
具体地,θm为设置具体可以根据混音声道的数目M,进行灵活设置,尽量使得每个音源的声像能够位于不同的位置。
本实施例中,通过变换单元对获取单元所获取的至少两个音源的原始音频数据中每个音源的原始音频数据进行频域变换处理,以获得每个音源的原始音频数据所对应的频域数据,进而由混音单元利用预先设置的至少两个方位信息,分别对每个音源的原始音频数据所对应的频域数据进行滤波处理,以获得每个音源的原始音频数据所对应的滤波数据,使得能够对每个音源的原始音频数据所对应的滤波数据,进行混音处理,由于利用指定的方位信息,对待混音音源的音频信号进行滤波处理,使得每个音源的声像能够位于不同的位置,而不是都在一个位置,因此,混音后的每个音源在听觉上会感到非常清晰,从而提高了混音后的音频质量。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,音频处理引擎,或者网络装置等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。