通话音频混音处理方法、装置、存储介质和计算机设备与流程

文档序号:20497835发布日期:2020-04-21 22:32阅读:289来源:国知局
通话音频混音处理方法、装置、存储介质和计算机设备与流程

本申请涉及语音处理技术领域,特别是涉及一种通话音频混音处理方法、装置、计算机可读存储介质和计算机设备。



背景技术:

随着计算机技术的发展,出现了语音处理技术,语音处理技术是对语音发生过程、语音信号分析、或语音识别等各种处理方式的总称,也称数字语音信号处理技术。语音处理技术的发展给人们的生活和工作都带来了很多便利。比如,用户可通过电信网络或互联网实现语音通话,如双人通话或多人通话等。在语音通话的过程中,各通话方利用终端进行语音接入,终端将各路通话音频发送到混音模块进行混音,混音后的信号再传输至终端,最终由扬声器等设备播放出来。

可是在实际通话的过程中,发言人经常遇到来自不同与会方的干扰声导致通话效果不理想而被打断说话,其原因是不同的与会方所处的环境噪声不同,全部混音后效果不理想。针对这种情况,传统方案中对全混音方式进行了改进,通过选路混音的方式将一些音量不高、或噪声较多的声音完全不做混音,从而减少对发言人的干扰。虽然能起到一定的效果,但是由于选路策略通常比较单一,例如基于音量大小排序进行选路,对于一些录音采集音量较大的与会方(可能是背景噪声较大)比较容易被选入,而一些录音音量相对较低的与会方则有可能一直无法被选中,而其它方一直无法听到该与会方的声音,导致通话质量低。



技术实现要素:

基于此,有必要针对用户在进行语音通话时通话质量低的技术问题,提供一种通话音频混音处理方法、装置、计算机可读存储介质和计算机设备。

一种通话音频混音处理方法,包括:

获取参与通话的通话成员各自所对应的通话音频;

对各所述通话音频分别进行语音分析,确定与各所述通话成员终端对应的语音活跃度;所述语音活跃度用于反映所述通话成员参与通话的活跃程度;

根据所述语音活跃度确定与各所述通话成员终端分别对应的语音调节参数;

按照各所述通话成员终端分别对应的语音调节参数,对相应的通话音频进行调节得到调节音频,并基于各所述调节音频进行混音处理得到混合音频。

一种通话音频混音处理装置,所述装置包括:

获取模块,用于获取参与通话的通话成员终端发送的通话音频;

语音分析模块,用于对各所述通话音频分别进行语音分析,确定与各所述通话成员终端对应的语音活跃度;所述语音活跃度用于反映所述通话成员参与通话的活跃程度;

确定模块,用于根据所述语音活跃度确定与各所述通话成员终端分别对应的语音调节参数;

混音处理模块,用于按照各所述通话成员终端分别对应的语音调节参数,对相应的通话音频进行调节得到调节音频,并基于各所述调节音频进行混音处理得到混合音频。

一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:

获取参与通话的通话成员终端发送的通话音频;

对各所述通话音频分别进行语音分析,确定与各所述通话成员终端对应的语音活跃度;所述语音活跃度用于反映所述通话成员参与通话的活跃程度;

根据所述语音活跃度确定与各所述通话成员终端分别对应的语音调节参数;

按照各所述通话成员终端分别对应的语音调节参数,对相应的通话音频进行调节得到调节音频,并基于各所述调节音频进行混音处理得到混合音频。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:

获取参与通话的通话成员终端发送的通话音频;

对各所述通话音频分别进行语音分析,确定与各所述通话成员终端对应的语音活跃度;所述语音活跃度用于反映所述通话成员参与通话的活跃程度;

根据所述语音活跃度确定与各所述通话成员终端分别对应的语音调节参数;

按照各所述通话成员终端分别对应的语音调节参数,对相应的通话音频进行调节得到调节音频,并基于各所述调节音频进行混音处理得到混合音频。

上述通话音频混音处理方法、装置、计算机可读存储介质和计算机设备,对参与通话的各个通话成员终端所对应的通话音频分别进行语音分析,以确定与各通话成员终端分别对应的语音活跃度。并根据语音活跃度控制各通话成员终端的语音调节参数,从而按照相应的语音调节参数,对各路通话音频进行调节得到调节音频,并基于各调节音频进行混音处理得到混合音频。这样,基于语音活跃度的语音调控机制,可以减少通话中不活跃用户周边噪声对活跃用户的干扰,使得语音活跃度不高的通话成员尽可能少地干扰活跃度较高的通话成员,提升整体通话的通话效果和质量。并且,在进行混音处理时,不会限制最终混音方数,避免超出选路方数的通话成员无法“发声”的问题,进一步有效地提高了通话质量。

一种通话音频混音处理方法,包括:

获取通话创建指令;

根据所述通话创建指令参与到基于所述通话创建指令所创建的通话中;

采集本地在参与所述通话时产生的通话音频;

将所述通话音频发送至服务器;发送的所述通话音频用于指示所述服务器对参与通话的各通话成员终端的通话音频分别进行语音分析,确定相应的语音活跃度,并根据所述语音活跃度确定相应的语音调节参数,按照各所述通话成员终端分别对应的语音调节参数,对相应的通话音频进行调节得到调节音频,并基于各所述调节音频进行混音处理得到混合音频;其中,所述语音活跃度用于反映所述通话成员参与通话的活跃程度;

接收所述服务器反馈的混合音频并播放。

一种通话音频混音处理装置,包括:

获取模块,用于获取通话创建指令;

通话参与模块,用于根据所述通话创建指令参与到基于所述通话创建指令所创建的通话中;

采集模块,用于采集本地在参与所述通话时产生的通话音频;

发送模块,用于将所述通话音频发送至服务器;发送的所述通话音频用于指示所述服务器对参与通话的各通话成员终端的通话音频分别进行语音分析,确定相应的语音活跃度,并根据所述语音活跃度确定相应的语音调节参数,按照各所述通话成员终端分别对应的语音调节参数,对相应的通话音频进行调节得到调节音频,并基于各所述调节音频进行混音处理得到混合音频;其中,所述语音活跃度用于反映所述通话成员参与通话的活跃程度;

接收模块,用于接收所述服务器反馈的混合音频并播放。

一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:

获取通话创建指令;

根据所述通话创建指令参与到基于所述通话创建指令所创建的通话中;

采集本地在参与所述通话时产生的通话音频;

将所述通话音频发送至服务器;发送的所述通话音频用于指示所述服务器对参与通话的各通话成员终端的通话音频分别进行语音分析,确定相应的语音活跃度,并根据所述语音活跃度确定相应的语音调节参数,按照各所述通话成员终端分别对应的语音调节参数,对相应的通话音频进行调节得到调节音频,并基于各所述调节音频进行混音处理得到混合音频;其中,所述语音活跃度用于反映所述通话成员参与通话的活跃程度;

接收所述服务器反馈的混合音频并播放。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:

获取通话创建指令;

根据所述通话创建指令参与到基于所述通话创建指令所创建的通话中;

采集本地在参与所述通话时产生的通话音频;

将所述通话音频发送至服务器;发送的所述通话音频用于指示所述服务器对参与通话的各通话成员终端的通话音频分别进行语音分析,确定相应的语音活跃度,并根据所述语音活跃度,确定相应的语音调节参数,按照各所述通话成员终端分别对应的语音调节参数,对相应的通话音频进行调节得到调节音频,并基于各所述调节音频进行混音处理得到混合音频;其中,所述语音活跃度用于反映所述通话成员参与通话的活跃程度;

接收所述服务器反馈的混合音频并播放。

上述通话音频混音处理方法、装置、计算机可读存储介质和计算机设备,采集通话成员终端在参与通话时所产生的通话音频并上报至服务器,服务器对参与通话的各个通话成员终端所对应的通话音频分别进行语音分析,以确定与各通话成员终端分别对应的语音活跃度。服务器根据语音活跃度控制各通话成员的语音调节参数,从而按照相应的语音调节参数,对各路通话音频进行调节得到调节语音后,基于各调节语音进行混音处理后反馈至通话成员终端处进行播放。这样,基于语音活跃度的语音调控机制,可以减少通话中不活跃用户周边噪声对活跃用户的干扰,使得语音活跃度不高的通话成员尽可能少地干扰活跃度较高的通话成员,提升整体通话的通话效果和质量。并且,在进行混音处理时,不会限制最终混音方数,避免超出选路方数的通话成员无法“发声”的问题,进一步有效地提高了通话质量。

