一种音频合成处理方法及系统的制作方法

文档序号:10688556阅读:190来源:国知局
一种音频合成处理方法及系统的制作方法
【专利摘要】本发明提供了一种音频合成处理方法及系统。所述方法包括:采集当前帧的多个参与方的语音数据;计算每一参与方的当前帧的语音数据与上一帧的语音数据的差值,生成所述每一参与方的当前帧的语音差值数据;根据参与方的数量,为所述每一参与方的当前帧的语音差值数据设置衰减等级和符号位;将每一参与方的当前帧的设置衰减等级和符号位后的语音差值数据进行累加后,与上一帧的混音数据相加,生成当前帧的混音数据。本发明可以有效消除背景噪音的同时,也有效的消除了在语音数据中的直流偏置。并且,本发明涉及的算法简单,控制简单且占用资源少,可以简单实现多达64个参与方的混音,方便在一些低成本的混音设计中实现。
【专利说明】
一种音频合成处理方法及系统
技术领域
[0001] 本发明涉及声音处理领域,尤其涉及一种音频合成处理方法及系统。
【背景技术】
[0002] 在通信过程中,常使用混音来满足各种产品的设计需求。在目前的混音设计中,采 用语音数据相加、语音数据加权相加等算法来实现混音,也可通过采用模拟信号进行混音。 使用以上算法进行混音,算法简单,但同时都存在参与方多情况下,背景噪音大,发言人声 音小等不足之处也十分明显。
[0003] 目前的混音算法普遍适用于10方以下的混音,而使用超过10方以上的混音时,又 需要采用复杂的算法,占用大量的CHJ资源进行计算。

【发明内容】

