混音方法、装置、设备及存储介质与流程

文档序号:16979861发布日期:2019-02-26 19:24阅读:223来源:国知局
混音方法、装置、设备及存储介质与流程

本发明实施例涉及混音技术领域,尤其涉及一种混音方法、装置、设备及存储介质。



背景技术:

在voip电话会议中,有多个人员参与交谈,为了让某个接收方能够听到其他所有人的声音,需要对其他所有人的音频流进行混音。混音处理功能设置在服务器端,这样可以节省带宽,减小客户端计算压力,不过会增加服务器的计算压力,适合多数人同时参与会话;混音处理功能也可以设置在客户端处理,对服务器没有压力,适合少数人同时会话。

无论混音放在哪一端,均需要使聆听者清楚地听到说话者的声音,现有技术中的经典混音算法是线性叠加算法,具体如下:

假设有m个人通话,音频数据长度为n,则第i个人的音频流表示为xi(n),其中,i=1~m,n=1~n。

假设混音结果记作mix(n),线性混音计算方法:

该算法对所有声道的音频流数据直接采用线性处理,简单有效,虽然没有出现明显失真,但是,当声道增多时,即m特别大时,人声的音量会被显著削弱,用户体验较差。



技术实现要素:

本发明提供一种混音方法、装置、设备及存储介质,能有效解决多路音频流数据混音后音量变小的问题,突出说话人的声音,降低噪声音量。

第一方面,本发明实施例提供了一种混音方法,包括:

接收至少两路声道的音频流数据;

通过预先训练的人声检测模型检测所有声道的音频流数据的类型,以识别出人声声道音频流数据和噪声声道音频流数据;

将所述人声声道音频流数据进行混音,生成人声混音数据;

将所述噪声声道音频流数据进行混音,生成噪声混音数据;

将所述人声混音数据与所述噪声混音数据进行混音,生成结果混音数据。

进一步,所述通过预先训练的人声检测模型检测所有声道的音频流数据的类型,包括:

通过基于高斯概率密度函数的gmm模型、基于向量机的svm模型、基于神经网络的dnn模型或基于卷积神经网络的cnn模型中的一种算法训练所述人声检测模型。

进一步,所述将所述人声声道音频流数据进行混音,生成人声混音数据,包括:

通过线性混音对所述人声声道音频流数据进行混音,生成人声混音数据。

进一步,所述将所述噪声声道音频流数据进行混音,生成噪声混音数据,包括:

通过线性混音对所述噪声声道音频流数据进行混音,生成噪声混音数据。

进一步,所述将所述人声声道音频流数据进行混音,生成人声混音数据之前,还包括:

判断所述人声声道音频流数据是否小于预设调整幅值;

若是,则将所述人声声道音频流数据归一化至第一预设幅值范围,生成归一化后的人声声道音频流数据。

进一步,所述将所述人声声道音频流数据进行混音,生成人声混音数据之前,还包括:

判断所述人声声道音频流数据的幅值与所述噪声声道音频流数据的幅值之差是否在预设幅值差范围内;

若是,则将所述人声声道音频流数据归一化至第二预设幅值范围内,以更新所述人声声道音频流数据;将所述噪声声道音频流数据归一化至第三预设幅值范围内,以更新所述噪声声道音频流,其中,所述第二预设幅值范围大于所述第三预设幅值范围。

进一步,所述对所述人声声道音频流数据进行混音,生成人声混音数据,包括:

求取每个人声声道音频流数据的幅值或者能量的波形包络线强度;

根据每个人声声道音频流数据的波形包络线强度在所有人声声道音频流数据的波形包络线强度之和中的比重分配该人声声道音频流数据的混音权重,且所述混音权重与所述比重的正相关度在预设范围内;

根据每个人声声道音频流数据与该音频流对应的混音权重进行混音,生成混音后人声混音数据。

第二方面,本发明实施例还提供了一种混音装置包括:

音频流接收模块,用于接收至少两路声道的音频流数据;

人声检测模块,用于通过预先训练的人声检测模型检测所有声道的音频流数据的类型,以识别出人声声道音频流数据和噪声声道音频流数据;

人声混音数据生成模块,用于将所述人声声道音频流数据进行混音;

噪声混音数据生成模块,用于将所述噪声声道音频流数据进行混音;