附图说明

图1为一个实施例中通话音频混音处理方法的应用环境图。

图2为一个实施例中通话音频混音处理方法的流程示意图。

图3为另一个实施例中通话音频混音处理方法的流程示意图。

图4为一个实施例中对各通话音频分别进行语音分析,确定与各通话成员终端分别对应的语音活跃度的步骤的流程示意图。

图5为一个实施例中对各通话音频分别进行语音分析,确定与各通话成员分别对应的语音活跃度的步骤的流程示意图。

图6为一个实施例中对于各音频帧中的各子带,分别计算子带对应的子带功率谱和噪声估计值的步骤的流程示意图。

图7为另一个实施例中通话音频混音处理方法的流程图。

图8为一个实施例中通话音频混音处理方法的时序图。

图9(a)为一个实施例中通话音频混音处理装置的结构框图。

图9(b)为再一个实施例中通话音频混音处理装置的结构框图。

图10为另一个实施例中通话音频混音处理装置的结构框图。

图11为一个实施例中服务器的结构框图。

图12为一个实施例中终端的结构框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

图1为一个实施例中通话音频处理方法的应用环境图。参照图1,该通话音频处理方法应用于通话音频处理系统。该通话音频处理系统包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是电话机、台式终端或移动终端等,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。可以理解,本申请实施例中所提及的终端110具体可以是参与通话的通话成员所对应的终端,也可称作通话成员终端。其中,终端110具体可包括第一终端112和第二终端114。第一终端可以理解为发起通话的终端,第二终端可以理解为接受通话的终端。第一终端112和第二终端114分别通过网络与服务器120建立语音通话链路,进而可实现通话,该通话基于参与的用户数量可分为双人通话或多人通话。

可以理解,不同用户分别通过不同终端110参与到通话中,终端110分别将采集到的通话音频上传至服务器120,服务器120对参与通话的各个通话成员所对应的通话音频分别进行语音分析,确定与各通话成员分别对应的语音活跃度,根据语音活跃度确定与各通话成员终端分别对应的语音调节参数。服务器120按照各通话成员终端分别对应的语音调节参数,对相应的通话音频进行调节得到调节音频,并基于各调节音频进行混音处理得到混合音频。服务器120可将混合音频反馈至参与通话的各通话成员所对应的终端110处。各终端110在接收到混合音频后可通过扬声器进行播放。

如图2所示,在一个实施例中,提供了一种通话音频处理方法。本实施例主要以该方法应用于上述图1中的服务器120来举例说明。参照图2,该通话音频处理方法具体包括如下步骤:

s202,获取参与通话的通话成员终端各自所对应的通话音频。

其中,通话是通过至少两个用户标识进行语音交互的方式。通话可根据参与用户标识的数量分为双人通话和多人通话。仅由两个用户标识参与的通话为双人通话,由超过两个用户标识参与的通话为多人通话。通话可以是群语音通话或群视频通话。用户标识用于唯一标识一个用户成员,可以是包括数字、字母和符号中至少一种字符的字符串,具体可以是用户账号或用户手机号等。通话成员是参与该通话的用户成员,也可称作与会方。通话成员终端是参与通话的通话成员所对应的终端。通话音频是通话成员在参与通话的过程中,通过通话成员终端采集的用户声音数据。

具体地,通话成员终端上可运行通话应用,通话成员终端通过该通话应用可实现不同用户间互相语音通话的功能。通话成员终端可通过声音装置采集(比如麦克风)用户在参与通话过程中发出的语音数据,并据此生成通话音频发送至服务器。服务器接收参与该通话的各个通话成员所对应终端发送的通话音频。其中,通话应用具体可以是即时通信客户端,如微信客户端或qq客户端等。

在一个实施例中,通话成员终端包括第一终端和第二终端。第一终端和第二终端上运行有通话应用,第一终端通过通话应用以第一用户标识登录到服务器,第二终端通过通话应用以第二用户标识登录到服务器。第一终端可通过通话应用发起通话请求,第二终端接收该通话请求。第二终端的用户可选择参与或拒绝,当用户选择参与时,第一终端接收由第二终端发送的响应于该通话请求的连接响应,并建立语音通话链路。这样,第一终端和第二终端间即可实现通话。

可以理解,第一终端和第二终端可分别通过运营商网络或互联网网络实现通话。其中,运营商网络比如电信网络、移动网络或联网网络等。当终端是电话机时,第一终端和第二终端可基于运营商网络实现通话。第一终端和第二终端还可通过互联网网络,通过安装的通话应用来实现通话,此时的通话可以称作voip(voiceoverinternetprotocol,基于ip的语音传输)通话。

s204,对各通话音频分别进行语音分析,确定与各通话成员终端对应的语音活跃度;语音活跃度用于反映通话成员参与通话的活跃程度。

其中,语音活跃度是反映通话成员参与通话的活跃程度。语音活跃度越高表示通话成员真实发出语音的可能性越高,反之,语音活跃度越低表示通话成员真实发出语音的可能性越低。

具体地,服务器在接收到参与通话的通话成员终端所对应的各路通话音频后,可对各路通话音频分别进行数字语音分析,以确定各路通话音频对应的语音活跃度。可以理解,通话成员终端采集并上传的通话音频中常常包括有噪音(具体可以是环境噪音),服务器可从通话音频中识别出噪音和语音(语音指通话成员说话的声音),进而通过比较语音与噪声的差异来确定相应的语音活跃度。

在一个实施例中,服务器在对各路通话音频进行语音分析时,可先计算各路通话音频中的信噪比。其中,信噪比是分析通话音频中通话成员说话的语音与噪音的信号强度比值,可以通过有语音信号功率和噪声功率比值的对数来表示。信噪比越高代表语音成分越高,则语音活跃度高,需给予更高的音量增益。相反,信噪比低则代表当前通话音频为通话成员说话的声音的概率较低,则音量增益给予较低值。可以理解,此处的音量增益的值可以是小于数值一的值,也可以是大于数值一的值,或者是数值一。

在一个实施例中,服务器可直接将各路通话音频的信噪比作为相应的语音活跃度,或者是对信噪比进行线性或非线性变换得到的值作为相应的语音活跃度。比如,服务器可将预设倍数的信噪比作为语音活跃度,或对信噪比求对数所得到的值作为语音活跃度,还或者结合多种数学运算对信噪比进行处理所得到的值作为语音活跃度等,本申请实施例对此不做限定,只需保障信噪比与语音活跃度呈正相关即可。

s206,根据语音活跃度确定与各通话成员终端分别对应的语音调节参数。

其中,语音调节参数是用于对通话音频进行语音增益或衰减的参数,该语音调节参数具体可以是小于1、等于1或大于1的数值。具体地,服务器可根据各路通话音频的语音活跃度,确定相应的语音调节参数。当语音活跃度越高,表示该路通话音频中语音成分越高,需给予更高的音量增益,也就是控制一个较大的语音调节参数,使得在混音处理时该路通话音频可以得到较大的增益。相反,语音活跃度越低,则表示该路通话音频中用户发声的概率较低,则音量增益给予较低值,也就是控制一个较小的语音调节参数,使得在混音处理时该路通话音频可以得到较小的增益或者是改路语音得到衰减。

在一个实施例中,服务器可设置一个调节阈值,也就是当基于某一路通话音频中语音活跃度所确定的语音调节参数,小于调节阈值时,设置该路通话音频的语音调节参数为调节阈值。也就是当语音活跃度越低,相应的语音调节参数越小,直至随着语音活跃度的降低而低至预设的调节阈值。

在一个实施例中,服务器可对各路通话音频进行语音检测和分析,若被检测为无人声或人声发声概率低,则相应的语音活跃度较低,因而配置较低的音量增益值。而被检测有明确人声或人声发声概率较高的通话音频,则相应的语音活跃度高,因而配置较高的音量增益值。此处的音量增益值也就是语音条件参数。

s208,按照各通话成员终端分别对应的语音调节参数,对相应的通话音频进行调节得到调节音频,并基于各调节音频进行混音处理得到混合音频。