[0004] 本发明提出一种音频合成处理方法及系统,以解决现有技术中的混音算法复杂, 占用CHJ资源较多的问题。
[0005] 为了达到上述目的,本发明实施例提供一种音频合成处理方法,包括:采集当前帧 的多个参与方的语音数据;计算每一参与方的当前帧的语音数据与上一帧的语音数据的差 值,生成所述每一参与方的当前帧的语音差值数据;根据参与方的数量,为所述每一参与方 的当前帧的语音差值数据设置衰减等级和符号位;将每一参与方的当前帧的设置衰减等级 和符号位后的语音差值数据进行累加后,与上一帧的混音数据相加,生成当前帧的混音数 据。
[0006] 进一步地,在一实施例中,计算每一参与方的当前帧的语音数据与上一帧的语音 数据的差值,生成所述每一参与方的当前帧的语音差值数据,包括:当所述参与方在当前帧 刚加入混音时,差值为所述参与方在当前帧的语音数据;当所述参与方在当前帧离开混音 时,差值为〇减去所述参与方在上一帧的语音数据;当所述参与方继续在混音时,差值为所 述参与方在当前帧的数据减去所述参与方在上一帧的语音数据;当所述参与方在当前帧禁 止时,差值为0。
[0007] 进一步地,在一实施例中,根据参与方的数量,为所述每一参与方的当前帧的语音 差值数据设置衰减等级,包括:所述衰减等级的数值根据所述参与方的数量的逐渐增多而 减小。
[0008] 进一步地,在一实施例中,根据参与方的数量,为所述每一参与方的当前帧的语音 差值数据设置符号位,包括:当所述参与方为偶数时,对其两两设置相反的符号位。
[0009] 进一步地,在一实施例中,还包括:在进行语音差值数据的累加和上一帧的混音数 据相加时,进行溢出的控制。
[0010] 为了达到上述目的,本发明实施例还提供一种音频合成处理系统,包括:语音数据 采集模块,用于采集当前帧的多个参与方的语音数据;差值数据计算模块,用于计算每一参 与方的当前帧的语音数据与上一帧的语音数据的差值,生成所述每一参与方的当前帧的语 音差值数据;参数设置模块,用于根据参与方的数量,为所述每一参与方的当前帧的语音差 值数据设置衰减等级和符号位;混音模块,用于将每一参与方的当前帧的设置衰减等级和 符号位后的语音差值数据进行累加后,与上一帧的混音数据相加,生成当前帧的混音数据。
[0011] 本发明实施例的音频合成处理方法及系统采用了差值相加的方式进行,并通过设 定不同的符号位来消除背景噪音,通过仅仅将参与方的语音变化量,即差值添加到混音累 加值中,可以有效消除背景噪音的同时,也有效的消除了在语音数据中的直流偏置。并且, 本发明涉及的算法简单,控制简单且占用资源少,可以简单实现多达64个参与方的混音,方 便在一些低成本的混音设计中实现。
【附图说明】
[0012] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根 据这些附图获得其他的附图。
[0013] 图1为本发明实施例的音频和成处理方法的处理流程图; 图2为本发明实施例的音频和成处理系统的结构示意图; 图3为本发明实施例的参数设置模块的结构示意图。
【具体实施方式】
[0014] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0015] 首先,本发明的音频合成处理方法所涉及的现有的算法原理如下: 在现有技术中,很多混音算法采用方式的表达式为:
其中,m表示参与方的数量,:??表示t时刻的语音数据,η表示每个参与方的权值,一 般来说η < 1。
[0016] 如果当每个参与方的语音数据XCO存在较大的噪音#的时,会导致参与方数量多 时,正确语音数据被淹没在噪音中,无法获取。
[00171 亦公忒Π )由.熄JTffi由弓丨入嚙咅徨至丨丨,
在混音过程中,认为各个参与方的语音数据中的噪音是一个变化较慢的数据,可以作 为一个常暈来进行处理,因此,从公式(3)推导得到:
M苜昇,一取?肯/兄系B有一T现少M儿个参与方发言,由于需要进行取平均的算 法,避免溢出,因此必然导致信噪比的降低。
[0018] 针对现有技术中存在的上述问题,本发明采用了差值相加的方式进行,并通过设 定不同的符号位来消除背景噪音,并有效抑制了相对不进行变化的分量(例如:直流偏置)。 因此,本发明的算法简单,控制简单、占用资源少,方便在一些低成本的设计中应用。
[0019] 图1为本发明实施例的音频和成处理方法的处理流程图。如图1所示,包括: 步骤S101,采集当前帧的多个参与方的语音数据; 步骤S102,计算每一参与方的当前帧的语音数据与上一帧的语音数据的差值,生成所 述每一参与方的当前帧的语音差值数据; 步骤S103,根据参与方的数量,为所述每一参与方的当前帧的语音差值数据设置衰减 等级和符号位; 步骤S104,将每一参与方的当前帧的设置衰减等级和符号位后的语音差值数据进行累 加后,与上一帧的混音数据相加,生成当前帧的混音数据。
[0020] 具体实施时,在步骤SlOl中,采集当前帧的多个参与方的语音数据,包括以下几种 情况: (1)上一帧已经加入了混音,当前帧也加入了混音的参与方; (2 )上一帧没有加入混音,当前帧刚刚加入混音的参与方,即新的参与方; (3) 上一帧已经加入了混音,当前帧也加入了混音,但是禁止参与混音的参与方; (4) 上一帧加入了混音,当前帧离开混音的参与方。
[0021] 当为第(1)种情形时,采集该种参与方的当前帧的语音数据,即为当前帧的真实有 效的语音数据;当为第(2)种情形时,采集该种参与方的当前帧的语音数据,即为当前帧的 真实有效的语音数据;当为第(3)种情形时,采集该种参与方的当前帧的语音数据,即为当 前帧的真实有效的语音数据,但是在计算差值数据时,不参与计算,即差值为〇;当为第(4) 种情形时,采集该种参与方的当前帧的语音数据为〇。
[0022] 具体实施时,在步骤S102中,计算每一参与方的当前帧的语音数据与上一帧的语 音数据的差值,生成所述每一参与方的当前帧的语音差值数据,包括以下几种状态: (1) 当所述参与方在当前帧刚加入混音时,语音差值数据为所述参与方在当前帧的语 音数据; (2) 当所述参与方在当前帧离开混音时,语音差值数据为0减去所述参与方在上一帧的 语音数据; (3) 当所述参与方继续在混音时,语音差值数据为所述参与方在当前帧的数据减去所 述参与方在上一帧的语音数据; (4) 当所述参与方在当前帧被禁止混音时,语音差值数据为0。
[0023] 其中,表示为计算机程序语言如下: //禁止混音时 { 差值DIFF = 0 } //参与方刚进入混音时, { 差值 DIFF = MemberF rame(N) } //参与方离开混音时 { 差值 DIFF - O - MenibGrFrame(N-I) } //参与方在混音中时, { 差值 DIFF = MemberF rame (N) - MenibGrFrame(N-I) } 其中,MemberFrame(N)表;^该参与方在第N帧时的语音数据,MemberFrame(N-I)表;^该参与 方在第N-I帧时的语音数据。
[0024] 具体实施时,在步骤S103中,根据参与方的数量,为所述每一参与方的当前帧的语 音差值数据设置衰减等级,例如:当所述参与方为3个时,设置衰减等级为0.95;当所述参与 方为4个时,设置衰减等级为0.92。当然,衰减等级的设置并不限于上述数值,其根据本领域 技术人员的经验评估得到,并根据参与方的逐渐增多而逐渐减小。例如,一个较优实施例 中,可以设置参与方为2-17时的衰减等级依次为:I,0.944,0.891,0.841,0.794,0.750, 0.708,0.668,0.631,0.596,0.562,0.531,0.501,0.473,0.447,0.422。
[0025] 具体实施时,在步骤S103中,根据参与方的数量,为所述每一参与方的当前帧的语 音差值数据设置符号位,包括:当所述参与方为偶数时,对其两两设置相反的符号位。权重 和符号位取反都是有效降低混音的背景噪音的方法。符号位取反在偶数情况下,能最大程 度上减少背景噪音。也就说是,其中一个参与方的符号位为正,对应另一个参与方的符号位 为负,必须这样两两对应设置相反的符号位,才能达到太#日日路低皆暑·噪音的效果。
[0026] 举例说明,现有技术在实现方式上都是采用
原始语音数据累加 的方式进行混音。即:第t帧数据,四个参与方的混音值为Y(t),第五个参与方的语音数据为 X5(t),此时五个参与方的混音值为Z(t) = Y(t) + X5(t)。
[0027] 而本发明实施例中,采用了差值相加的方式进行,即: 第t帧数据,四个参与方的混音值为Y(t),第五个参与方刚参与混音中,差值为DIFF = X5(t) - 0;此时五个参与方的混音值为Z(t) = Y(t) + DIFF = Y(t) + (X5(t) - 0) = Y (t) + X5(t),从算式可以发现第t帧第五个参与方的语音数据存在于混音值当Z(t)中,能 实现混音功能。
[0028]第t+Ι帧数据,第五个参与方语音的差值为:DIFF = X5(t+1) - X5(t),五个参与 方的混音值为:z(t+l) = Z(t) + DIFF = Y(t) + X5(t) + (X5(t+1) - X5(t))= Y(t) + X5(t+1),从算式可以发现第t+1帧第五个参与方的语音数据存在于混音值Z(t+1)当中。
[0029] 由以上的计算可以看出,在本发明的混音算法的过程中,由于借用上一次混音的 结果与差值进行累加,可以将第五个参与者的语音数据添加到累加值中,实现混音。
[0030] 但是,在现实环境中,不可不免存在有背景噪音在实际环境中不可不免存在有背 景噪音N(t),在本发明中,通过设置符号位取反和不同权重的算法,能有效消除特定环境下 的背景噪音,举例如下: 第t帧数据,四个参与方的混音值为Y(t),第五个参与方刚参与混音中,差值为DIFF5 = X5(t)+N(t)-0;设定权重为-η;第六个参与方刚参与混音中,差值为DIFF6 = X6(t)+N(t)_ 〇;设定权重为η。
[0031] 六个参与方的混音值为: Z(t) = Y(t) + DIFF5 + DIFF6 =Y(t) + n*(X5(t)+N(t)) -n*(X6(t)+N(t)) =Y(t) + n*X5(t) + n*N(t) - n*X6(t) - n*N(t) =Y(t) + n*X5(t) - n*X6(t) 从算式可以发现第t帧第五个参与方和第六个参与方的语音数据的存在噪音被消除 了,提高了语音信号的信噪比。
[0032] 但是该方法仅能在一定环境中有效消除背景噪音,例如同一个房间,因此本发明 实现的是低成本的混音方案。
[0033] 具体实施时,在步骤S104中,将每一参与方的当前帧的设置衰减等级和符号位后 的语音差值数据进行累加后,与上一帧的混音数据相加,生成当前帧的混音数据,公式表达 为:
) HI帧的混音数据, Y为设置的衰减等级,DIFF为语音差值数据,m为参与方的数量。
[0034] 当然,这种对语音数据直接叠加的方法极易产生溢出,因此,在进行语音数据的累 加时,还需要进行溢出的控制。在本一实施例中,可以采用如下方法进行溢出控制: //如果存在正向溢出 If(Conf_sum(N) > Conf_max) { Conf_sum(N) = Conf_max } //如果存在负向溢出 If(Conf_sum(N) < Conf_min) { Conf_sum(N) = Conf_min } 当然,对语音数据叠加的溢出控制算法已经是本领域技术人员所熟知的技术手段,这 不是本发明所要保护的创新点,采用其他溢出算法也不会对本发明的创新点造成影响,故 本发明中不再赘述。
[0035] 基于同一发明构思,本发明实施例还提供一种音频合成处理系统,如图2所示,包 括:语音数据采集模块101,用于采集当前帧的多个参与方的语音数据;差值数据计算模块 102,用于计算每一参与方的当前帧的语音数据与上一帧的语音数据的差值,生成所述每一 参与方的当前帧的语音差值数据;参数设置模块103,用于根据参与方的数量,为所述每一 参与方的当前帧的语音差值数据设置衰减等级和符号位;混音模块104,用于将每一参与方 的当前帧的设置衰减等级和符号位后的语音差值数据进行累加后,与上一帧的混音数据相 加,生成当前帧的混音数据。
[0036] 具体实施时,所述差值数据计算模块102用于计算当前帧的语音差值数据,具体包 括:当所述参与方在当前帧刚加入混音时,差值为所述参与方在当前帧的语音数据;当所述 参与方在当前帧离开混音时,差值为0减去所述参与方在上一帧的语音数据;当所述参与方 继续在混音时,差值为所述参与方在当前帧的数据减去所述参与方在上一帧的语音数据; 当所述参与方在当前帧禁止时,差值为〇。
[0037] 具体实施时,如图3所示,所述参数设置模块103包括衰减等级设置模块1031,其用 于根据参与方的数量,为所述每一参与方的当前帧的语音差值数据设置衰减等级,包括:当 参与方为3个时,设置衰减等级为0.95;当参与方为4个时,设置衰减等级为0.92。
[0038] 具体实施时,如图3所示,所述参数设置模块103还包括符号位设置模块1032,其用 于根据参与方的数量,为所述每一参与方的当前帧的语音差值数据设置符号位,包括:当所 述参与方为偶数时,对其两两设置相反的符号位。
[0039] 在本发明中,所述混音模块104中包括有溢出控制模块,用于在进行语音差值数据 的累加和上一帧的混音数据相加时,进行溢出的控制。
[0040] 通过实验得到,使用本发明的音频合成处理方法可以实现64方成员参与到混音 中,有一定背景噪音,但发言人的语音能被其他成员清晰接收到。而采用非本算法实现的混 音,在12方成员参与混音后,就出现背景噪音过大,将发言人语音淹没在噪音中的情况。
[0041] 通过以上实施例可以得到,本发明实施例的音频合成处理方法及系统采用了差值 相加的方式进行,并通过设定不同的符号位来消除背景噪音,通过仅仅将参与方的语音变 化量,即差值添加到混音累加值中,可以有效消除背景噪音的同时,也有效的消除了在语音 数据中的直流偏置。并且,本发明涉及的算法简单,控制简单且占用资源少,可以简单实现 多达64个参与方的混音,方便在一些低成本的混音设计中实现。
[0042]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序 产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实 施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机 可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产 品的形式。
[0043] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流 程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序 指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产 生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实 现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0044] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。
[0045] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一 个方框或多个方框中指定的功能的步骤。
[0046]本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例 的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员, 依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内 容不应理解为对本发明的限制。
【主权项】
1. 一种音频合成处理方法,其特征在于,包括: 采集当前帧的多个参与方的语音数据; 计算每一参与方的当前帧的语音数据与上一帧的语音数据的差值,生成所述每一参与 方的当前帧的语音差值数据; 根据参与方的数量,为所述每一参与方的当前帧的语音差值数据设置衰减等级和符号 位; 将每一参与方的当前帧的设置衰减等级和符号位后的语音差值数据进行累加后,与上 一帧的混音数据相加,生成当前帧的混音数据。2. 根据权利要求1所述的音频合成处理方法,其特征在于,计算每一参与方的当前帧的 语音数据与上一帧的语音数据的差值,生成所述每一参与方的当前帧的语音差值数据,包 括: 当所述参与方在当前帧刚加入混音时,差值为所述参与方在当前帧的语音数据; 当所述参与方在当前帧离开混音时,差值为〇减去所述参与方在上一帧的语音数据; 当所述参与方继续在混音时,差值为所述参与方在当前帧的数据减去所述参与方在上 一帧的语音数据; 当所述参与方在当前帧禁止时,差值为0。3. 根据权利要求1所述的音频合成处理方法,其特征在于,根据参与方的数量,为所述 每一参与方的当前帧的语音差值数据设置衰减等级,包括: 所述衰减等级的数值根据所述参与方的数量的逐渐增多而减小。4. 根据权利要求1所述的音频合成处理方法,其特征在于,根据参与方的数量,为所述 每一参与方的当前帧的语音差值数据设置符号位,包括: 当所述参与方为偶数时,对其两两设置相反的符号位。5. 根据权利要求1所述的音频合成处理方法,其特征在于,还包括: 在进行语音差值数据的累加和上一帧的混音数据相加时,进行溢出的控制。6. -种音频合成处理系统,其特征在于,包括: 语音数据采集模块,用于采集当前帧的多个参与方的语音数据; 差值数据计算模块,用于计算每一参与方的当前帧的语音数据与上一帧的语音数据的 差值,生成所述每一参与方的当前帧的语音差值数据; 参数设置模块,用于根据参与方的数量,为所述每一参与方的当前帧的语音差值数据 设置衰减等级和符号位; 混音模块,用于将每一参与方的当前帧的设置衰减等级和符号位后的语音差值数据进 行累加后,与上一帧的混音数据相加,生成当前帧的混音数据。7. 根据权利要求6所述的音频合成处理系统,其特征在于,所述差值数据计算模块用于 计算当前帧的语音差值数据,具体包括: 当所述参与方在当前帧刚加入混音时,差值为所述参与方在当前帧的语音数据; 当所述参与方在当前帧离开混音时,差值为〇减去所述参与方在上一帧的语音数据; 当所述参与方继续在混音时,差值为所述参与方在当前帧的数据减去所述参与方在上 一帧的语音数据; 当所述参与方在当前帧禁止时,差值为0。8. 根据权利要求6所述的音频合成处理系统,其特征在于,所述参数设置模块包括衰减 等级设置模块,其用于根据参与方的数量,为所述每一参与方的当前帧的语音差值数据设 置衰减等级,包括: 所述衰减等级的数值根据所述参与方的数量的逐渐增多而减小。9. 根据权利要求6所述的音频合成处理系统,其特征在于,所述参数设置模块包括符号 位设置模块,其用于根据参与方的数量,为所述每一参与方的当前帧的语音差值数据设置 符号位,包括: 当所述参与方为偶数时,对其两两设置相反的符号位。10. 根据权利要求6所述的音频合成处理系统,其特征在于,所述混音模块中包括有:溢 出控制模块,用于在进行语音差值数据的累加和上一帧的混音数据相加时,进行溢出的控 制。
【文档编号】G10L13/02GK106057191SQ201610334168
【公开日】2016年10月26日
【申请日】2016年5月19日
【发明人】魏天云, 张伟, 吴秋平
【申请人】广州颐希颉信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1