结果混音数据生成模块,用于将所述人声混音数据与所述噪声混音数据进行混音,生成结果混音数据。

第三方面,本发明实施例还提供了一种混音设备,包括:包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面的混音方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的混音方法。

本发明实施例提供的一种混音方法、装置、设备及存储介质,通过预先训练的人声检测模型区分人声声道音频流数据和噪声声道音频流数据,并根据区分的结果对人声声道音频流数据和噪声声道音频流数据分别进行混音,生成人声混音数据和噪声混音数据,再将人声混音数据与噪声混音数据混音生成结果混音数据,相较于现有技术对所有声道的音频流数据同时进行线性混音,本发明实施例中的人声混音数据因为没有噪声声道音频流数据参与混音,使其幅值仅与各人声声道音频流数据的幅值有关,同时噪声声道音频流数据的噪声混音数据因为没有人声声道音频流数据参与混音,使其幅值仅与各噪声声道音频流数据的幅值有关,从而使结果混音数据中的人声音频流数据的幅值远远大于噪声音频流数据的幅值,使混音后的人声更加清晰,实用性和用户体验较好。

附图说明

图1为本发明实施例一中的混音方法的流程图;

图2是本发明实施例二中的混音方法的流程图;

图3是本发明实施例三中的混音方法的流程图;

图4是本发明实施例四中的混音装置的结构示意图;

图5是本发明实施例五中的混音设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1是实施例一提供的混音方法的流程图,该方法适用于多方电话会议或网络会议等在线语音的场景,可选择由部署在服务器或客户端的软/硬件执行,如图1所示,本实施例提供的一种混音方法,包括:

s102.接收至少两路声道的音频流数据。

接收电话会议或网络会议中,处于工作状态的所有声道的音频流数据。

s104.通过预先训练的人声检测模型检测所有声道的音频流数据的类型,以识别出人声声道音频流数据和噪声声道音频流数据。

本实施例中的预先训练的人声检测模型优选但不限于基于高斯概率密度函数的gmm模型、基于向量机的svm模型、基于神经网络的dnn模型或基于卷积神经网络的cnn模型,具体使用时可以根据使用场景或设备参数选用上述一种算法训练人声检测模型,并通过该人声检测模型识别出人声声道音频流数据和噪声声道音频流数据。

s106.将人声声道音频流数据进行混音,生成人声混音数据。

将人声声道音频流数据进行混音,具体混音方法可以根据实际使用场景、设备参数选择相适应的混音方法,比如线性混音:

其中,xi(n)为当前时刻的人声声道音频流数据,k为人声声道数量,mix-voice(n)为当前时刻人声混音数据。

s108.将噪声声道音频流数据进行混音,生成噪声混音数据。

将噪声声道音频流数据进行混音,具体混音方法可以根据实际使用场景、设备参数选择相适应的混音方法,比如线性混音:

xi(n)为当前时刻的噪声声道音频流数据,k为噪声声道数量,mix-noise(n)为当前时刻噪声混音数据。

本实施例中的人声声道音频流数据与噪声声道音频流数据可以采用相同的混音方法进行混音,也可以采用不同的混音方法进行混音;实际使用时,可以根据具体使用场景、声道数量或设备参数选择混音方法。

需要说明的是,本实施例中的人声混音数据与噪声混音数据的求取顺序仅是示例性的,本实施例对人声混音数据与噪声混音数据的求取顺序不予限制,可以根据需要同时求取人声混音数据与噪声混音数据,也可以先求取噪声混音数据。

s110.将人声混音数据与噪声混音数据进行混音,生成结果混音数据。

本实施例中优选将人声混音数据与噪声混音数据直接叠加混音,生成结果混音数据。

mix(n)=mix_voice(n)+mix_noise(n)

其中,mix(n)为当前时刻的结果混音数据。

示例性的,一电话会议中共有n路声道处于工作状态,获取处于工作状态中的n路声道的音频流数据,通过基于高斯概率密度函数的gmm模型检测出当前时刻所有人声声道音频流数据以及所有噪声声道音频流数据,通过线性混音求取人声混音数据;通过线性混音求取每个噪声声道的噪声混音数据;然后将人声混音数据与噪声混音数据叠加求取结果混音数据。人声声道音频流数据与噪声声道音频流数据在分别混音时不受彼此的影响,避免了由噪声声道音频流数据的幅值拉低人声声道音频流数据的幅值问题的出现,使人声混音数据中的人声保持较高的幅值,因此结果混音数据中的人声可以保持较高的音量和音质。