具体地,服务器可按照各通话成员终端分别对应的语音调节参数,对相应的通话音频进行调节,得到对应的调节音频。进而服务器可将各路通话音频对应的调节音频进行数字信号叠加处理,得到混合音频。

在一个实施例中,服务器可确定参与通话的各个通话成员的用户标识,将混合音频反馈至与各用户标识对应的通话成员终端。相应通话成员终端可接收混合音频,并通过扬声器等设备播放混合音频。这样,通话成员可通过参与说话,接收混合音频并播放来参与到该通话中。

在一个实施例中,通话成员终端在接收到混合音频后,会进一步对混合音频进行语音增强处理,以使得播放的混合音频更清楚。

上述通话音频处理方法,对参与通话的各个通话成员终端所对应的通话音频分别进行语音分析,以确定与各通话成员终端分别对应的语音活跃度。并根据语音活跃度控制各通话成员终端的语音调节参数,从而按照相应的语音调节参数,对各路通话音频进行调节得到调节音频,并基于各调节音频进行混音处理得到混合音频。这样,基于语音活跃度的语音调控机制,可以减少通话中不活跃用户周边噪声对活跃用户的干扰,使得语音活跃度不高的通话成员尽可能少地干扰活跃度较高的通话成员,提升整体通话的通话效果和质量。并且,在进行混音处理时,不会限制最终混音方数,避免超出选路方数的通话成员无法“发声”的问题,进一步有效地提高了通话质量。

在一个实施例中,为保障语音数据的传输效率和安全性,通话成员终端与服务器间进行语音数据传输时,可先进行编码后再传输,以提高语音数据的传输效率和安全性。

参考图3,在一个实施例中,该通话音频处理方法具体包括以下步骤:

s302,接收由参与通话的通话成员终端所发送的音频编码数据;音频编码数据通过采用与相应终端的终端性能匹配的编码方式,对采集得到的通话音频进行编码得到。

具体地,通话成员终端可采集通话成员在通话过程中产生的音频数据,并采用与通话成员终端的终端性能匹配的编码方式,对采集得到的通话音频进行编码,得到音频编码数据。其中,终端性能是终端的软件能力和硬件能力,决定了终端的最大处理能力。终端的软件能力是终端所能支持的具体软件或算法的能力,终端的硬件能力具体可以是与终端的cpu(centralprocessingunit,中央处理器)和内存等相关的能力。与终端性能匹配的编码方式具体可以是该终端能支持的编码格式所对应的编码方式,或该终端能支持的码流格式所对应的编码方式。

在一个实施例中,通话成员终端与服务器可预先预定好匹配的编码方式和解码方式,该编码方式与终端性能相匹配。进而,通话成员终端可根据预设置的编码方式对通话音频进行编码,得到音频编码数据。

在一个实施例中,终端采用的编码方式具体可以是pcm(pulsecodemodulation,脉冲编码调制)编码、参量编码或混合编码等,本申请实施例对此不做限定。

s304,按照与各编码方式分别匹配的解码方式,对相应各个通话成员终端发送的音频编码数据进行解码,得到相应的通话音频。

具体地,服务器在接收到各个通话成员终端发送的音频编码数据时,可采用相应的解码方式对音频编码数据进行解码,得到相应的通话音频。

在一个实施例中,当通话成员终端采用预先约定好的编码方式对通话音频编码时,对应的,服务器可采用相应的解码方式进行解码。当通话成员终端采用与自身性能相匹配的编码方式编码时,可将编码方式标识发送至服务器,服务器基于编码方式标识确定对应的解码方式,从而对音频编码数据进行解码得到通话音频。这样,通过编解码的方式传输通话音频,可大大提高通话音频的传输效率和安全性。

s306,对各通话音频分别进行语音分析,确定与各通话成员终端对应的语音活跃度。

s308,根据语音活跃度确定与各通话成员终端分别对应的语音调节参数。

s310,按照各通话成员终端分别对应的语音调节参数,对相应的通话音频进行调节得到调节音频,并基于各调节音频进行混音处理得到混合音频。

s312,采用与各通话成员终端的终端性能匹配的编码方式,分别对混合音频进行编码,得到对应不同编码方式的混合编码语音。

具体地,服务器在对不同终端所对应的通话音频进行混音处理得到混合音频后,可按照与各个通话成员终端的终端性能匹配的编码方式,对混合音频进行编码,得到对应不同编码方式的混合编码语音。

s314,按照各混合编码语音分别对应的编码方式,将各混合编码语音分别发送至与相应编码方式匹配的、且参与通话的通话成员终端;发送的混合编码语音用于指示通话成员终端采用与相应编码方式对应的解码方式,对混合编码语音进行解码,得到相应的混合音频。

具体地,服务器可按照各混合编码语音分别对应的编码方式,将各混合编码语音分别发送至与相应编码方式匹配的、且参与通话的通话成员终端。进而通话成员终端可采用与相应编码方式对应的解码方式,对混合编码语音进行解码,得到相应的混合音频。

可以理解,对于某个通话成员终端,服务器可采用该通话成员终端所采用的编码方式对混合音频进行编码得到混合编码语音,并将该混合编码语音反馈至通话成员终端。当然,服务器也可采用其他的编码方式进行编码,但通过该编码方式编码所得到的混合编码语音,相应的通话成员终端有能力进行解码。本申请实施例对此不做限定。

上述实施例中,在通话音频和混合音频的传输过程中,通话成员终端和服务器分别对所传输的语音数据进行编码后再传输,可大大提高语音数据的传输效率和安全性。

参考图4,在一个实施例中,步骤s204,也就是对各通话音频分别进行语音分析,确定与各通话成员终端分别对应的语音活跃度的步骤具体包括:

s402,将各通话音频分别划分成多于一帧的音频帧,并对各音频帧进行语音检测。

其中,音频帧是通话音频的最小处理单位,是单位时长的通话音频。具体地,对于每一路通话音频,服务器可根据各通话音频所采集的时序,对通话音频进行分帧处理,将各通话音频分别划分成多于一帧的音频帧,进而对每一帧音频帧都进行语音检测。

在一个实施例中,为了使各相邻音频帧之间过渡平滑且保持连续性,服务器可采用交叠分段的方式,将通话音频划分成一帧一帧的音频帧。其中,前一帧和后一帧的交叠部分可称为帧移,帧移与帧长的比值一般取为0至0.5。当然,服务器也可直接按固定时长将通话音频划分成多于一帧的音频帧等,本申请实施例对此不做限定。

在一个实施例中,服务器可采用vad(voiceactivitydetection,语音端点检测)算法,对每帧音频帧进行处理,判断该帧音频帧是语音还是非语音,也就是该音频帧中否出现人声。

s404,对于每路通话音频,确定所包括的音频帧中出现语音的语音帧的数量。

具体地,对于每一路通话音频,服务器可分别统计每一路通话音频中出现人声的语音帧的数量,也就是该路通话音频中的语音帧的数量。

s406,对于每路通话音频,根据通话音频中语音帧的数量与通话音频所包括音频帧的总数量,确定语音帧的占比。

具体地,对于每路通话音频,服务器均可将该路通话音频中,语音帧的数量除以该通话音频所包括音频帧的总数量,得到该路通话音频中语音帧的占比。

s408,根据语音帧的占比,确定与各通话成员终端对应的语音活跃度。

具体地,对于每一路通话音频,服务器均可直接将该路通话音频所对应的根据语音帧的占比,直接作为相应的语音活跃度。或者,服务器可对语音帧的占比进行一定的数学运算,得到相应的语音活跃度,该语音活跃度与语音帧的占比呈正相关。也就是在某一路通话音频中,语音帧的占比越大,表示该路通话音频所对应的语音活跃度越高,语音帧的占比越小,表示该路通话音频所对应的语音活跃度越低。可以理解,当语音帧越多,则表示相应的通话成员是在进行有效的发声,也就是该通话成员在进行通话的活跃度很高。

上述实施例中,通过对一定周期内的音频帧进行语音检测,以识别该音频帧是否为语音帧,进而可根据语音帧的占比准确快捷地确定相应的通话音频所对应的语音活跃度,将通话成员的语音活跃度进行了量化。

