多路语音信号的混音处理方法、装置、设备及存储介质转让专利

申请号 : CN202110795299.4

文献号 : CN113257257B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张旭东

申请人 : 统信软件技术有限公司

摘要 :

本发明公开了一种多路语音信号的混音处理方法,包括步骤:获取多路语音信号混音后的和值,多路语音信号混音后的和值为多路语音信号的PCM值之和的最大值;当多路语音信号混音后的和值编码位数超过设定位数阈值时,计算第一比例因子;使用第一比例因子对多路语音信号的混音信号进行箝位处理,获取第一箝位信号;当第一箝位信号的编码位数超过设定位数阈值时,计算第二比例因子,使用第二比例因子对第一箝位信号进行箝位处理,直至多路语音信号的混音信号的编码位数低于设定位数阈值。本发明还一并公开了一种多路语音信号的混音处理装置,计算设备及存储介质。本发明能够保证多路语音混音后的通话质量,而且算法实现简单,具备更优的实时性要求。

权利要求 :

1.一种多路语音信号的混音处理方法,所述方法适于采用自适应箝位法对多路视音频数据进行混音处理,所述方法包括步骤:获取多路语音信号混音后的和值,所述多路语音信号混音后的和值为多路语音信号的PCM值之和的最大值;

当所述多路语音信号混音后的和值编码位数超过设定位数阈值时,计算第一比例因子;

使用所述第一比例因子对所述多路语音信号的混音信号进行箝位处理,获取第一箝位信号;

当所述第一箝位信号的编码位数小于设定位数阈值时,使用所述第一箝位信号进行信号传输;

当所述多路语音信号中增加了一路或多路信号,使所述第一箝位信号的编码位数超过设定位数阈值时,计算第二比例因子,使用所述第二比例因子对所述第一箝位信号进行箝位处理,直至多路语音信号的混音信号的编码位数低于设定位数阈值;

当所述多路语音信号中减少了一路信号,使用比例因子aN对多路语音信号进行衰减,使输出的音频信号H*a1*a2*……*aN太小时,使用比例因子aN‑1对多路语音信号进行衰减,使输出的音频信号H*a1*a2*……*aN‑1正常,其中,H为多路语音信号的PCM编码,a1为多路语音信号有1路时对多路语音信号进行衰减的比例因子,a2为多路语音信号有2路时对多路语音信号进行衰减的比例因子,aN‑1为多路语音信号有N‑1路时对多路语音信号进行衰减的比例因子,aN为多路语音信号有N路时对多路语音信号进行衰减的比例因子;

其中,所述设定位数阈值为16位编码值,所述计算第一比例因子为:将16位PCM编码的最大正值除以所述多路语音信号混音后的和值。

2.如权利要求1所述的方法,其中,所述获取多路语音信号混音后的和值的步骤包括:获取多路语音信号中每一路语音信号的PCM编码;

依据多路语音信号中每一路语音信号的PCM编码,获取多路语音信号中每一路语音信号的PCM编码值;

依据多路语音信号中每一路语音信号的PCM编码值,对多路语音信号中混音后的每一路语音信号的PCM编码值求和,获取多路语音信号混音后的和值。

3.如权利要求1所述的方法,其中,所述当所述多路语音信号混音后的和值编码位数超过设定位数阈值时,计算第一比例因子的步骤包括:获取16位PCM编码的最大正值;

判断多路语音信号混音后的和值的编码是否超过16位编码值;

如果否,则对多路语音信号混音后的和值进行16位PCM编码;

如果是,则计算第一比例因子。

4.如权利要求3所述的方法,其中,所述16位PCM编码的最大正值为:0x7fff。

5.如权利要求1所述的方法,其中,所述使用所述第一比例因子对所述多路语音信号的混音信号进行箝位处理,获取第一箝位信号的步骤包括:将所述多路语音信号的混音信号乘以所述第一比例因子;

获取所述多路语音信号的混音信号与所述第一比例因子的乘积作为第一箝位信号。

6.一种多路语音信号的混音处理装置,所述装置适于采用自适应箝位法对多路视音频数据进行混音处理,所述装置包括:获取模块,用于获取多路语音信号混音后的和值,所述多路语音信号混音后的和值为多路语音信号的PCM值之和的最大值;

