具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
图1及图2示出了本发明的第一实施例。
图1是本发明第一实施例提供的音频的混音方法的流程图。该方法可以由音频的混音装置来执行,该装置可以采用软件实现,集成在浏览器中实现。参见图1,所述音频的混音方法包括:
S110,通过浏览器端的音频处理应用程序处理应用程序接口加载音频文件,其中,所述浏览器端的音频处理应用程序接口是嵌入在页面代码中的用于音频处理的应用程序接口。
在本实施例中,实施所述音频的混音方法的可以是一台客户端计算机。所述客户端计算机可以是连接至因特网的个人电脑或者工作站,也可以是其他连接至因特网的计算设备。并且,该客户端计算机安装有网页浏览器,能够通过其上安装的网页浏览器浏览因特网的网页。所述网页浏览器可以是微软公司的IE浏览器,也可以是谷歌公司的Chrome浏览器,还可以是网景公司的网景浏览器等任意浏览器。
音频的混音方法可以由客户端脚本语言代码,例如Javascript代码来实现。该客户端脚本语言代码可以配置于浏览器本地,也可以由用户在浏览器的地址栏输入设定的网络地址,或者点击链接到设定网络地址的网页链接后,浏览器访问实施所述音频的混音方法的网页,获取客户端脚本语言代码。在客户端脚本语言代码中可调用浏览器端的音频处理应用程序接口,以实现音频的混音处理。其中,所述浏览器端的音频处理应用程序接口是嵌入在页面代码中的用于音频处理的应用程序接口。示例的,所述浏览器端的音频处理应用程序接口是Web Audio应用程序接口。
通过浏览器端的音频处理应用程序接口加载音频文件。其中,所述音频文件可以是客户端计算机本地存储的音频文件,也可以是存储在服务端,需要所述客户端计算机从服务端下载的音频文件。
S120,通过浏览器端的音频处理应用程序接口解析所述音频文件的声道信息,根据所述声道信息从加载的所述音频文件中提取伴奏音。
由于音频文件包括单声道音频文件和多声道音频文件。因此,在从所述音频文件中提取伴奏音之前,需要对加载的音频文件进行解析,并根据解析得到的声道信息而从所述音频文件中提取伴奏音。
示例的,如果所述音频文件是双声道音频文件,客户端计算机可以通过对所述音频文件的左声道信息和右声道信息的解析从加载的所述音频文件中提取伴奏音。
S130,通过浏览器端的音频处理应用程序采集接口获取用户的演唱音。
从音频文件中提取伴奏音后,客户端计算机通过浏览器端的音频采集接口获取用户的演唱音。所述浏览器端的音频采集接口是客户端计算机上的一种物理接口,可以用来对用户输入的音频进行采集。示例的,所述浏览器端的音频采集接口可以是客户端计算机的麦克风接口。在通过浏览器端的音频采集接口获取用户的演唱音时,浏览器端的音频采集接口会自动对用户的演唱音进行数字化,因此客户端计算机通过浏览器端的音频采集接口获取到的用户的演唱音是数字信号形式的演唱音。
S140,通过浏览器端的音频处理应用程序接口将所述伴奏音和演唱音进行混音处理,以生成混音文件,通过所述浏览器端的音频输出接口输出。
客户端计算机在提取伴奏音并获取用户的演唱音之后,将所述伴奏音与用户的演唱音进行混音。客户端计算机对伴奏音和演唱音的混音就是将伴奏音的音频数据与演唱音的音频数据进行叠加的过程。客户端计算机在将伴奏音的音频数据与演唱音的音频数据进行叠加时,可以选择以单声道的方式对伴奏音的音频数据和演唱音的音频数据进行叠加,也可以选择以多声道的方式对伴奏音的音频数据和演唱音的音频数据进行叠加。
将伴奏音的音频数据和演唱音的音频数据进行叠加后,可以根据叠加后的音频数据生成音频文件。生成的音频文件可以是wav格式的音频文件,也可以是mp3格式的音频文件,还可以是rm格式的音频文件。
所述浏览器端的音频输出接口是客户端计算机的一种物理接口,可以用来输出音频。示例的,所述浏览器端的音频输出接口可以是客户端计算机的扬声器接口。
图2是本发明第一实施例提供的音频的混音方法的信号流示意图。参见图2,客户端计算机首先通过浏览器端的音频处理应用程序接口加载音频文件,然后由音频处理应用程序接口从音频文件中去掉人声得到伴奏音的音频,再通过浏览器端的音频采集接口获取用户的演唱音,最后由音频处理应用程序接口将提取的伴奏音与用户的演唱音进行混音。
本实施例通过利用浏览器端的音频处理应用程序接口加载音频文件,从加载的音频文件中提取伴奏音,再获取用户的演唱音,最后将伴奏音和演唱音进行混音处理,实现了将演唱音和伴奏音的混音处理,提高了音乐混音处理的便捷性,简化了操作。
图3示出了本发明的第二实施例。
图3是本发明第二实施例提供的音频的混音方法中伴奏音提取的流程图。所述音频的混音方法以本发明的第一实施例为基础,进一步的,解析所述音频文件的声道信息,根据所述声道信息从加载的所述音频文件中提取伴奏音包括:
S121,解析所述音频文件的声道信息,获取所述音频文件的左声道音频数据和右声道音频数据。
在本实施例中,所述音频文件是具有双声道的音频文件。在加载了所述音频文件后,对所述音频文件的声道信息进行解析,并获取所述音频文件的左声道音频数据和右声道音频数据。
S122,如果左声道音频数据与右声道音频数据相同,则使用滤波算法对所述左声道音频数据或右声道音频数据进行滤波,以提取伴奏音。
当左声道音频数据与右声道音频数据完全相同时,没有办法根据左声道音频数据与右声道音频数据之间的差异而区分出原唱的演唱音的音频。因此,只能根据人演唱时的音频数据自身的特点从音频中区分原唱的演唱音和伴奏音。
一般情况下,人演唱的声音的频率在100Hz到300Hz之间,因此,可以构建截止频率为100Hz和300Hz的带陷滤波器,将音频文件上频率在100Hz与300Hz之间的信号滤除,并将经带陷滤波器过滤后的音频作为伴奏音的音频。
具体的,可以通过浏览器端的音频处理应用程序接口构建软件的带陷滤波器,以对音频文件进行带陷滤波,提取所述音频文件的伴奏音。
S123,如果左声道音频数据与右声道音频数据不同,则获取左声道音频数据与右声道音频数据的差异值,且根据所述差异值提取伴奏音。
当左声道音频数据与右声道音频数据不同时,左声道音频数据与右声道音频数据的差值一般是伴奏音的音频数据。因此,可以通过计算左声道音频数据与右声道音频数据的差值提取伴奏音。为提取的音频数据是伴奏音,可以进一步通过频率检测来确定。通常人演唱的声音的频率在100Hz到300Hz之间。因此,将左声道音频数据与右声道音频数据作差,并从包含演唱音的音频数据中去除掉上一步作差得到的结果数据,就可以获得伴奏音的音频数据。
本实施例通过获取音频文件的左声道音频数据以及右声道音频数据,在左声道音频数据与右声道音频数据相同时使用滤波算法提取伴奏音,而在左声道音频数据与右声道音频数据不同时利用左右声道之间的差异提取伴奏音,实现根据不同的音频文件采用不同的方式从音频文件中提取伴奏音。
图4示出了本发明的第三实施例。
图4是本发明第三实施例提供的音频的混音方法的流程图。所述音频的混音方法以本发明的第一实施例为基础,进一步的,在解析所述音频文件的声道信息,根据所述声道信息从加载的所述音频文件中提取伴奏音之前,还包括:去除所述音频文件的中频频率,以得到包括高频和低频的音频数据作为立体声补偿后的音频文件。具体的,参见图4,所述音频的混音方法包括:
S410,通过浏览器端的音频处理应用程序接口加载音频文件,其中,所述浏览器端的音频处理应用程序接口是嵌入在页面代码中的用于音频处理的应用程序接口。
S420,去除所述音频文件的中频频率,以得到包括高频和低频的音频数据作为立体声补偿后的音频文件。
为了避免在从所述音频文件中提取原唱的演唱音时会对伴奏音造成损失,在提取伴奏音之前,通过去除所述音频文件的中频频率,来对音频文件预先进行补偿。使用经过补偿后的音频文件来提取伴奏音,得到的伴奏音不会因为提取过程而在低频和高频数据部分造成数据损失。需要说明的是,中频频率是频率范围在100Hz到300Hz之间的频率;低频频率是频率范围低于100Hz的频率;高频频率是频率范围高于300Hz的频率。
S430,通过浏览器端的音频处理应用程序接口解析所述音频文件的声道信息,根据所述声道信息从加载的所述音频文件中提取伴奏音。
S440,通过浏览器端的音频采集接口获取用户的演唱音。
S450,通过浏览器端的音频处理应用程序接口将所述伴奏音和演唱音进行混音处理,以生成混音文件,通过所述浏览器端的音频输出接口输出。
本实施例通过在从音频文件中提取伴奏音之前,去除音频文件的中频频率,利用得到高频和低频的音频数据对原始的音频文件进行立体声补偿,使得加载的音频文件的伴奏音具有立体声效果,提升了用户使用KTV点唱功能时的听觉感受。
图5示出了本发明的第四实施例。
图5是本发明第四实施例提供的音频的混音方法的流程图。所述音频的混音方法以本发明的第一实施例为基础,进一步的,在将所述伴奏音和演唱音进行混音处理之前,还包括:基于设定的音频场景规则对所述演唱音进行预处理。具体的,参见图5,所述音频的混音方法包括:
S510,通过浏览器端的音频处理应用程序接口加载音频文件,其中,所述浏览器端的音频处理应用程序接口是嵌入在页面代码中的用于音频处理的应用程序接口。
S520,通过浏览器端的音频处理应用程序接口解析所述音频文件的声道信息,根据所述声道信息从加载的所述音频文件中提取伴奏音。
S530,通过浏览器端的音频采集接口获取用户的演唱音。
S540,基于设定的音频场景规则对所述演唱音进行预处理。
为了对用户的演唱音进行美化,在获取用户的演唱音之后,基于设定的音频场景规则对所述演唱音进行预处理。对演唱音进行预处理后,用户的演唱音就具备了根据设定的音频场景规则而产生的音效。具体的,经过对演唱音的预处理以后,用户的演唱音可能具有的音效包括:教堂音效、音乐厅音效、洞穴音效、隧道音效、门厅音效以及森林音效。
S550,通过浏览器端的音频处理应用程序接口将所述伴奏音和演唱音进行混音处理,以生成混音文件,通过所述浏览器端的音频输出接口输出。
本实施例通过在将所述伴奏音和演唱音进行混音处理之前,基于设定的音频场景规则对所述演唱音进行预处理,降低了对伴奏音提取过程中对伴奏音的损耗,提升了用户使用KTV点唱功能时的听觉感受。
图6示出了本发明的第五实施例。
图6是本发明第五实施例提供的音频的混音装置的结构图。参见图6,所述音频的混音装置包括:音频文件加载模块610、伴奏音提取模块630、演唱音获取模块640以及混音处理模块660。
所述音频文件加载模块610用于通过浏览器端的音频处理应用程序接口加载音频文件,其中,所述浏览器端的音频处理应用程序接口是嵌入在页面代码中的用于音频处理的应用程序接口。
所述伴奏音提取模块630用于通过浏览器端的音频处理应用程序接口解析所述音频文件的声道信息,根据所述声道信息从加载的所述音频文件中提取伴奏音。
所述演唱音获取模块640用于通过浏览器端的音频采集接口获取用户的演唱音。
所述混音处理模块660用于通过浏览器端的音频处理应用程序接口将所述伴奏音和演唱音进行混音处理,以生成混音文件,通过所述浏览器端的音频输出接口输出。
优选的,所述伴奏音提取模块630包括:声道信息解析单元631、滤波单元632以及差异提取单元633。
所述声道信息解析单元631用于解析所述音频文件的声道信息,获取所述音频文件的左声道音频数据和右声道音频数据。
所述滤波单元632用于在左声道音频数据与右声道音频数据相同时,使用滤波算法对所述左声道音频数据或右声道音频数据进行滤波,以提取伴奏音。
所述差异提取单元633用于在左声道音频数据与右声道音频数据不同时,获取左声道音频数据与右声道音频数据的差异值,且根据所述差异值提取伴奏音。
优选的,所述音频的混音装置还包括:立体声补偿模块620。
所述立体声补偿模块620用于在通过浏览器端的音频处理应用程序接口解析所述音频文件的声道信息,根据所述声道信息从加载的所述音频文件中提取伴奏音之前,去除所述音频文件的中频频率,以得到包括高频和低频的音频数据作为立体声补偿后的音频文件。
优选的,所述音频的混音装置还包括:演唱音预处理模块650。
所述演唱音预处理模块650用于在通过浏览器端的音频处理应用程序接口将所述伴奏音和演唱音进行混音处理之前,基于设定的音频场景规则对所述演唱音进行预处理。
优选的,所述浏览器端的音频处理应用程序接口包括Web Audio接口。
本实施例通过加载音频文件,从加载的音频文件中提取伴奏音,再获取用户的演唱音,最后将伴奏音和演唱音进行混音处理,实现了将演唱音和伴奏音的混音处理,提高了音乐混音处理的便捷性,简化了操作。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间的相同或相似的部分互相参见即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。