在一个实施例中,步骤s204,也就是对各所述通话音频分别进行语音分析,确定与各所述通话成员终端对应的语音活跃度,具体包括:将各通话音频分别划分成多于一帧的音频帧,并对各音频帧进行语音检测;确定所述音频帧中出现语音的语音帧,并确定各所述语音帧对应的能量值;根据各所述通话音频所包括的语音帧中能量值大于等于能量阈值的有效语音帧的数量,确定与各所述通话成员终端对应的语音活跃度。

具体地,服务器可根据各通话音频所采集的时序,对通话音频进行分帧处理,将各通话音频分别划分成多于一帧的音频帧,进而对每一帧音频帧都进行语音检测。当某帧音频帧被检测出出现人声,则该音频帧为语音帧。对于每一路通话音频,服务器可分别确定该通话音频所包括的语音帧,并确定各所述语音帧对应的能量值。服务器可统计各通话音频所包括的语音帧中能量值大于等于能量阈值的有效语音帧的数量,并根据该数量确定与各通话成员终端对应的语音活跃度。其中,各个语音帧对应的能量值具体可以是该语音帧的功率值,该语音帧对应的能量值可以是该语音帧所包括的子带的子带功率谱的和。关于子带功率谱的具体计算方式可参考后面的实施例的描述。其中,能量阈值是基于实际情况所确定的判定语音帧是否有有效语音帧的一个阈值。

可以理解,对于音频帧,即使检测到该音频帧中出现人声,被确认为语音帧,也有可能存在该音频帧中出现的人声是背景语音,也就是是噪语音,并不是真正的发言。因而,将能量值大于能量阈值的语音帧作为有效语音帧,可以有效地筛选掉噪语音,从而使得基于有效语音帧所确定的语音活跃度更为准确。

在一个实施例中,服务器在确定各个通话音频所对应的语音活跃度时,可对该通话音频所包括的有效语音帧进行统计,得到对应的数量。进而基于预设函数对该数量进行计算,得到对应的语音活跃度。该语音活跃度与有效语音帧的数量呈正相关,也就是有效语音帧的数量越多,语音活跃度越高,有效语音帧的数量越少,语音活跃度越低。预设函数比如乘法函数或幂次函数或多种运算的组合函数等。

上述实施例中,检测音频帧中的语音帧,并将能量值大于能量阈值的语音帧作为有效语音帧,可以从音频帧中有效地筛选掉噪语音,从而使得基于有效语音帧所确定的语音活跃度更为准确。

在一个实施例中,步骤s204,也就是对各通话音频分别进行语音分析,确定与各通话成员终端对应的语音活跃度的步骤具体包括:

s502,将各通话音频分别划分成多于一帧的音频帧,并计算各音频帧分别对应的单帧信噪比。

具体地,对于每一路通话音频,服务器可根据各通话音频所采集的时序,对通话音频进行分帧处理,将各通话音频分别划分成多于一帧的音频帧,进而计算各音频帧分别对应的单帧信噪比。其中,单帧信噪比是单帧音频帧所对应的信噪比。

在一个实施例中,服务器在计算各帧音频帧分别对应的单帧信噪比时,可先将该音频帧从时域空间经过快速傅里叶变换到频域空间,得到对应的频谱图,也叫语音频谱。进而服务器可根据该语音频谱中所包括的频率点对应的振幅,计算该音频帧的功率谱。服务器可采用最小跟踪法求该音频帧对应的频率谱中的最小功率值,将该最小功率值作为该音频帧中所包括噪声的估计值。进而根据功率谱和噪声的估计值的比值计算该音频帧的单帧信噪比。

s504,对于每路通话音频,对通话音频所包括的各音频帧分别对应的单帧信噪比进行加权求和,得到与通话音频对应的语音信噪比。

具体地,对于每路通话音频,服务器可对该通话音频所包括的各音频帧分别对应的单帧信噪比进行加权求和,得到与该通话音频对应的语音信噪比。其中,语音信噪比是该通话音频所对应的信噪比。加权求和的加权系数具体可以根据实际情况而设定,比如前几帧的加权系数较大,后面几帧的加权系数较小,或者每一帧都对应相同的加权系数等,本申请实施例对此不作限定。

s506,将各通话音频分别对应的语音信噪比,作为与各通话成员终端对应的语音活跃度。

具体地,服务器可直接将各路通话音频分别对应的语音信噪比,作为与各通话成员分别对应的语音活跃度。

在一个实施例中,服务器还可对该语音信噪比进行线性或非线性变换,得到对应的语音活跃度,该语音活跃度与语音信噪比呈正相关,也就是语音信噪比越高,也就是存在语音的概率越大,因而相应的语音活跃度也越高。

上述实施例中,将通话音频划分成多于一帧的音频帧,并根据各音频帧对应的单帧信噪比确定该通话音频的语音信噪比,从而将语音信噪比作为相应的语音活跃度,可通过语音信噪比准确地反映通话成员对应的语音活跃度。

在一个实施例中,步骤s204,也就是对各通话音频分别进行语音分析,确定与各通话成员终端对应的语音活跃度的步骤具体包括:将各通话音频分别划分成多于一帧的音频帧,并计算各音频帧分别对应的单帧信噪比。步骤s206,也就是根据语音活跃度确定与各通话成员终端分别对应的语音调节参数的步骤具体包括:对于每路通话音频,基于通话音频所包括的音频帧各自对应的单帧信噪比,确定各音频帧分别对应的语音调节参数。按照各通话成员终端分别对应的语音调节参数,对相应的通话音频进行调节得到调节音频的步骤具体包括:对于每路通话音频,按照通话音频中各音频帧分别对应的语音调节参数,对各音频帧分别进行调节,得到与相应通话成员对应的调节音频;将各通话成员分别对应的调节音频进行混音处理得到混合音频。

也就是,该通话音频处理方法具体包括以下步骤:获取参与通话的通话成员终端各自所对应的通话音频;将各通话音频分别划分成多于一帧的音频帧,并计算各音频帧分别对应的单帧信噪比;对于每路通话音频,基于通话音频所包括的音频帧各自对应的单帧信噪比,确定各音频帧分别对应的语音调节参数;对于每路通话音频,按照通话音频中各音频帧分别对应的语音调节参数,对各音频帧分别进行语音调节,得到与相应通话成员终端对应的调节音频;将各通话成员终端分别对应的调节音频进行混音处理得到混合音频;将混合音频反馈至参与通话的各通话成员处。

具体地,服务器可将各通话音频分别划分成多于一帧的音频帧,并计算各音频帧分别对应的单帧信噪比。进而对于每路通话音频,基于该通话音频所包括的音频帧各自对应的单帧信噪比,确定各音频帧分别对应的语音调节参数。也就是说通话音频的语音条件参数是以音频帧为单位而确定的。比如,该通话音频包括5帧音频帧,那么这5帧音频帧各自的单帧信噪比,决定了这5帧各自的语音调节参数。

进一步地,对于每路通话音频,服务器按照该通话音频中各音频帧分别对应的语音调节参数,对各音频帧分别进行语音调节,得到与相应通话成员对应的调节音频。也就是对于某一路通话音频,服务器可对该通话音频中所包括的音频帧进行适应性调节,比如,将单帧信噪比高的音频帧的信号进行增益,将单帧信噪比低的音频帧的信号进行减弱,以从每一帧的粒度上进行调控,得到调节音频。进而服务器可将各通话成员分别对应的调节音频进行数字信号叠加处理,得到混合音频。

上述实施例中,将通话音频划分成更小单位的音频帧,以单帧为单位确定与各帧分别对应的语音调节参数,从而对各音频帧分别进行语音调节,得到与相应的调节音频,进而混合调节音频得到混合音频。可以对通话音频进行更为精细和精准的调节,使得混合后的混合音频的质量更高。

在一个实施例中,步骤s206,也就是根据所述语音活跃度确定与各所述通话成员终端分别对应的语音调节参数的步骤具体包括:从各通话成员终端对应的语音活跃度中筛选出语音活跃最高值;按照各通话成员终端对应的语音活跃度分别与语音活跃最高值间的对比值,确定各通话成员终端分别对应的语音调节参数;其中,通话成员终端对应的语音调节参数与相对应的对比值呈负相关。