综上所述,本实施例通过预先训练的人声检测模型区分人声声道音频流数据和噪声声道音频流数据,并根据区分的结果对人声声道音频流数据和噪声声道音频流数据分别进行混音,生成人声混音数据和噪声混音数据,再将人声混音数据与噪声混音数据混音生成结果混音数据,相较于现有技术对所有声道的音频流数据同时进行线性混音,本发明实施例中的人声混音数据因为没有噪声声道音频流数据参与混音,使其幅值仅与各人声声道音频流数据的幅值有关,同时噪声声道音频流数据的噪声混音数据因为没有人声声道音频流数据参与混音,使其幅值仅与各噪声声道音频流数据的幅值有关,从而使结果混音数据中的人声音频流数据的幅值远远大于噪声音频流数据的幅值,使混音后的人声更加清晰,实用性和用户体验较好。

实施例二

图2是本发明实施提供的混音方法的流程图,如图2所示,相对于前述实施例,本实施例提供的混音方法在对前述实施例中的将人声声道音频流数据进行混音,生成人声混音数据之前,还包括:

s1051.判断人声声道音频流数据是否小于预设调整幅值。

s1052.若是,则将人声声道音频流数据归一化至第一预设幅值范围,以更新人声声道音频流数据。

预设时间间隔内,当人声声道音频流数据中的最大幅值低于预设调整幅值时,则将人声声道音频流数据归一化至第一预设幅值范围内,提高人声声道音频流数据的幅值,从而在混音前提高人声声道音频流数据的幅值,增大了人声声道音频流数据与噪声声道音频流数据之间的幅值差异,进而增大了人声混音数据与噪声混音数据之间的幅值差异,最终提高了结果混音数据中的人声音频流数据的幅值,使混音后的人声具有较高的音量和音质,有助于提高用户体验。

本实施例中的第一预设幅值范围与具体使用环境有关,可以根据设备的质量以及会议参与者所在环境是否安静等具体使用场景进行设置。

优选地,本实施例可以通过相同的混音方法分别对人声声道音频流数据和噪声声道音频流数据进行混音,也可以通过不同的混音方法分别对人声声道音频流数据和噪声声道音频流数据进行混音;具体混音方法可以根据实际使用场景以及设备参数选择合适的混音方法,比如线性混音方法、基于人声声道音频流数据的幅值或能量分配混音权重的混音方法或基于人声声道音频流数据的幅值或能量的包络线强度分配混音权重的混音方法。

前述基于人声声道音频流数据的幅值或能量分配混音权重并进行混音时,每个人声声道的混音权重优选与该人声声道音频流数据的幅值或能量在所有声道音频流数据的幅值或能量之和中的比重正相关,然后根据每个人声声道音频流数据与该人声声道音频流数据对应的混音权重进行混音,生成人声混音数据。

前述基于人声声道音频流数据的幅值或能量的包络线强度进行混音时,每个人声声道的混音权重优选与该人声声道音频流数据的包络线强度在所有声道音频流数据的包络线强度之和中的比重成正比,然后根据每个人声声道音频流数据与该人声声道音频流数据对应的混音权重进行混音,生成人声混音数据。

优选地,当只有一路人声声道音频流数据时,本实施例优选通过线性混音方法对噪声声道音频流数据进行混音,然后将人声声道音频流数据与噪声声道音频流数据进行叠加;相较于现有技术中所有人声声道音频流数据与噪声声道音频流数据通过一次线性混音生成结果混音数据会降低结果混音中的人声幅值问题,本实施例中的人声音频流仅与噪声混音数据进行混音,可以使人声声道音频流数据保持较高的幅值,从而使结果混音数据中的人声具有较高的音量和音质。