处理模块,用于当所述多路语音信号混音后的和值编码位数超过设定位数阈值时,计算第一比例因子;使用所述第一比例因子对所述多路语音信号的混音信号进行箝位处理,获取第一箝位信号;当所述第一箝位信号的编码位数小于设定位数阈值时,使用所述第一箝位信号进行信号传输;当所述多路语音信号中增加了一路或多路信号,使所述第一箝位信号的编码位数超过设定位数阈值时,计算第二比例因子,使用所述第二比例因子对所述第一箝位信号进行箝位处理,直至多路语音信号的混音信号的编码位数低于设定位数阈值;当所述多路语音信号中减少了一路信号,使用比例因子aN对多路语音信号进行衰减,使输出的音频信号H*a1*a2*……*aN太小时,使用比例因子aN‑1对多路语音信号进行衰减,使输出的音频信号H*a1*a2*……*aN‑1正常,其中,H为多路语音信号的PCM编码,a1为多路语音信号有1路时对多路语音信号进行衰减的比例因子,a2为多路语音信号有2路时对多路语音信号进行衰减的比例因子,aN‑1为多路语音信号有N‑1路时对多路语音信号进行衰减的比例因子,aN为多路语音信号有N路时对多路语音信号进行衰减的比例因子;

其中,所述设定位数阈值为16位编码值,所述计算第一比例因子为:将16位PCM编码的最大正值除以所述多路语音信号混音后的和值。

7.一种计算设备,包括:

一个或多个处理器;和

存储器;

一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1‑5所述的方法中的任一方法的指令。

8.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当计算设备执行时,使得所述计算设备执行根据权利要求1‑5所述的方法中的任一方法。

说明书 :

多路语音信号的混音处理方法、装置、设备及存储介质

技术领域

[0001] 本发明涉及音频处理技术领域,尤其是一种多路语音信号的混音处理方法、装置、电子设备及存储介质。

背景技术

[0002] 近年来,随着信息科技的发展逐渐成熟,计算设备所具备的处理能力也大幅提升,使得许多复杂的应用得以实现,其中之一便是多路音频信号的混音的相关技术。
[0003] 音频混音的原理是量化的语音信号的叠加等价于空气中声波的叠加。现有技术中对混音的处理方法主要有以下急重,一是采用线性叠加求平均法,这种方法会导致音频的
衰减过大,影响通话质量;二是采用归一化混音法,这种方法是将相同采样率的音频PCM信
号直接相加,这会导致叠加后的PCM溢出问题,使高频部分发生峰值切割失真。
[0004] 因此,需要一种操作方便、又能够保证混音后的通话质量的语音处理方案。

发明内容