具体地,服务器可从各通话成员终端对应的语音活跃度中筛选出语音活跃最高值。进而可按照各通话成员终端对应的语音活跃度分别与该语音活跃最高值间的对比值,确定各所述通话成员终端分别对应的语音调节参数。其中,通话成员终端对应的语音调节参数与相对应的对比值呈负相关。也就是对比值越大,相应的语音调节参数就越大,对比值越小,相应的语音调节参数就越小。其中,对比值是两个数值的差异值,具体可以通过数学计算来确定两个数值的差异值。数学计算,比如将两个数直接相除、取对数后相除、相减,或进行其他运算后再取对数后相除等等。对比值可以衡量一个数值相对于另一个数值的差异状态。

在一个实施例中,服务器可分别计算各通话成员终端对应的语音活跃度与语音活跃最高值间的对比值,进而基于预设函数对该对比值进行计算,得到对应的语音调节参数。该语音调节参数与对比值呈负相关,也就是某路通话音频所对应的语音活跃度与语音活跃最高值的差异越大,相应的语音调节参数就越小;某路通话音频所对应的语音活跃度与语音活跃最高值的差异越小,相应的语音调节参数就越大。可以理解,语音活跃度最高的语音音频所对应的语音调节参数最大。其中,预设函数比如减法函数、除法函数或多种运算的组合函数等。

上述实施例中,将参与通话的通话成员终端所对应的通话语音中,语音活跃度越大的通话音频,设置较大的语音调节参数,可以降低噪声对与会成员的干扰,提高语音混音的效果。

在一个实施例中,将各通话音频分别划分成多于一帧的音频帧,并计算各音频帧分别对应的单帧信噪比的步骤具体包括:对于每个通话成员各自对应的通话音频,分别将相应的通话音频划分成多于一帧的处于时域空间的音频帧。将各音频帧从时域空间转换至频域空间得到对应的语音频谱,并确定各音频帧分别对应的语音频谱中所包括的多于一个的子带。对于各音频帧中的各子带,分别计算子带对应的子带功率谱和噪声估计值,基于子带功率谱和噪声估计值,确定各子带对应的子带信噪比。根据各音频帧所包括的子带分别对应的子带信噪比,计算各音频帧分别对应的单帧信噪比。

具体地,服务器可将各音频帧从时域空间经过快速傅里叶变换到频域空间,得到对应的频谱图,也叫语音频谱。进而服务器可将该语音频谱按预设置的固定频率段划分成多于一个的子带。其中,子带也叫子频带。

进一步地,对于各音频帧中的各子带,服务器分别计算子带对应的子带功率谱和噪声估计值,基于子带功率谱和噪声估计值,确定各子带对应的子带信噪比。进而对于每一帧音频帧,服务器可基于该音频帧所包括的所有子带对应的子带信噪比求平均,得到该音频帧对应的单帧信噪比。其中,关于计算子带对应的子带功率谱和噪声估计值的具体方式,将会在下面的实施例中进行具体阐述。

在一个实施例中,服务器可通过以下公式计算音频帧对应的单帧信噪比:;其中,表示第i帧音频帧中的第k子带的子带功率谱,表示第i帧音频帧中第k子带的噪声估计值。对于第i帧音频帧的单帧信噪比的计算方式可采用以下公式:,也就是计算所有子带信噪比的均值得到本帧的单帧信噪比。

上述实施例中,通过将音频帧从时域空间转换至频域空间进行处理,可以更方便和准确地音频帧中所包括的各子带对应的子带信噪比,进而根据子带信噪比确定单帧信噪比。

在一个实施例中,对于各音频帧中的各子带,分别计算子带对应的子带功率谱和噪声估计值的步骤具体包括:

s602,对于各音频帧中的每个子带,分别基于子带所包括频点的频域复数值,确定与子带对应的子带功率谱。

具体地,对于各音频帧中的每个子带,服务器可根据语音频谱分别确定该子带所包括频点的振幅的频域复数值,进而基于该子带包括的所有频点的频域复数值求平均值,得到与该子带对应的子带功率谱。

在一个实施例中,该子带的子带功率谱可通过以下公式计算得到:,其中,。其中,i对应帧序号,z对应频点序号,也成频点索引值,k对应子带序号。表示第i帧音频帧中的第k个子带的子带功率谱。x(i,z)为傅里叶变换后的第i帧第z频点的频域复数值;是第k子带的起始频点索引值,是第k子带的结束频点索引值。

s604,对各子带功率谱分别进行平滑处理,得到相应的子带平滑功率谱。

具体地,对于某一帧音频帧中的每一个子带,服务器均对该子带的子带功率谱进行相邻子带的频域平滑处理和历史帧的时域平滑处理,得到相应的子带平滑功率谱。

在一个实施例中,对各子带功率谱分别进行平滑处理,得到相应的子带平滑功率谱,包括:对于各音频帧中当前处理的当前帧中的当前子带,确定当前帧中与当前子带相邻的预设数量的相邻子带;将相邻子带与当前子带共同构成子带序列;按照与子带序列对应的权重,对子带序列中各子带的子带功率谱进行加权求和处理,得到当前帧中当前子带对应的频域平滑功率谱;对当前帧的在前帧中对应相同子带序号的历史子带的频域平滑功率谱、以及当前帧中当前子带的频域平滑功率谱进行加权求和处理,得到当前中当前子带对应的子带平滑功率谱。

具体地,服务器可先对子带功率谱进行频域平滑处理,具体可以是确定当前帧中与当前子带相邻的预设数量的相邻子带,相邻子带可以是该当前帧之前的历史帧,和/或,当前帧之后的在后帧。比如当前帧的前两帧和后两帧。进而服务器将相邻子带与当前子带共同构成子带序列。按照与子带序列对应的权重,对子带序列中各子带的子带功率谱进行加权求和处理,得到当前帧中当前子带对应的频域平滑功率谱。

在一个实施例中,服务器可通过以下公式计算当前子带的频域平滑功率谱:;其中,表示第i帧音频帧中第i个子带的频域平滑功率谱;2w+1为子带序列中子带的数量,b(j+w)是频域平滑加权因子组,比如,当w=2时,b(j+w)具体可以是[0.1,0.2,0.4,0.2,0.1]。

进一步地,服务器可基于历史帧中,与当前子带具有相同子带序号的历史子带的频域平滑功率谱,对当前帧中当前子带进行时域平滑处理。可以理解,历史帧具体可以是一帧历史帧或多于一帧历史帧,其中,当历史帧的数量为1时,历史帧具体可以是当前帧的前一帧语音帧或前第n帧语音帧等,其中,n为大于1的正整数。

在一个实施例中,服务器可通过以下公式计算得到当前子带的子带平滑功率谱:;其中,为时域平滑因子,比如

可以理解,服务器在处理完当前帧的当前子带后,会继续处理下一子带,直到计算得到当前帧中各个子带所对应的子带平滑功率谱。进而再继续处理下一个语音帧,直到计算得到通话音频中各个语音帧中各个子带各自对应的子带平滑功率谱为止。服务器可同时或一个一个的处理不同通话音频,这样循环处理,直至得到每段通话音频中每个音频帧中的每个子带所对应的子带平滑功率谱。

s606,从不同音频帧中对应相同子带序号的子带所对应的子带平滑功率谱中,筛选出最小值作为相应子带序号的各子带所对应的噪声初始值。

具体地,服务器可从不同音频帧中对应相同子带序号的子带所对应的子带平滑功率谱中,筛选出最小值作为相应子带序号的各子带所对应的噪声初始值。

在一个实施例中,服务器可设置比较周期,在一个比较周期内,对该周期内所包括的音频帧进行筛选,将对应相同子带序号的子带所对应的子带平滑功率谱中的最小值,作为相应子带序号的各子带所对应的噪声初始值。进而再对下一个周期进行筛选,选中不同周期中的最小值,作为最中的该子带对应的噪声初始值。

在一个实施例中,计算机设备可采用如下算法确定噪声初始值:

其中,t为常数,代表噪声估计值更新周期,也就是比较周期。mod(i,t)为取余运算。表示第i帧中第k个子带所对应的噪声初始值;为在求解噪声初始值过程中的噪声临时值。

s608,对于各音频帧中的每个子带,根据子带对应的子带平滑功率谱与噪声初始值,确定与相应子带对应的语音存在概率。

具体地,对于各音频帧中的每个子带,服务器可直接将该子带对应的子带平滑功率谱与噪声初始值的比值,作为与相应子带对应的语音存在概率,也可以对子带平滑功率谱与噪声初始值的比值进行线性变换得到相应的语音存在概率。