当至少存在两路人声声道音频流数据时,本实施例优选通过基于人声声道音频流数据的幅值或能量的包络线强度对人声声道音频流数据进行混音,通过线性混音对噪声声道音频流数据进行混音;包括:首先求取每个人声声道音频流数据的幅值或者能量的波形包络线强度;然后根据每个人声声道音频流数据的波形包络线强度在所有人声声道音频流数据的波形包络线强度之和中的比重分配该人声声道音频流数据的混音权重,且混音权重与比重的正相关度在预设范围内;根据每个人声声道音频流数据与该人声声道音频流数据对应的混音权重进行混音,生成人声混音数据,再通过线性混音对噪声声道音频流数据进行混音,生成噪声混音数据,最后将人声混音数据与噪声混音数据叠加生成结果混音数据。由于包络线强度能够反映音频流数据的走势,所以根据人声声道音频流数据的包络线强度分配混音权重可以使混音后的人声音频流数据更加符合人声的升降变化,而且能够避免混音后出现人声忽大忽小的问题;另外,通过线性混音求取噪声声道的噪声混音数据的运算速度较快,进而使本实施例既具有较高的运算速度,又能够提高混音后人声的音量和品质。

实施例三

图3是本发明实施提供的混音方法的流程图,如图3所示,为了更好地提高结果混音数据中人声,相对于前述实施例,本实施例在将人声声道音频流数据进行混音,生成人声混音数据之前,优选还包括:

s1053.判断人声声道音频流数据的幅值与噪声声道音频流数据的幅值之差是否在预设幅值差范围内。

s1054.若是,则将人声声道音频流数据归一化至第二预设幅值范围内,以更新人声声道音频流数据;将噪声声道音频流数据归一化至第三预设幅值范围内,以更新噪声声道音频流数据,其中,第二预设幅值范围大于第三预设幅值范围。

本实施例中,在通过预先训练的人声检测模型区分人声声道音频流数据和噪声声道音频流之后,实时检测人声声道音频流数据与噪声声道音频流之间的幅值之差,当两者之间的幅值之差在预设幅值差范围内时,将人声声道音频流数据归一化至第二预设幅值范围,以更新人声声道音频流数据;将噪声声道音频流数据归一化至第三预设幅值范围内,以更新噪声声道音频流数据,且第二预设幅值范围大于第三预设幅值范围,增大了人声声道音频流数据与噪声声道音频流数据之间的幅值差异,进而增大了人声混音数据与噪声混音数据之间的幅值差异,最终了提高了人声在结果混音数据中的音量和音质,以及用户体验。本实施例中的第二预设幅值范围优选为-0.8~0.8,第三预设幅值范围优选为-0.5~0.5。

本实施例中可以通过相同的混音方法对人声声道音频流数据和噪声声道音频流数据进行混音,也可以通过不同的混音方法对人声声道音频流数据和噪声声道音频流数据进行混音,实际使用时可以根据使用场景和设备参数进行选择,具体参见实施例二,本实施例在此不予赘述。

为了提高音频流数据的质量以及混音后的音质,在分别求取人声混音数据和噪声混音数据之前,优选对所有声道音频流数据进行诸如降噪的预处理,比如通过高斯降噪或小波降噪算法对各声道音频流数据进行降噪处理,用于增大人声音频流数据与噪声音频流数据之间的差异,进而增大人声音混音数据的幅值与噪声混音数据的幅值之间的差异,最终增大结果混音数据中的人声幅值与噪声幅值之间的差异,有利于突出结果混音数据中的人声。

需要说明的是,上述降噪处理可以设置在通过预先训练的人声检测模型检测人声之前,也可以设置在通过预先训练的人声检测模型检测人声之后,当降噪处理设置于通过预先训练的人声检测模型检测人声之后时,可以通过不同降噪处理方法分别对人声声道的音频流数据和噪声声道的音频流数据进行降噪处理,通过针对性的降噪处理,提高人声音频流数据与噪声音频流数据之间的幅值差异,进而增大人声音混音数据的幅值与噪声混音数据的幅值之间的差异,最终增大结果混音数据中的人声幅值与噪声幅值之间的差异,有利于突出结果混音数据中的人声。

实施例四