[0005] 为此,本发明提供了一种多路语音信号的混音处理方法、装置、电子设备及存储介质,以力图解决或者至少缓解上面存在的至少一个问题。
[0006] 根据本发明的一个方面,提供了一种多路语音信号的混音处理方法,该方法适于采用自适应箝位法对多路视音频数据进行混音处理,该方法包括步骤:获取多路语音信号
混音后的和值,所述多路语音信号混音后的和值为多路语音信号的PCM值之和的最大值;当
所述多路语音信号混音后的和值编码位数超过设定位数阈值时,计算第一比例因子;使用
所述第一比例因子对所述多路语音信号的混音信号进行箝位处理,获取第一箝位信号;当
第一箝位信号的编码位数超过设定位数阈值时,计算第二比例因子,使用所述第二比例因
子对所述第一箝位信号进行箝位处理,直至多路语音信号的混音信号的编码位数低于设定
位数阈值。
[0007] 可选地,在根据本发明的多路语音信号的混音处理方法中,所述获取多路语音信号混音后的和值的步骤包括:获取多路语音信号中每一路语音信号的PCM编码;依据多路语
音信号中每一路语音信号的PCM编码,获取多路语音信号中每一路语音信号的PCM编码值;
依据多路语音信号中每一路语音信号的PCM编码值,对多路语音信号中混音后的每一路语
音信号的PCM编码值求和,获取多路语音信号混音后的和值。
[0008] 可选地,在根据本发明的多路语音信号的混音处理方法中,设定位数阈值为16位编码值。
[0009] 可选地,在根据本发明的多路语音信号的混音处理方法中,当所述多路语音信号混音后的和值编码位数超过设定位数阈值时,计算第一比例因子的步骤包括:获取16位PCM
编码的最大正值;判断多路语音信号混音后的和值的编码是否超过16位编码值;如果否,则
对多路语音信号混音后的和值进行16位PCM编码;如果是,则计算第一比例因子。
[0010] 可选地,在根据本发明的多路语音信号的混音处理方法中,计算第一比例因子为:将所述16位PCM编码的最大正值除以所述多路语音信号混音后的和值。
[0011] 可选地,在根据本发明的多路语音信号的混音处理方法中,16位PCM编码的最大正值为:0x7fff。
[0012] 可选地,在根据本发明的多路语音信号的混音处理方法中,使用所述第一比例因子对所述多路语音信号的混音信号进行箝位处理,获取第一箝位信号的步骤包括:将所述
多路语音信号的混音信号乘以所述第一比例因子;获取所述多路语音信号的混音信号与所
述第一比例因子的乘积作为第一箝位信号。
[0013] 可选地,在根据本发明的多路语音信号的混音处理方法中,当第一箝位信号的编码位数超过设定位数阈值时,计算第二比例因子,使用所述第二比例因子对所述第一箝位
信号进行箝位处理,直至多路语音信号的混音信号的编码位数低于设定位数阈值的步骤包
括:获取16位PCM编码的最大正值和第一箝位信号的最大值;判断第一箝位信号的最大值编
码是否超过16位编码值;如果否,则对第一箝位信号进行16位PCM编码;如果是,则将所述16
位PCM编码的最大正值除以所述第一箝位信号作为第二比例因子;将所述第一箝位信号与
所述第二比例因子相乘输出结果的编码位数继续与设定位数阈值比较,直至多路语音信号
的混音信号的编码位数低于设定位数阈值。
[0014] 根据本发明的又一方面,公开了一种多路语音信号的混音处理装置,该装置适于采用自适应箝位法对多路视音频数据进行混音处理,该装置包括:
[0015] 获取模块,用于获取多路语音信号混音后的和值,所述多路语音信号混音后的和值为多路语音信号的PCM值之和的最大值;
[0016] 处理模块,用于当所述多路语音信号混音后的和值编码位数超过设定位数阈值时,计算第一比例因子;使用所述第一比例因子对所述多路语音信号的混音信号进行箝位
处理,获取第一箝位信号;当第一箝位信号的编码位数超过设定位数阈值时,计算第二比例
因子,使用所述第二比例因子对所述第一箝位信号进行箝位处理,直至多路语音信号的混
音信号的编码位数低于设定位数阈值。
[0017] 根据本发明的又一方面,提供了一种计算设备,包括:一个或多个处理器;和存储器;一个或多个程序,其中所述一个或多个程序存储在存储器中并被配置为由一个或多个
处理器执行,所述一个或多个程序包括用于执行如上所述多路语音信号的混音处理方法中
的任一方法的指令。
[0018] 根据本发明的又一方面,提供了一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当计算设备执行时,使得计算设备执行如上所
述多路语音信号的混音处理方法中的任一方法。
[0019] 根据本发明的多路语音信号的混音处理方案,在多路语音信号混音后的和值超过设定位数阈值时,通过计算第一比例因子,将多路语音信号的混音信号进行箝位处理,获取
第一箝位信号,在第一箝位信号超过设定位数阈值时,通过计算第二比例因子,将第一箝位
信号进行箝位处理,直至多路语音信号的混音信号的编码位数低于设定位数阈值,能过实
现多路语音混音后的通话质量,而且算法实现简单,复杂度低,具备更优的实时性要求。

附图说明

[0020] 为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面
旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述
以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的
部件或元素。
[0021] 图1示出了根据本发明一个实施例的计算设备100的构造示意图;以及
[0022] 图2示出了根据本发明一个实施例的多路语音信号的混音处理方法200的流程图;以及
[0023] 图3示出了根据本发明一个实施例的多路语音信号的混音处理装置300的结构示意图。

具体实施方式