在一个实施例中,步骤s608,也就是对于各音频帧中的每个子带,根据子带对应的子带平滑功率谱与噪声初始值,确定与相应子带对应的语音存在概率,包括:对于各音频帧中当前处理的当前帧中的当前子带,将当前子带的子带平滑功率谱与噪声初始值的商,作为当前帧中当前子带所对应的功率比值;当功率比值大于预设阈值时,将第一值作为与当前帧中当前子带对应的语音存在值;当功率比值小于或等于预设阈值时,将第二值作为与当前帧中当前子带对应的语音存在值;第二值小于第一值;获取在当前帧之前的历史帧中,与当前子带对应相同子带序号的历史子带的语音存在概率;对历史子带对应的语音存在概率和当前子带对应的语音存在值,进行加权求和处理,得到当前帧中当前子带对应的语音存在概率。

具体地,对于各音频帧中当前处理的当前帧中的当前子带,服务器可将当前子带的子带平滑功率谱与噪声初始值的商,作为当前帧中当前子带所对应的功率比值。当功率比值大于预设阈值时,将第一值作为与当前帧中当前子带对应的语音存在值,当功率比值小于或等于预设阈值时,将第二值作为与当前帧中当前子带对应的语音存在值。其中第一值具体可以是1,第二值具体可以是0。这样,就可认为,当功率比值超过阈值时,就认为存在语音,当功率比值小于等于阈值时,就认为不存在语音。或者,还可根据实际情况设置第一值为0.9,第二值为0.1等或其他满足第一值大于第二值的值,本申请实施例对此不作限定。

进而,服务器可获取在当前帧之前的历史帧中,与当前子带对应相同子带序号的历史子带的语音存在概率,对历史子带对应的语音存在概率和当前子带对应的语音存在值,进行加权求和处理,得到当前帧中当前子带对应的语音存在概率。这样可以避免由于环境噪音而导致功率比值高的情况而导致误判率高,可以通过语音存在值进抹平误判。并且综合历史帧的情况而确定当前帧的语音存在概率,可以充分考虑历史数据,提高计算准确性。

可以理解,对于各音频帧中的每一个子带,均采用同样的方式计算相应的语音存在概率,直到得该音频帧中所有子带对应的语音存在概率为止。

在一个实施例中,计算机设备可通过以下公式计算当前帧中当前子带对应的语音存在概率:

其中,表示第i帧中第k个子带所对应的功率比值,表示第i帧中第k个子带的子带平滑功率谱,表示第i帧中第k个子带的噪声初始值。表示第i帧中第k个子带所对应的语音存在值;表示第i帧中第k个子带所对应的语音存在概率;为权重系数,取值在0~1之间,比如0.6或0.8等。

上述实施例中,通过对功率比值进行门限判断是否存在语音,可以避免由于环境噪音而导致功率比值高的情况而导致误判率高,可以通过语音存在值进抹平误判。并且综合历史帧的情况而确定当前帧的语音存在概率,可以充分考虑历史数据,提高计算准确性。

s610,对于各音频帧中的每个子带,根据相应子带所对应的语音存在概率和子带功率谱,确定与相应子带对应的噪声估计值。

在一个实施例中,对于各音频帧中的每个子带,服务器可将数值一与语音存在概率的差值作为相应子带所对应的噪声存在概率,进而将噪声存在概率与子带功率谱的乘积作为与相应子带对应的噪声估计值。

在一个实施例中,步骤s610,也就是对于各音频帧中的每个子带,根据相应子带所对应的语音存在概率和子带功率谱,确定与相应子带对应的噪声估计值,包括:将数值一与语音存在概率的差值作为相应子带所对应的噪声存在概率;对于各音频帧中当前处理的当前帧中的当前子带,获取当前帧的历史帧中与当前子带对应相同子带序号的历史子带所对应的噪声估计值;对历史子带所对应的噪声估计值和当前帧中当前子带对应的语音存在概率的第一乘积,与当前帧中当前子带所对应的子带功率谱和噪声存在概率的第二乘积,进行求和运算,得到当前帧中当前子带对应的噪声估计值。

在一个实施例中,服务器可将数值一与语音存在概率的差值作为相应子带所对应的噪声存在概率。对于各音频帧中当前处理的当前帧中的当前子带,获取当前帧的历史帧中与当前子带对应相同子带序号的历史子带所对应的噪声估计值。服务器可对历史子带所对应的噪声估计值和当前帧中当前子带对应的语音存在概率进行乘积运算,得到第一乘积。将与当前帧中当前子带所对应的子带功率谱和噪声存在概率进行乘积运算,得到第二乘积。再对第一乘积和第二乘积进行求和运算,得到当前帧中当前子带对应的噪声估计值。其中,服务器获取的当前帧的历史帧中与当前子带对应相同子带序号的历史子带所对应的噪声估计值,具体可以是当前帧的第前n(n为大于等于1的正整数)帧中与当前子带对应相同子带序号的历史子带所对应的噪声估计值。

在一个实施例中,计算机设备可通过以下公式计算当前帧中当前子带对应的噪声估计值:;其中,表示第i帧中第k个子带所对应的噪声估计值;表示第i帧中第k个子带所对应的语音存在概率;表示第i-1帧中第k个子带对应的噪声估计值;表示第i帧中第k个子带所对应的子带功率谱。

上述实施例中,通过结合历史帧的噪声估计值来确定当前帧中各子带对应的噪声估计值,可充分考虑到声音在时间上的连续性,大大提高了估计准确性。

在一个实施例中,对于每路通话音频,基于通话音频所包括的音频帧各自对应的单帧信噪比,确定各音频帧分别对应的语音调节参数的步骤具体包括:对于语音通话的各音频帧中当前处理的当前帧,基于当前帧对应的单帧信噪比,计算相应的即时语音调节参数;确定在当前帧之前的历史帧所对应的历史语音调节参数;对历史语音调节参数和当前帧对应的即时语音调节参数进行加权求和处理,得到与当前帧对应的语音调节参数;继续对当前帧之后的在后帧进行处理,直到得到各音频帧分别对应的语音调节参数。

具体地,对于语音通话的各音频帧中当前处理的当前帧,服务器可基于当前帧对应的单帧信噪比,计算相应的即时语音调节参数。确定在当前帧之前的历史帧所对应的历史语音调节参数,对历史语音调节参数和当前帧对应的即时语音调节参数进行加权求和处理,得到与当前帧对应的语音调节参数。对于语音通话中的每一帧,服务器均采用同样的方式计算每一帧语音帧对应的语音条件参数,到得到各音频帧分别对应的语音调节参数。

在一个实施例中,计算机设备可通过以下公式计算当前帧对应的语音调节参数:;其中,表示第i帧音频帧对应的语音调节参数;表示第i-1帧音频帧对应的语音调节参数;表示第i帧音频帧对应的即时语音调节参数;为权重系数,比如0.3。

在一个实施例中,对于语音通话的各音频帧中当前处理的当前帧,基于当前帧对应的单帧信噪比,计算相应的即时语音调节参数,包括:从通话音频所包括的音频帧对应的单帧信噪比中,确定最大信噪比和最小信噪比;根据最大信噪比和最小信噪比的差异确定第一差值;对于通话音频的各音频帧中当前处理的当前帧,根据当前帧对应的单帧信噪比和最小信噪比的差异,确定第二差值;根据预设最小增益值、第一差值及第二差值,确定与当前帧对应的即时语音调节参数。

在一个实施例中,计算机设备可通过以下公式计算与当前帧对应的即时语音调节参数:

其中,为预设的最低语音调节参数;分别为最大信噪比和最小信噪比,以db为单位,具体可以根据实际应用场景而设置;表示第i帧的单帧信噪比。

上述实施例中,可基于各音频帧对应的单帧信噪比,确定相应的语音调节参数,并保障该语音调节参数随着单帧信噪比的增加而增加,随着单帧信噪比的减小而减小,直至减小到预设的最小语音调节参数,可以让语音活跃度不高的通话成员尽可能少干扰活跃度较高的通话常用,提升整体通话的通话效果和质量。

如图7所示,在一个实施例中,提供了一种通话音频混音处理方法。本实施例主要以该方法应用于上述图1中的终端110(也称通话成员终端)来举例说明。参照图7,该通话音频混音处理方法具体包括如下步骤:

