发明内容
本申请主要解决的技术问题是提供音频处理设备、方法及计算机可读存储介质,能够提高用户体验。
本申请采用的一种技术方案是提供一种音频处理方法,该音频处理方法包括:获取多路音频信号;将多路音频信号进行加权求和,得到混音后的目标音频信号;其中,每一路音频信号对应的第一加权系数是根据指数平滑算法计算得到;输出所述目标音频信号。
其中,将多路音频信号进行加权求和,得到混音后的目标音频信号,包括:对每一路音频信号进行采样分帧处理,得到每一路音频信号对应的连续的音频帧信号;获取每一路音频信号中的同一时段对应的音频帧信号;计算同一时段对应的音频帧信号的能量总数;计算每一音频帧信号的能量与所述能量总数的占比;基于所述占比得到每一路音频信号对应的第一加权系数;利用所述第一加权系数与每一路音频帧信号进行加权求和,得到混音后的目标音频信号。
其中,基于所述占比得到每一路音频信号对应的第一加权系数,包括:利用所述占比和时间平滑系数得到第一数值;利用所述时间平滑系数和上一时段的音频帧信号对应的第一加权系数得到第二数值;利用所述第二数值和所述第一数值得到所述第一加权系数。
其中,利用所述占比和时间平滑系数得到第一数值,包括:利用以下公式计算得到所述第一数值:A=σ*B;其中,A表示所述第一数值,σ表示时间平滑系数;B表示所述占比;所述利用所述时间平滑系数和上一时段的音频帧信号对应的第一加权系数得到第二数值,包括:利用以下公式计算得到所述第二数值:C=(1-σ)*D;其中,C表示所述第二数值,D表示上一时段的音频帧信号对应的第一加权系数。
其中,对每一路音频信号进行采样分帧处理,得到每一路音频信号对应的连续的音频帧信号,包括:利用预设采样周期对每一路音频信号进行采样处理,得到多个连续的采样音频信号;将多个连续的采样音频信号按照预设时间间隔组成音频集合,将所述音频集合作为所述音频帧信号。
其中,计算同一时段对应的音频帧信号的能量总数,包括:对每一所述音频帧信号中的采样音频信号进行平方求和处理,得到所述音频帧信号的能量;计算同一时段所有的音频帧信号的能量总数。
其中,基于所述占比得到每一路音频帧信号对应的第一加权系数,包括:利用以下公式计算所述第一加权系数:
其中,ω
Nm表示第N路音频的第m帧信号对应的第一加权系数,σ表示时间平滑系数,S
1m(n)表示第一路音频的第m帧信号,S
2m(n)表示第二路音频的第m帧信号,S
Nm(n)表示第N路音频的第m帧信号,
表示S
Nm(n)的平方和,
表示S
2m(n)的平方和,
表示S
1m(n)的平方和,n表示所述音频帧信号中的所述采样音频信号的数量,ω
Nm-1表示第N路音频的第m-1帧信号对应的第一加权系数。
本申请采用的另一种技术方案是提供一种音频处理设备,该音频处理设备包括:获取模块,用于获取多路音频信号;处理模块,用于将多路音频信号进行加权求和,得到混音后的目标音频信号;其中,每一路音频信号对应的第一加权系数是根据指数平滑算法计算得到;输出模块,用于输出目标音频信号。
本申请采用的另一种技术方案是提供一种音频处理设备,该音频处理设备包括处理器以及与处理器连接的存储器;存储器用于存储程序数据,程序数据在被处理器执行时,用于实现如上述技术方案提供的方法。
本申请采用的另一种技术方案是提供一种计算机可读存储介质,该计算机可读存储介质用于存储程序数据,程序数据在被处理器执行时,用于实现如上述技术方案提供的方法。
本申请的有益效果是:区别于现有技术的情况,本申请提供的音频处理设备、方法及计算机可读存储介质。利用指数平滑算法计算得到每一路音频信号对应的第一加权系数,并利用第一加权系数进行加权求和,得到混音后的目标音频信号,一方面不论多少路音频信号的叠加,其幅值不会超过输入音频信息的最大值,不会产生溢出;另一方面,多路音频信号中音量较大的一路将保持较好的辨识度,其它路也能较好的充当背景声音,能够提高用户体验;另一方面,输出的目标音频信号中声音起伏较平稳,不会产生说话人一多声音就嘈杂的效果。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
参阅图1,图1是本申请提供的音频处理方法一实施例的流程示意图。该方法包括:
步骤11:获取多路音频信号。
在本实施例中,每一路音频信号可以是由不同的音频采集设备采集得到。如在多方会议场景中,每一路音频信号可以是由参会方的移动设备采集得到。如手机或电脑上的麦克风。可以理解,多路音频信号至少为两路。
步骤12:将多路音频信号进行加权求和,得到混音后的目标音频信号;其中,每一路音频信号对应的第一加权系数是根据指数平滑算法计算得到。
在本实施例中,可以对每一路音频信号分别进行处理,得到其对应的第一加权系数,然后根据第一加权系数将多路音频信号进行加权求和。
其中,第一加权系数是根据指数平滑算法计算得到。第一加权系数随指数平滑法中最重要的一个参数时间平滑系数σ确定,σ的取值范围是[0-1],σ值是主观选定的,值越大表示对未来的预测中越近期的数据权重越大。在一实施例中,σ的确定方法,一般是先根据经验做一个大概的预估,基本判断标准如下:1.时间序列比较平稳时,选择较小的σ值,0.05-0.20。2.时间序列有波动,但长期趋势没大的变化,可选稍大的σ值,0.10-0.40。3.时间序列波动很大,长期趋势变化大有明显的上升或下降趋势时,宜选较大的σ值,0.60-0.80。4.当时间序列是上升或下降序列,满足加性模型,σ取较大值,0.60-1。再重复试算过程,比较不同σ值下,预测的标准误差,从而选取误差较小的σ值来建立模型。
步骤13:输出目标音频信号。
在本实施例中,利用指数平滑算法计算得到每一路音频信号对应的第一加权系数,并利用第一加权系数进行加权求和,得到混音后的目标音频信号,一方面不论多少路音频信号的叠加,其幅值不会超过输入音频信息的最大值,不会产生溢出;另一方面,多路音频信号中音量较大的一路将保持较好的辨识度,其它路也能较好的充当背景声音,能够提高用户体验;另一方面,输出的目标音频信号中声音起伏较平稳,不会产生说话人一多声音就嘈杂的效果。
参阅图2,图2是本申请提供的音频处理方法另一实施例的流程示意图。该方法包括:
步骤21:获取多路音频信号。
步骤22:对每一路音频信号进行采样分帧处理,得到每一路音频信号对应的连续的音频帧信号。
在本实施例中,可参阅图3,图3为某一路音频信号进行采样分帧的过程。即以预设的采样周期对音频信号进行信号抽取。图3的横坐标表示采样时间,纵轴表示音频帧信号的幅度。在得到采样音频信号后按照预设时间间隔将采样的音频信号进行分帧处理。如图3所示,以一个Ts作为采样周期,以4个Ts为一帧的时间,将每四个TS采集到的音频信号作为一个音频帧信号。如第一个音频帧信号Frame 0由音频信号S0(0)、S0(1)、S0(2)和S0(3)组成,第二个音频帧信号Frame 1由音频信号S1(0)、S1(1)、S1(2)和S1(3)组成,第三个音频帧信号Frame 2由音频信号S2(0)、S2(1)、S2(2)和S2(3)组成,第四个音频帧信号Frame 3由音频信号S3(0)、S3(1)、S3(2)和S3(3)组成,第五个音频帧信号Frame 4由音频信号S4(0)、S4(1)、S4(2)和S4(3)组成。其中,能量值的大小对应输出音频的响度大小。能量值越大,响度越大,用户听到的声音越大。其余的音频信号可参考图3的方式进行采样处理。所有的音频信号可以按照采样周期对音频信号进行信号抽取。并以帧时间间隔将采样的信号进行分帧处理。
步骤23:获取每一路音频信号中的同一时段对应的音频帧信号。
在得到每一路音频信号对应的连续的音频帧信号后,对同一时段的音频帧信号进行处理。
步骤24:计算同一时段对应的音频帧信号的能量总数。
在步骤24中,对同一时段对应的音频帧信号的能量求和,得到能量总数。
步骤25:计算每一音频帧信号的能量与能量总数的占比。
通过步骤25,则可以得到每一音频帧信号基于能量总数对应的能量比。
步骤26:基于占比得到每一路音频信号对应的第一加权系数。
具体地,参阅图4,步骤26可以是以下流程:
步骤261:利用占比和时间平滑系数得到第一数值。
利用以下公式计算得到第一数值:
A=σ*B。其中,A表示所述第一数值,σ表示时间平滑系数;B表示所述占比。
步骤262:利用时间平滑系数和上一时段的音频帧信号对应的第一加权系数得到第二数值。
利用以下公式计算得到第二数值:
C=(1-σ)*D。其中,C表示第二数值,D表示上一时段的音频帧信号对应的第一加权系数。
步骤263:利用第二数值和第一数值得到第一加权系数。
将第二数值和第一数值求和得到第一加权系数。
可以理解,因每一音频帧信号的能量与能量总数的占比不同,则每一路音频帧信号的第一加权系数也不同。
步骤27:利用第一加权系数与每一路音频帧信号进行加权求和,得到混音后的目标音频信号。
可以理解,每一路音频帧信号按照上述方式进行处理,得到混音后的目标音频信号。
步骤28:输出目标音频信号。
在其他实施例中,利用预设采样周期对每一路音频信号进行采样处理,得到多个连续的采样音频信号。将多个连续的采样音频信号按照预设时间间隔组成音频集合,将所述音频集合作为所述音频帧信号。对每一所述音频帧信号中的采样音频信号进行平方求和处理,得到所述音频帧信号的能量。然后计算同一时段所有的音频帧信号的能量总数。计算每一音频帧信号的能量与所述能量总数的占比。
其中,通过将音频帧信号中的每一采样帧信号进行平方求和处理,可以将能量大的主信号与其他路的背景信号的差异放大,从而进一步突出主信号扩大信号动态范围。然后计算每一音频帧信号的能量与能量总数的占比。基于占比得到每一路音频帧信号对应的第一加权系数。具体地,对第一路音频的第m帧信号的第一加权系数可以采用以下公式进行计算:
对第N路音频的第m帧信号的第一加权系数可以采用以下公式进行计算:
混音后的目标音频信号用以下公式表示:
Sm(n)=ω1m*S1m(n)+...+ωNm*SNm(n)。
其中,ω
Nm表示第N路音频的第m帧信号对应的第一加权系数,σ表示时间平滑系数,S
1m(n)表示第一路音频的第m帧信号的第n个样点,S
2m(n)表示第二路音频的第m帧信号的第n个样点,S
Nm(n)表示第N路音频的第m帧信号的第n个样点,
表示第N路音频的第m帧所有样点的平方和,
表示第2路音频的第m帧所有样点的平方和,
表示第1路音频的第m帧信号的平方和,n表示所述音频帧信号中的第n个样点,ω
Nm-1表示第N路音频的第m-1帧信号对应的第一加权系数。
在一应用场景中,该场景为会议场景,多方会议中一人讲话。在此场景中若采用现有的技术方案多方语音信号的线性叠加,叠加越多语音则讲话语音之外的噪声越大,形成嗡嗡的噪声。通过本申请上述的技术方案,在此场景中因对每一路音频的帧信号中的采样音频信号进行了平方求和处理,混音后音频中讲话人的声音能量大大高于其他路音频能量,在加权混音后讲话人受噪声影响会很小。
在另一应用场景中,该场景为会议场景,多方会议中相互插话。在此场景中若采用现有的技术方案多方语音信号的线性叠加,当后者插话时,音量会瞬间变大,同时掩蔽前者的讲话。通过本申请上述的技术方案,在此场景中混音后音量不会发生突变,而且前者的讲话通过平滑系数的调节可以自然的过渡到后者,符合会议中注意力转移的规律。
由此,本申请提供的技术方案在多路音频会议的混音中能提高语音交互的体验。
参阅图5,图5为本申请提供的音频处理设备一实施例的结构示意图。该音频处理设备50包括获取模块51、处理模块52和输出模块53。
获取模块51用于获取多路音频信号。
处理模块52用于将多路音频信号进行加权求和,得到混音后的目标音频信号;其中,每一路音频信号对应的第一加权系数是根据指数平滑算法计算得到。
输出模块53用于输出目标音频信号。
处理模块52还用于实现上述任一实施例中得到混音后的目标音频信号的方法。
参阅图6,图6为本申请提供的音频处理设备另一实施例的结构示意图。该音频处理设备60包括处理器61以及与处理器61连接的存储器62;存储器62用于存储程序数据,程序数据在被处理器61执行时,用于实现以下方法:
获取多路音频信号;将多路音频信号进行加权求和,得到混音后的目标音频信号;其中,每一路音频信号对应的第一加权系数是根据指数平滑算法计算得到;输出目标音频信号。
可以理解,程序数据在被处理器61执行时,还用于实现上述任一实施例中提供的方法。
参阅图7,图7为本申请提供的计算机可读存储介质一实施例的结构示意图。计算机可读存储介质70用于存储程序数据71,程序数据71在被处理器执行时,用于实现以下方法:
获取多路音频信号;将多路音频信号进行加权求和,得到混音后的目标音频信号;其中,每一路音频信号对应的第一加权系数是根据指数平滑算法计算得到;输出目标音频信号。
可以理解,计算机可读存储介质70可应用上述音频处理设备50,以于实现上述任一实施例中提供的方法。
在本申请所提供的几个实施方式中,应该理解到,所揭露的方法以及设备,可以通过其它的方式实现。例如,以上所描述的设备实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述其他实施方式中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。