[0024] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例
所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围
完整的传达给本领域的技术人员。
[0025] 图1是示例计算设备100的框图。在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储
器106之间的通信。
[0026] 取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(µP)、微控制器(µC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如
一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心
114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、
数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器
104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
[0027] 取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储
器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,
应用122可以布置为在操作系统上利用程序数据124进行操作。在一些实施例中,计算设备
100被配置为执行多路语音信号的混音处理方法200,该方法200能够根据目标语音数据的
节奏对待处理语音数据进行变速处理,得到富有说唱音乐节奏感的语音数据,程序数据124
中包含了用于执行该方法200的指令。
[0028] 计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例
的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由
一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外
设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于
经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸
输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设
备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一
个或者多个其他计算设备162通过网络通信链路的通信。在本实施例中,可以通过诸如语音
输入设备实时获取待处理的语音数据。
[0029] 网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可
以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多
个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以
包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外
(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存
储介质和通信介质二者。在一些实施例中,计算机可读介质中存储一个或多个程序,这一个
或多个程序中包括执行某些方法的指令,如根据本发明的实施例,计算设备100通过所述指
令来执行多路语音信号的混音处理方法200。
[0030] 计算设备100可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个
人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备100还可以
实现为包括桌面计算机和笔记本计算机配置的个人计算机。
[0031] 图2示出了根据本发明一个实施例的多路语音信号的混音处理方法200的流程图。如图2所示,该方法200方法适于采用自适应箝位法对多路视音频数据进行混音处理,方法
200始于步骤S210,获取多路语音信号混音后的和值,所述多路语音信号混音后的和值为多
路语音信号的PCM值之和的最大值。
[0032] 具体的,由于接收的多路语音信号均为模拟信号,通过PCM调制之后,用二进制数值来对语音信号的模拟信号进行数字化处理,获取语音信号的数字信号,多路语音信号混
音后,就是将每一路语音信号的PCM值进行加法、箝位灯运算,叠加成一路PCM信号,然后将
一路PCM输出后,将数字信号转换成模拟信号以后,得到输出的声音信号,多路语音信号混
音后的和值就是将多路语音信号进行模数转换以后的PCM值之和的最大值,由此可知,如果
同时接收的语音信号路数越多,语音信号混音后的和值越大,如果不对多路语音信号的混
音后信号进行处理,那么直接输出的混音信号将非常大,会影响人们正常的听觉效果。
[0033] 根据本发明的实施方式,首先获取多路语音信号中每一路语音信号的PCM编码,通过对每一路语音信号进行PCM编码,获取每一路语音信号的数字量,以此来求取多路语音信
号的PCM和值;再获取每一路语音信号的PCM编码以后,可以通过每一路语音信号的PCM编码
而获取多路语音信号中每一路语音信号的PCM编码值;对于多路语音信号而言,其一个采样
时间点上的PCM和值,就是对多路语音信号中混音后的每一路语音信号的PCM编码值求和,
以获取多路语音信号混音后的和值。
[0034] 依据PCM编码的规则,对音频信号的PCM编码一般为16位,那么,由于混音后的多路语音信号是通过将每一路语音信号的PCM编码值进行求和,因此,如果将求和之后的多路语
音信号按照原有的PCM编码规则进行编码,那么,这个编码长度可能会大于16位,此时将导
致语音编码出现混乱,或者导致语音信号无法解码,此时,需要对多路语音信号的PCM值进
行处理,以使输出的PCM信号编码不大于16位。
[0035] 通过步骤S220,当所述多路语音信号混音后的和值编码位数超过设定位数阈值时,计算第一比例因子。具体的,如果所述多路语音信号混音后的和值编码位数超过设定位
数阈值,说明按照原有的PCM编码规则对多路语音信号混音后进行编码,其PCM编码位数要
超过16位,此时,如果继续按照原有的编码规则进行编码,那么终端对混音信号进行解码时
会出现缺帧、失真或无法解码的问题,这时候就需要对多路语音信号的混音信号进行处理,
此时,第一比例因子就是对多路语音信号混音后信号进行处理的参数。在本申请的实施例
中,设定位数阈值为16位编码值。
[0036] 具体的,所述多路语音信号混音后的和值编码位数超过设定位数阈值时,计算第一比例因子的步骤包括:
[0037] 获取16位PCM编码的最大正值;具体的,16位PCM编码的最大正值就是语音编码的最大值,如果语音编码超过该最大正值,则语音解码时会出现错误或失真,如果语音编码不
超过该最大正值,则语音解码时不会出现错误或失真,通过获取16位PCM编码的最大正值,
就可以判断多路语音信号混音后的和值进行PCM编码时,是否能够不失真的进行解码。
[0038] 判断多路语音信号混音后的和值的编码是否超过16位编码值;如果否,则对多路语音信号混音后的和值进行16位PCM编码;如果是,则计算第一比例因子。具体的,如果多路
语音信号混音后的和值的编码超过16位编码值,则需要将多路语音信号混音后的和值进行
处理,确保混音后的语音信号能够正常进行编解码,而对多路语音信号的混音信号进行处
理的参数就是第一比例因子。
[0039] 具体的,所述计算第一比例因子为:将所述16位PCM编码的最大正值除以所述多路语音信号混音后的和值。所述16位PCM编码的最大正值为:0x7fff。由此可知,第一比例因子
的值是小于等于1的,在初始化时,如果多路语音信号混音后的和值的编码不超过16位编码
值,可以将第一比例因子设定为1,只有在判断到多路语音信号混音后的和值的编码超过16
位编码值时,才进行第一比例因子的计算。
[0040] 通过步骤S230,使用所述第一比例因子对所述多路语音信号的混音信号进行箝位处理,获取第一箝位信号。具体的,对多路语音信号的混音信号进行箝位处理,就是在多路
语音信号混音后的和值超过所述16位PCM编码的最大正值时,将多路语音信号混音后的和
值处理成低于所述16位PCM编码的最大正值,处理后的多路语音信号混音后的和值就是第
一箝位信号。
[0041] 具体的,在本申请的一个实施例中,所述使用所述第一比例因子对所述多路语音信号的混音信号进行箝位处理,获取第一箝位信号的步骤包括:
[0042] 将所述多路语音信号的混音信号乘以所述第一比例因子;获取所述多路语音信号的混音信号与所述第一比例因子的乘积作为第一箝位信号。
[0043] 具体的,比如,16位PCM编码的最大正值为:0x7fff,多路语音信号混音后的和值为1x0000,即16位PCM编码的最大正值为32767,多路语音信号混音后的和值为32768,由于多
路语音信号混音后的和值超过16位PCM编码的最大正值,此时需要计算第一比例因子,由第
一比例因子的计算公式得:第一比例因子为32767/32768,此时第一箝位信号就是多路语音
信号的混音信号乘以第一比例因子而得。
[0044] 通过步骤S240,当第一箝位信号的编码位数超过设定位数阈值时,计算第二比例因子,使用所述第二比例因子对所述第一箝位信号进行箝位处理,直至多路语音信号的混
音信号的编码位数低于设定位数阈值。
[0045] 具体的,在实际的应用中,对多路语音信号的混音信号经过第一比例因子处理后,可能对于当前的混音信号而言,能够满足第一箝位信号的PCM编码值不大于16位PCM编码的
最大正值,第一箝位信号能够正常传输,但是,如果原始多路语音信号中又增加了一路或多
路语音信号,那么多路语音信号混音后的和值将变大,此时再经过第一比例因子处理多路
语音信号的混音信号而得到的第一箝位信号的PCM编码值也将大于16位PCM编码的最大正
值,此时,还需要继续对第一箝位信号进行箝位处理,以使处理后的diyi箝位信号的PCM编
码值不大于16位PCM编码的最大正值。
[0046] 具体的,所述当第一箝位信号的编码位数超过设定位数阈值时,计算第二比例因子,使用所述第二比例因子对所述第一箝位信号进行箝位处理,直至多路语音信号的混音
信号的编码位数低于设定位数阈值的步骤包括:
[0047] 获取16位PCM编码的最大正值和第一箝位信号的最大值;
[0048] 判断第一箝位信号的最大值编码是否超过16位编码值;
[0049] 如果否,则对第一箝位信号进行16位PCM编码;
[0050] 如果是,则将所述16位PCM编码的最大正值除以所述第一箝位信号作为第二比例因子;
[0051] 将所述第一箝位信号与所述第二比例因子相乘输出结果的编码位数继续与设定位数阈值比较,直至多路语音信号的混音信号的编码位数低于设定位数阈值。
[0052] 特别的,随着多路音频信号的混音信号的箝位次数越来越多,多路音频信号经过最终箝位后的混音信号相对于原始的多路音频信号的和值也越来越小,多路音频信号的衰
减也越来越大,当多路音频信号衰减到一定程度之后,如果减少音频信号的路数,此时由于
多路音频信号混音后的和值变小,但是如果衰减的参数不变,那么最终输出的音频信号变
得非常小,甚至听不见声音,因此,本申请的上述方法对于增加混音路数的多路音频信号是
适用的。如果对于减少混音路数的多路音频信号,则使用上述方法的逆向处理。具体的,比
如,原始多路音频信号的路数为1路,信号PCM编码为H,第一比例因子为a1,后来多路音频信
号的路数变为2路,此时的比例因子为a2,依次将多路音频信号的路数变为N路,对应的比例
因子为An;此时,最终输出的音频信号相对于原始的多路音频信号为:H*a1*a2*……*aN;如
果多路音频信号的路数减少一路,此时多路音频信号的路数变为N‑1路,那么此时最终输出
的音频信号相对于原始的多路音频信号为:H*a1*a2*……*aN‑1;但是,在具体的实施过程
中,由于不能使输出音频信号的声音变化太大,一般会采取一个合适的步长来调整比例因
子增大的速度。根据本发明的一个实施例,增大的步长可实现为每0.1秒增大0.1。随着多路
音频路数的减少,最终的比例因子将变成1,此时将不能在增加比例因子的大小。
[0053] 具体的,在实际的应用中,为了提高多路音频信号的混音处理效率,预先把比例因子做成一张表,通过查表得方法来获取比例因子。
[0054] 在实际的应用中,可以使用webrtc函数来实现跨平台的终端设备音频信号采集,webrtc函数可同时支持Android、IOS、PC等多种设备,RecordedDataIsAvailable该函数是
来自于webrtc中的一个音频采样回调。
[0055] 应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的
执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分
步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行
完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,
而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0056] 在一个实施例中,如图3所示,提供了一种多路语音信号的混音处理装置300,所述装置300包括:获取模块、处理模块。
[0057] 获取模块,用于获取多路语音信号混音后的和值,所述多路语音信号混音后的和值为多路语音信号的PCM值之和的最大值;
[0058] 处理模块,用于当所述多路语音信号混音后的和值编码位数超过设定位数阈值时,计算第一比例因子;使用所述第一比例因子对所述多路语音信号的混音信号进行箝位
处理,获取第一箝位信号;当第一箝位信号的编码位数超过设定位数阈值时,计算第二比例
因子,使用所述第二比例因子对所述第一箝位信号进行箝位处理,直至多路语音信号的混
音信号的编码位数低于设定位数阈值。
[0059] 具体的,在本申请的另一个实施例中,所述获取模块用于获取多路语音信号中每一路语音信号的PCM编码;依据多路语音信号中每一路语音信号的PCM编码,获取多路语音
信号中每一路语音信号的PCM编码值;依据多路语音信号中每一路语音信号的PCM编码值,
对多路语音信号中混音后的每一路语音信号的PCM编码值求和,获取多路语音信号混音后
的和值
[0060] 具体的,在本申请的另一个实施例中,所述处理模块用于获取16位PCM编码的最大正值;判断多路语音信号混音后的和值的编码是否超过16位编码值;如果否,则对多路语音
信号混音后的和值进行16位PCM编码;如果是,则计算第一比例因子。
[0061] 具体的,在本申请的另一个实施例中,所述处理模块用于将所述多路语音信号的混音信号乘以所述第一比例因子;获取所述多路语音信号的混音信号与所述第一比例因子
的乘积作为第一箝位信号。
[0062] 具体的,在本申请的另一个实施例中,所述处理模块用于获取16位PCM编码的最大正值和第一箝位信号的最大值;判断第一箝位信号的最大值编码是否超过16位编码值;如
果否,则对第一箝位信号进行16位PCM编码;如果是,则将所述16位PCM编码的最大正值除以
所述第一箝位信号作为第二比例因子;将所述第一箝位信号与所述第二比例因子相乘输出
结果的编码位数继续与设定位数阈值比较,直至多路语音信号的混音信号的编码位数低于
设定位数阈值。
[0063] 应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或
者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发
明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求
书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实
施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发
明的单独实施例。
[0064] 本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备
不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个
子模块。
[0065] A8、如A3所述的方法,其中,所述当第一箝位信号的编码位数超过设定位数阈值时,计算第二比例因子,使用所述第二比例因子对所述第一箝位信号进行箝位处理,直至多
路语音信号的混音信号的编码位数低于设定位数阈值的步骤包括:
[0066] 获取16位PCM编码的最大正值和第一箝位信号的最大值;
[0067] 判断第一箝位信号的最大值编码是否超过16位编码值;
[0068] 如果否,则对第一箝位信号进行16位PCM编码;
[0069] 如果是,则将所述16位PCM编码的最大正值除以所述第一箝位信号作为第二比例因子;
[0070] 将所述第一箝位信号与所述第二比例因子相乘输出结果的编码位数继续与设定位数阈值比较,直至多路语音信号的混音信号的编码位数低于设定位数阈值。
[0071] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单
元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或
子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何
组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任
何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权
利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代
替。
[0072] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的
范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任
意之一都可以以任意的组合方式来使用。
[0073] 此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法
元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在
此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行
的功能。
[0074] 如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必
须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
[0075] 尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,
本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限
定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本
技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本
发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。