图4是本发明实施例四中的混音装置的结构示意图,该混音装置适用于电话会议或网络会议中的混音处理,可由软件/硬件执行,可将其部署在服务器或客户端应用,如图4所示,本实施例提供的混音装置,包括:音频流接收模块101、人声检测模块102、人声混音数据生成模块104、噪声混音数据生成模块105和结果混音数据生成模块106,音频流接收模块101用于接收至少两路声道的音频流数据;人声检测模块102用于通过预先训练的人声检测模型检测所有声道的音频流数据的类型,以识别出人声声道音频流数据和噪声声道音频流数据;人声混音数据生成模块104用于将人声声道音频流数据进行混音;噪声混音数据生成模块105,用于将噪声声道音频流数据进行混音;结果混音数据生成模块106,用于将人声混音数据与噪声混音数据进行混音。

本实施例还包括调整模块103,用于判断人声声道音频流数据是否小于预设调整幅值;若是,则将人声声道音频流数据归一化至第一预设幅值范围,生成归一化后的人声声道音频流数据;对所归一化后的人声声道音频流数据进行混音,生成人声混音数据。在混音前提高人声音频流的幅值,增大了人声声道音频流数据与噪声声道音频流数据之间的差异,进而增大了人声混音数据与噪声混音数据之间的幅值差异,最终提高了结果混音数据中的人声音量,使混音后的人声具有较高的音量和音质,有助于提高用户体验。

本实施例中的调整模块103还具体用于判断人声声道音频流数据的幅值与噪声声道音频流数据的幅值之差是否在预设幅值差范围内;若是,则将人声声道音频流数据归一化至第二预设幅值范围内,以更新人声声道音频流数据;将噪声声道音频流数据归一化至第三预设幅值范围内,以更新噪声声道音频流,其中,第二预设幅值范围大于第三预设幅值范围。从而增大了人声声道音频流数据与噪声声道音频流数据之间的幅值差异,进而增大了人声混音数据与噪声混音数据之间的幅值差异,最终了提高了人声在结果混音数据中的音量和音质,以及用户体验。

本实施例中的混音装置优选还包括混音输出装置,用于输出混音后的声音,从而使混音后的声音通过原声道输出至客户的接收端,接收端可以是耳机或耳麦,或者使混音后的声音通过外放设备播放出来,此时,混音输出装置可以是扬声器。

综上所述,本发明实施例提供的一种混音方法装置通过预先训练的人声检测模型区分人声声道音频流数据和噪声声道音频流,并根据区分的结果对人声声道音频流数据和噪声声道音频流分别进行混音生成人声声道混音数据和噪声声道混音数据,再将人声声道混音数据与噪声声道混音数据混音生成结果混音数据,相较于现有技术对所有声道的音频流数据同时进行线性混音,本发明实施例中的人声声道混音数据因为没有噪声声道音频流数据参与混音,使其幅值接近各人声声道音频流数据幅值,同时噪声声道音频流数据的噪声声道混音数据的幅值远远小于人声声道混音数据的幅值,从而使结果混音数据中的人声音频流数据幅值远远大于噪声音频流数据,有利于提高混音效果,使混音后的人声更加清晰,实用性和用户体验较好。

上述混音装置可执行本发明任意实施例所提供的混音方法,具备执行方法相应的功能模块和有益效果。为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中的相应内容。

实施例五

图5是实施例五中的混音设备的结构示意图,如图5所示,本实施例提供的混音设备包括处理器201、存储器202、输入装置203以及输出装置204;设备中处理器201的数量可以是一个或多个,图5中以一个处理器201为例;设备中的处理器201、存储器202、输入装置203以及输出装置204可以通过总线或其他方式连接,图5中以通过总线连接为例。

存储器202作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的混音方法对应的程序指令/模块(例如,音频流接收模块101、人声检测模块102、人声混音数据生成模块104、噪声混音数据生成模块105以及结果混音数据生成模块106)。处理器201通过运行存储在存储器202中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的混音方法。

存储器202可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器202可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器202可进一步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置203可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。

输出装置204可包括显示屏等显示设备,例如,用户终端的显示屏。

实施例六

本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意方法实施例所述的混音方法,该方法包括:

接收至少两路声道的音频流数据;

通过预先训练的人声检测模型检测所有声道的音频流数据的类型,以识别出人声声道音频流数据和噪声声道音频流数据;

将所述人声声道音频流数据进行混音,生成人声混音数据;

将所述噪声声道音频流数据进行混音,生成噪声混音数据;

将所述人声混音数据与所述噪声混音数据进行混音,生成结果混音数据。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的混音方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的混音方法。

值得注意的是,上述之智能签到装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1