s702,获取通话创建指令。

其中,通话创建指令是用于建立通话的指令。具体地,成员终端终端包括第一终端和第二终端。对于第一终端,第一终端可通过通话应用并基于用户的操作主动触发通话创建指令,并将通话创建指令发送至第二终端。第一终端在接收到来自于第二终端的接受响应时建立与第二终端间的通信链路。对于第二终端,第二终端可接收来自第一终端的通话创建指令,并作出接受响应,以建立和第一终端间的通话链路。

s704,根据通话创建指令参与到基于通话创建指令所创建的通话中。

具体地,第一终端和第二终端均可根据创建的通话链路参与到相应的通话中。

s706,采集本地在参与通话时产生的通话音频。

具体地,当通话成员在进行说话时,通话成员终端可通过声音采集装置采集通话成员在参与通话时产生的通话音频。

s708,将通话音频发送至服务器;发送的通话音频用于指示服务器对参与通话的各通话成员终端的通话音频分别进行语音分析,确定相应的语音活跃度,并根据语音活跃度确定相应的语音调节参数,按照各通话成员终端分别对应的语音调节参数,对相应的通话音频进行调节得到调节音频,并基于各调节音频进行混音处理得到混合音频;其中,语音活跃度用于反映通话成员参与通话的活跃程度。

具体地,第一终端和第二终端均可将采集的通话音频发送至服务器,以使得服务器基于通话音频进行处理得到混合音频。其中关于服务器如何基于通话音频进行处理得到混合音频的相关内容可参数前述实施例的描述,本申请实施例在此不做赘述。

在一个实施例中,步骤s708,也就是将通话音频发送至服务器包括:对通话音频进行语音增强处理;语音增强处理包括语音降噪处理、回声消除处理和语音音量调节处理中的至少一种处理;将进行语音增强处理后的通话音频发送至服务器。

在一个实施例中,通话成员终端可对采集的通话音频进行语音增强处理后再发送至服务器。其中,语音增强处理包括语音降噪处理、回声消除处理和语音音量调节处理中的至少一种处理,可以提高发送的通话音频的语音质量。其中,语音降噪处理是降低通话音频中噪音的含量,比如通过抑制算法进行降噪处理等。回声消除是消除通话音频中所包括的回声,比如通过声学回声消除(acousticechocancellation,aec)和线路回声消除(lineechocancellation,lec)技术来实现。语音音量调节处理具体可以是增加通话音频的音量。这样,可以提高发送至服务器的通话音频的语音质量,以减少服务器的处理负担。

在一个实施例中,通话成员终端可对进行语音增强处理后的通话音频进行编码处理后发送至服务器。具体地编码处理方式以及服务器的解码处理方式参考前述实施例的描述,在此不再赘述。

s710,接收服务器反馈的混合音频并播放。

具体地,参与到通话中的第一终端和第二终端均可接收服务器反馈的混合音频并通过扬声器进行播放。

在一个实施例中,服务器可对混合音频进行编码后反馈。也就是通话成员终端接收服务器反馈的混合编码语音。通话成员终端可采用对应的解码方式对混合编码语音进行解码处理得到对应的混合音频。

上述通话音频处理方法,采集通话成员在参与通话时所产生的通话音频并上报至服务器,服务器对参与通话的各个通话成员终端所对应的通话音频分别进行语音分析,以确定与各通话成员终端分别对应的语音活跃度。服务器根据语音活跃度控制各通话成员的语音调节参数,从而按照相应的语音调节参数,对各路通话音频进行调节得到调节语音后,基于各调节语音进行混音处理后反馈至通话成员终端处进行播放。这样,基于语音活跃度的语音调控机制,可以减少通话中不活跃用户周边噪声对活跃用户的干扰,使得语音活跃度不高的通话成员尽可能少地干扰活跃度较高的通话成员,提升整体通话的通话效果和质量。并且,在进行混音处理时,不会限制最终混音方数,避免超出选路方数的通话成员无法“发声”的问题,进一步有效地提高了通话质量。

参考图8,图8为一个实施例中通话音频处理方法的时序图。如图8所示,不同用户分别通过第一终端和第二终端进行通话。第一终端和第二终端分别采集相应的通话音频并进行语音增强处理。第一终端和第二终端分别将语音增强后的通话音频进行音频编码传输至服务器。服务器对接收到的各路通话音频进行解码后进行语音活跃度分析,从而进行各方语音调节,最后进行混音处理得到混合音频。服务器将混合音频通过音频编码传输至相应的第一终端和第二终端,第一终端和第二终端分别进行解码播放。

图8为一个实施例中通话音频处理方法的流程示意图。应该理解的是,虽然图8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

如图9(a)所示,在一个实施例中,提供了通话音频混音处理装置900,包括获取模块901、语音分析模块902、确定模块903和混音处理模块904。

获取模块901,用于获取参与通话的通话成员终端发送的通话音频。

语音分析模块902,用于对各通话音频分别进行语音分析,确定与各通话成员终端对应的语音活跃度;语音活跃度用于反映通话成员参与通话的活跃程度。

确定模块903,用于根据语音活跃度确定与各通话成员终端分别对应的语音调节参数。

混音处理模块904,用于按照各通话成员终端分别对应的语音调节参数,对相应的通话音频进行调节得到调节音频,并基于各调节音频进行混音处理得到混合音频。

在一个实施例中,获取模块901还用于接收由参与通话的通话成员终端所发送的音频编码数据;音频编码数据通过采用与相应终端的终端性能匹配的编码方式,对采集得到的通话音频进行编码得到;按照与各编码方式分别匹配的解码方式,对相应各个通话成员终端发送的音频编码数据进行解码,得到相应的通话音频。

参考图9(b),在一个实施例中,该通话语音混音处理装置900还包括反馈模块905,用于采用与各通话成员终端的终端性能匹配的编码方式,分别对混合音频进行编码,得到对应不同编码方式的混合编码语音;按照各混合编码语音分别对应的编码方式,将各混合编码语音分别发送至与相应编码方式匹配的、且参与通话的通话成员终端;发送的混合编码语音用于指示通话成员终端采用与相应编码方式对应的解码方式,对混合编码语音进行解码,得到相应的混合音频。

在一个实施例中,语音分析模块902还用于将各通话音频分别划分成多于一帧的音频帧,并对各音频帧进行语音检测;对于每路通话音频,确定所包括的音频帧中出现语音的语音帧的数量;对于每路通话音频,根据通话音频中语音帧的数量与通话音频所包括音频帧的总数量,确定语音帧的占比;根据语音帧的占比,确定与各通话成员终端对应的语音活跃度。

在一个实施例中,语音分析模块902还用于将各通话音频分别划分成多于一帧的音频帧,并对各音频帧进行语音检测;确定音频帧中出现语音的语音帧,并确定各语音帧对应的能量值;根据各通话音频所包括的语音帧中能量值大于等于能量阈值的有效语音帧的数量,确定与各通话成员终端对应的语音活跃度。

在一个实施例中,语音分析模块902还用于将各通话音频分别划分成多于一帧的音频帧,并计算各音频帧分别对应的单帧信噪比;对于每路通话音频,对通话音频所包括的各音频帧分别对应的单帧信噪比进行加权求和,得到与通话音频对应的语音信噪比;将各通话音频分别对应的语音信噪比,作为与各通话成员终端对应的语音活跃度。

在一个实施例中,语音分析模块902还用于将各通话音频分别划分成多于一帧的音频帧,并计算各音频帧分别对应的单帧信噪比。确定模块903还用于对于每路通话音频,基于通话音频所包括的音频帧各自对应的单帧信噪比,确定各音频帧分别对应的语音调节参数。混音处理模块904还用于对于每路通话音频,按照通话音频中各音频帧分别对应的语音调节参数,对各音频帧分别进行调节,得到与相应通话成员终端对应的调节音频。

在一个实施例中,确定模块903还用于从各通话成员终端对应的语音活跃度中筛选出语音活跃最高值;按照各通话成员终端对应的语音活跃度分别与语音活跃最高值间的对比值,确定各通话成员终端分别对应的语音调节参数;其中,通话成员终端对应的语音调节参数与相对应的对比值呈负相关。

在一个实施例中,语音分析模块902还用于对于每个通话成员各自对应的通话音频,分别将相应的通话音频划分成多于一帧的处于时域空间的音频帧;将各音频帧从时域空间转换至频域空间得到对应的语音频谱,并确定各音频帧分别对应的语音频谱中所包括的多于一个的子带;对于各音频帧中的各子带,分别计算子带对应的子带功率谱和噪声估计值,基于子带功率谱和噪声估计值,确定各子带对应的子带信噪比;根据各音频帧所包括的子带分别对应的子带信噪比,计算各音频帧分别对应的单帧信噪比。

在一个实施例中,语音分析模块902还用于对于各音频帧中的每个子带,分别基于子带所包括频点的频域复数值,确定与子带对应的子带功率谱;对各子带功率谱分别进行平滑处理,得到相应的子带平滑功率谱;从不同音频帧中对应相同子带序号的子带所对应的子带平滑功率谱中,筛选出最小值作为相应子带序号的各子带所对应的噪声初始值;对于各音频帧中的每个子带,根据子带对应的子带平滑功率谱与噪声初始值,确定与相应子带对应的语音存在概率;对于各音频帧中的每个子带,根据相应子带所对应的语音存在概率和子带功率谱,确定与相应子带对应的噪声估计值。

在一个实施例中,语音分析模块902还用于对于各音频帧中当前处理的当前帧中的当前子带,确定当前帧中与当前子带相邻的预设数量的相邻子带;

将相邻子带与当前子带共同构成子带序列;按照与子带序列对应的权重,对子带序列中各子带的子带功率谱进行加权求和处理,得到当前帧中当前子带对应的子带频域平滑功率谱;对当前帧的在前帧中对应相同子带序号的历史子带的频域平滑功率谱、以及当前帧中当前子带的频域平滑功率谱进行加权求和处理,得到当前中当前子带对应的子带平滑功率谱。

在一个实施例中,语音分析模块902还用于对于各音频帧中当前处理的当前帧中的当前子带,将当前子带的子带平滑功率谱与噪声初始值的商,作为当前帧中当前子带所对应的功率比值;当功率比值大于预设阈值时,将第一值作为与当前帧中当前子带对应的语音存在值;当功率比值小于或等于预设阈值时,将第二值作为与当前帧中当前子带对应的语音存在值;第二值小于第一值;获取在当前帧之前的历史帧中,与当前子带对应相同子带序号的历史子带的语音存在概率;对历史子带对应的语音存在概率和当前子带对应的语音存在值,进行加权求和处理,得到当前帧中当前子带对应的语音存在概率。

在一个实施例中,语音分析模块902还用于将数值一与语音存在概率的差值作为相应子带所对应的噪声存在概率;对于各音频帧中当前处理的当前帧中的当前子带,获取当前帧的历史帧中与当前子带对应相同子带序号的历史子带所对应的噪声估计值;对历史子带所对应的噪声估计值和当前帧中当前子带对应的语音存在概率的第一乘积,与当前帧中当前子带所对应的子带功率谱和噪声存在概率的第二乘积,进行求和运算,得到当前帧中当前子带对应的噪声估计值。

在一个实施例中,确定模块903,还用于对于语音通话的各音频帧中当前处理的当前帧,基于当前帧对应的单帧信噪比,计算相应的即时语音调节参数;确定在当前帧之前的历史帧所对应的历史语音调节参数;对历史语音调节参数和当前帧对应的即时语音调节参数进行加权求和处理,得到与当前帧对应的语音调节参数;继续对当前帧之后的在后帧进行处理,直到得到各音频帧分别对应的语音调节参数。

在一个实施例中,确定模块903,还用于从通话音频所包括的音频帧对应的单帧信噪比中,确定最大信噪比和最小信噪比;根据最大信噪比和最小信噪比的差异确定第一差值;对于通话音频的各音频帧中当前处理的当前帧,根据当前帧对应的单帧信噪比和最小信噪比的差异,确定第二差值;根据预设最小增益值、第一差值及第二差值,确定与当前帧对应的即时语音调节参数。

上述通话音频处理装置,对参与通话的各个通话成员终端所对应的通话音频分别进行语音分析,以确定与各通话成员终端分别对应的语音活跃度。并根据语音活跃度控制各通话成员终端的语音调节参数,从而按照相应的语音调节参数,对各路通话音频进行调节得到调节音频,并基于各调节音频进行混音处理得到混合音频。这样,基于语音活跃度的语音调控机制,可以减少通话中不活跃用户周边噪声对活跃用户的干扰,使得语音活跃度不高的通话成员尽可能少地干扰活跃度较高的通话成员,提升整体通话的通话效果和质量。并且,在进行混音处理时,不会限制最终混音方数,避免超出选路方数的通话成员无法“发声”的问题,进一步有效地提高了通话质量。

如图10所示,在一个实施例中,提供了通话音频处理1000装置,包括获取模块1001、通话参与模块1002、采集模块1003、发送模块1004和接收模块1005。其中:

获取模块1001,用于获取通话创建指令。

通话参与模块1002,用于根据通话创建指令参与到基于通话创建指令所创建的通话中。

采集模块1003,用于采集本地在参与通话时产生的通话音频。

发送模块1004,用于将通话音频发送至服务器;发送的通话音频用于指示服务器对参与通话的各通话成员终端的通话音频分别进行语音分析,确定相应的语音活跃度,并根据语音活跃度,确定相应的语音调节参数,按照各通话成员终端分别对应的语音调节参数,对相应的通话音频进行调节得到调节音频,并基于各调节音频进行混音处理得到混合音频;其中,语音活跃度用于反映通话成员参与通话的活跃程度。

接收模块1005,用于接收服务器反馈的混合音频并播放。

在一个实施例中,发送模块1004,还用于对通话音频进行语音增强处理;语音增强处理包括语音降噪处理、回声消除处理和语音音量调节处理中的至少一种处理;将进行语音增强处理后的通话音频发送至服务器。

上述通话音频混音处理装置,采集通话成员在参与通话时所产生的通话音频并上报至服务器,服务器对参与通话的各个通话成员终端所对应的通话音频分别进行语音分析,以确定与各通话成员终端分别对应的语音活跃度。服务器根据语音活跃度控制各通话成员终端的语音调节参数,从而按照相应的语音调节参数,对各路通话音频进行调节得到调节语音后,基于各调节语音进行混音处理后反馈至通话成员终端处进行播放。这样,基于语音活跃度的语音调控机制,可以减少通话中不活跃用户周边噪声对活跃用户的干扰,使得语音活跃度不高的通话成员尽可能少地干扰活跃度较高的通话成员,提升整体通话的通话效果和质量。并且,在进行混音处理时,不会限制最终混音方数,避免超出选路方数的通话成员无法“发声”的问题,进一步有效地提高了通话质量。

图11示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务器120。如图11所示,该服务器包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现通话音频混音处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行通话音频混音处理方法。

本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

图12示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110。如图12所示,该终端包括通过系统总线连接的处理器、存储器、网络接口、输入装置、显示屏、声音采集装置和扬声器。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现通话音频混音处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行通话音频混音处理方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的通话音频混音处理装置可以实现为一种计算机程序的形式,计算机程序可在如图11或图12所示的计算机设备上运行。计算机设备的存储器中可存储组成该通话音频混音处理装置的各个程序模块,比如,图9(a)所示的获取模块、语音分析模块、确定模块和混音处理模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的通话音频混音处理方法中的步骤。还比如图10所示的获取模块、通话参与模块、采集模块、发送模块和接收模块。

例如,图11所示的计算机设备可以通过如图9(a)所示的通话音频混音处理装置中的获取模块执行步骤s202。计算机设备可通过语音分析模块执行步骤s204。计算机设备可通过确定模块执行步骤s206。计算机设备可通过混音处理模块执行步骤s208。

还例如,图12所示的计算机设备可以通过如图10所示的通话音频混音处理装置中的获取模块执行步骤s702。计算机设备可通过通话参与模块执行步骤s704。计算机设备可通过采集模块执行步骤s706。计算机设备可通过发送模块执行步骤s708。计算机设备可通过接收模块执行步骤s710。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述通话音频混音处理方法的步骤。此处通话音频混音处理方法的步骤可以是上述各个实施例的通话音频混音处理方法中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述通话音频混音处理方法的步骤。此处通话音频混音处理方法的步骤可以是上述各个实施例的通话音频混音处理方法中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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