语音信号处理方法、装置、电子设备和存储介质与流程
2021-01-28 12:01:37|270|起点商标网
[0001]
本申请实施例涉及人工智能技术领域,并且更具体地,涉及一种语音信号处理方法、装置、电子设备和存储介质。
背景技术:
[0002]
在机器学习方法中,长短记忆(long short term memory,lstm)网络是一种较为通用的网络训练模型,现阶段的lstm网络的结构可以是单向lstm网络结构和双向lstm网络结构。然而,单向lstm网络结构容易出现梯度消失的现象,影响训练结果;双向lstm网络结构存在计算延时的问题,无法满足实时通信的要求。
技术实现要素:
[0003]
本申请提供了一种语音信号处理方法、装置、电子设备和存储介质,能够提升网络训练准确性,同时能够满足实时通信的要求。
[0004]
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
[0005]
根据本申请实施例的一方面,提供了一种语音信号处理方法,包括:
[0006]
获取语音信号的原始特征信息;
[0007]
将原始特征信息输入三层lstm网络中的第一层lstm;
[0008]
将原始特征信息和第一层lstm的输出信息输入三层lstm网络中的第二层lstm;
[0009]
将原始特征信息、第一层lstm的输出信息和第二层lstm的输出信息输入三层lstm网络中的第三层lstm,得到目标信息。
[0010]
在本申请的一些实施例中,基于前述方案,
[0011]
第一层lstm的节点数为40,第二层lstm的节点数为50,第三层lstm的节点数为100;或者,
[0012]
第一层lstm的节点数为50,第二层lstm的节点数为60,第三层lstm的节点数为100;或者,
[0013]
第一层lstm的节点数为80,第二层lstm的节点数为120,第三层lstm的节点数为200。
[0014]
在本申请的一些实施例中,基于前述方案,所述方法还包括:
[0015]
将目标信息与理想信息进行均方误差代价函数比较,得到三层lstm网络的模型参数,其中,理想信息为根据纯净语音信号和含噪语音信号确定的。
[0016]
在本申请的一些实施例中,基于前述方案,三层lstm网络的模型参数的大小不超过550kb。
[0017]
在本申请的一些实施例中,基于前述方案,将所述原始特征信息、第一层lstm的输出信息和第二层lstm的输出信息输入三层lstm网络中的第三层lstm,得到目标信息,包括:
[0018]
将原始特征信息、第一层lstm的输出信息和第二层lstm的输出信息输入第三层
lstm;
[0019]
将第三层lstm的输出信息输入全连接层,得到目标信息。
[0020]
在本申请的一些实施例中,基于前述方案,原始特征信息包括以下中的至少一种:
[0021]
信号功率谱、bark域参数、梅尔倒谱参数。
[0022]
在本申请的一些实施例中,基于前述方案,目标信息包括以下中的至少一种:
[0023]
增益信息、掩蔽阈值。
[0024]
根据本申请实施例的一方面,提供了一种语音信号处理装置,包括:
[0025]
获取模块,用于获取语音信号的原始特征信息;
[0026]
输入模块,用于将原始特征信息输入三层lstm网络中的第一层lstm;
[0027]
输入模块,还用于将原始特征信息和第一层lstm的输出信息输入三层lstm网络中的第二层lstm;
[0028]
输入模块,还用于将原始特征信息、第一层lstm的输出信息和第二层lstm的输出信息输入三层lstm网络中的第三层lstm,得到目标信息。
[0029]
在本申请的一些实施例中,基于前述方案,
[0030]
第一层lstm的节点数为40,第二层lstm的节点数为50,第三层lstm的节点数为100;或者,
[0031]
第一层lstm的节点数为50,第二层lstm的节点数为60,第三层lstm的节点数为100;或者,
[0032]
第一层lstm的节点数为80,第二层lstm的节点数为120,第三层lstm的节点数为200。
[0033]
在本申请的一些实施例中,基于前述方案,还包括:
[0034]
比较模块,用于将目标信息与理想信息进行均方误差代价函数比较,得到三层lstm网络的模型参数,其中,理想信息为根据纯净语音信号和含噪语音信号确定的。
[0035]
在本申请的一些实施例中,基于前述方案,三层lstm网络的模型参数的大小不超过550kb。
[0036]
在本申请的一些实施例中,基于前述方案,输入模块具体用于:
[0037]
将原始特征信息、第一层lstm的输出信息和第二层lstm的输出信息输入第三层lstm;
[0038]
将第三层lstm的输出信息输入全连接层,得到目标信息。
[0039]
在本申请的一些实施例中,基于前述方案,原始特征信息包括以下中的至少一种:
[0040]
信号功率谱、bark域参数、梅尔倒谱参数。
[0041]
在本申请的一些实施例中,基于前述方案,目标信息包括以下中的至少一种:
[0042]
增益信息、掩蔽阈值。
[0043]
根据本申请实施例的一方面,提供了一种电子设备,包括:
[0044]
处理器;以及
[0045]
存储器,用于存储所述处理器的可执行指令;
[0046]
其中,处理器配置为经由执行可执行指令来执行上述语音信号处理方法。
[0047]
根据本申请实施例的一方面,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述语音信号处理方法的步骤。
[0048]
基于上述技术方案,将原始特征信息输入第一层lstm,将原始特征信息和第一层lstm的输出信息输入第二层lstm,将原始特征信息、第一层lstm的输出信息和第二层lstm的输出信息输入第三层lstm,得到目标信息。第二层lstm以原始特征信息和第一层lstm的输出信息为网络学习依据,第三层lstm以原始特征信息、第一层lstm的输出信息和第二层lstm的输出信息为网络学习依据,即增强了第二层lstm和第三层lstm的网络学习能力,从而可以得到更加准确的网络训练结果,提升网络训练准确性。此外,三层lstm网络的模型参数的大小不超过550kb,能够满足实时通信的要求。
[0049]
应理解,以上的一般描述和后文的细节描述仅是示例性的,并不对本申请构成限定。
附图说明
[0050]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0051]
图1示出了相关技术中单向lstm网络结构的示意图。
[0052]
图2示出了本申请一个实施例提供的语音信号处理方法的示意性流程图。
[0053]
图3示出了根据本申请实施例的一种三层lstm网络的示意性图。
[0054]
图4示出了本申请另一个实施例提供的语音信号处理方法的示意性流程图。
[0055]
图5示出了本申请再一个实施例提供的语音信号处理方法的示意性流程图。
[0056]
图6示出了本申请一个具体实例提供的语音信号处理方法的示意性流程图。
[0057]
图7示出了根据本申请实施例的另一种三层lstm网络的示意性图。
[0058]
图8示出了根据本申请实施例的一种语音信号处理装置的示意性框图。
[0059]
图9示出了根据本申请实施例的另一种语音信号处理装置的示意性框图。
[0060]
图10示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
[0061]
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式使得本申请的描述将更加全面的完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图为本申请的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
[0062]
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对本申请的示例实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而省略特定细节中的一个或更多,或者可以采用其他的方法、组元、步骤等。在其它情况下,不详细示出或描述公知结构、方法、实现或者操作以避免喧宾夺主而使得本申请的各方面变得模糊。
[0063]
附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实
现这些功能实体,或在不同网络、处理器装置或者微控制装置中现实这些功能实体。
[0064]
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
[0065]
人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能,也即使机器具有学习能力。
[0066]
其中,机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门科学。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
[0067]
人工智能结合云服务,也可以实现人工智能云服务,一般也被称作是ai即服务(ai as a service,aiaas)。这是目前主流的一种人工智能平台的服务方式,具体来说aiaas平台会把几类常见的ai服务进行拆分,并在云端提供独立或者打包的服务。这种服务模式类似于开了一个ai主题商城:所有的开发者都可以通过api接口的方式来接入使用平台提供的一种或者是多种人工智能服务,部分资深的开发者还可以使用平台提供的ai框架和ai基础设施来部署和运维自已专属的云人工智能服务。
[0068]
在机器学习方法中,lstm网络是一种较为通用的网络训练模型,现阶段的lstm网络的结构可以是单向lstm网络结构和双向lstm网络结构。然而,单向lstm网络结构容易出现梯度消失的现象,影响训练结果;双向lstm网络结构存在计算延时的问题,无法满足实时通信的要求。
[0069]
其中,单向lstm网络结构可以如图1所示,图1中的a为两层单向lstm网络结构,图1中的b为三层单向lstm网络结构,图1中的c为四层单向lstm网络结构。图1中的各个lstm单元的节点数可以自行设置,如50,60,100,200,300
…
。
[0070]
基于上述技术问题,本申请提出一种三层链式lstm(chain-lstm,clstm)网络结构,增强了第二层lstm和第三层lstm的网络学习能力,从而可以得到更加准确的网络训练结果,提升网络训练准确性。此外,三层lstm网络的模型参数的大小不超过550kb,能够满足实时通信的要求。
[0071]
需要说明的是,本申请实施例将语音信号作为三层链式lstm网络结构训练的目的,当然,还可以将视频信号、数据信号、图像信号等等作为三层链式lstm网络结构训练的目的,本申请对此并不限定。
[0072]
下面对本申请实施例的具体实施过程进行详细的描述。
[0073]
图2示出了根据本申请的一个实施例的语音信号处理方法200的示意性流程图,该
语音信号处理方法200可以由具有计算处理能力的设备来执行。参照图2所示,该语音信号处理方法200至少可以包括s210至s240,详细介绍如下:
[0074]
在s210中,获取语音信号的原始特征信息。
[0075]
其中,上述语音信号可以是用于训练三层lstm网络的样本,例如可以是指作为训练样本的语音中预设长度的一段音频信号;上述语音信号也可以是在实际应用场景(如电视/电话会议)中采集到的语音中预设长度的一段音频信号,本申请实施例对此不作限定。
[0076]
其中,上述原始特征信息包括但不限于以下中的至少一种:
[0077]
信号功率谱、bark域参数、梅尔倒谱参数。
[0078]
信号功率谱表示了信号功率随着频率的变化关系,即信号功率在频域的分布状况。信号功率谱曲线一般横坐标为频率,纵坐标为功率。信号功率谱曲线所覆盖的面积在数值上等于信号的总功率(能量)。
[0079]
人耳结构大致会对24个频率点产生共振,相应的,信号在频带上也呈现出24个临界频带,分别从1到24,这就是bark域。bark域参数即语音信号在各个临界频带上的频点、截止频率、带宽等参数信息。此外,bark域对低频具有放大作用,对高频具有压缩作用。基于bark域参数,能够更清晰地分析出哪些信号容易产生掩蔽,哪些噪声比较明显。
[0080]
梅尔倒谱参数(mel-scale frequency cepstral coefficients,mfcc)是在mel标度频率域提取出来的倒谱参数,mel标度描述了人耳频率的非线性特性,其与频率的关系可用公式1近似表示。
[0081][0082]
其中,f为频率,单位为hz。
[0083]
具体的,可以是从语音信号中提取其原始特征信息。例如,将从语音信号中提取的信号功率谱作为原始特征信息。又例如,将从语音信号中提取的bark域参数作为原始特征信息。再例如,将从语音信号中提取的梅尔倒谱参数作为原始特征信息。
[0084]
也即,本申请实施例可以基于实际需要从语音信号中提取信号功率谱、bark域参数、梅尔倒谱参数中的一种或者多种作为原始特征信息,并将原始特征信息输入三层lstm网络进行训练,得到语音信号模型训练结果(目标信息)。
[0085]
从语音信号中提取到的特征越多,三层lstm网络的训练结果也越准确。
[0086]
例如,方式1,从语音信息中提取bark域参数和梅尔倒谱参数作为原始特征信息;方式2,从语音信息中提取bark域参数作为原始特征信息;方式3,从语音信息中提取信号功率谱、bark域参数和梅尔倒谱参数作为原始特征信息。三层lstm网络在方式1中的训练结果优于方式2中的训练结果。三层lstm网络在方式3中的训练结果优于方式2中的训练结果,也优于方式1中的训练结果。
[0087]
在s220中,将原始特征信息输入三层lstm网络中的第一层lstm。
[0088]
也即,三层lstm网络中的第一层lstm以原始特征信息为网络学习的依据。
[0089]
在s230中,将原始特征信息和第一层lstm的输出信息输入三层lstm网络中的第二层lstm。
[0090]
也即,三层lstm网络中的第二层lstm以原始特征信息和第一层lstm的输出信息为网络学习的依据。
[0091]
在s240中,将原始特征信息、第一层lstm的输出信息和第二层lstm的输出信息输入三层lstm网络中的第三层lstm,得到目标信息。
[0092]
也即,三层lstm网络中的第三层lstm以原始特征信息、第一层lstm的输出信息和第二层lstm的输出信息为网络学习的依据。
[0093]
其中,上述目标信息包括但不限于以下中的至少一种:
[0094]
增益信息、掩蔽阈值。
[0095]
其中,增益信息例如可以是0~1的值。掩蔽阈值例如可以是0或1,掩蔽阈值例如也可以是0~1的值。
[0096]
其中,原始特征信息中所包含的特征类型和数量不会影响目标信息的类型。例如,从语音信息中提取bark域参数和梅尔倒谱参数作为原始特征信息,以及三层lstm网络的训练目标为增益,此种情况下的目标信息为增益信息;而从语音信息中提取信号功率谱作为原始特征信息,以及三层lstm网络的训练目标为增益,此种情况下的目标信息也为增益信息。又例如,从语音信息中提取信号功率谱、bark域参数和梅尔倒谱参数作为原始特征信息,以及三层lstm网络的训练目标为掩蔽阈值,此种情况下的目标信息为掩蔽阈值;而从语音信息中提取信号功率谱作为原始特征信息,以及三层lstm网络的训练目标为掩蔽阈值,此种情况下的目标信息也为掩蔽阈值。
[0097]
需要说明的是,在将原始特征信息输入三层lstm网络的同时,还会将目标信息的类型输入三层lstm网络,以指明三层lstm网络训练的方向。也就是说,假设将原始特征信息和目标信息的类型为增益信息输入三层lstm网络,则目标信息为增益信息。假设将原始特征信息和目标信息的类型为掩蔽阈值输入三层lstm网络,则目标信息为掩蔽阈值。
[0098]
其中,上述三层lstm网络即为三层链式lstm网络结构,如图3所示。
[0099]
在本申请实施例中,增强了第二层lstm和第三层lstm的网络学习能力,从而可以得到更加准确的网络训练结果,提升网络训练准确性。
[0100]
在一些实施例中,第一层lstm的节点数为40,第二层lstm的节点数为50,第三层lstm的节点数为100,如图3所示。此外,也可以根据实际需求对上述三层lstm网络中的各个lstm层的节点数做出调整。例如,第一层lstm的节点数为50,第二层lstm的节点数为60,第三层lstm的节点数为100。又例如,第一层lstm的节点数为80,第二层lstm的节点数为120,第三层lstm的节点数为200。
[0101]
当然,上述三层lstm网络中的各个lstm层的节点数还可以是一些其他的数值,本申请实施例对此并不限定。
[0102]
在本申请的一个实施例中,三层lstm网络中至少部分lstm层的激活函数相同。例如,第一层lstm的激活函数与第二层lstm的激活函数相同。又例如,第一层lstm的激活函数与第三层lstm的激活函数相同。又例如,第二层lstm的激活函数与第三层lstm的激活函数相同。再例如,三个lstm层的激活函数都相同。
[0103]
在本申请的一个实施例中,三层lstm网络中至少部分lstm层的激活函数不同。例如,第一层lstm的激活函数与第二层lstm的激活函数不同。又例如,第一层lstm的激活函数与第三层lstm的激活函数不同。又例如,第二层lstm的激活函数与第三层lstm的激活函数不同。再例如,三个lstm层的激活函数都不同。
[0104]
需要说明的是,在三层lstm网络中设置激活函数(activation functions)的目标
是将三层lstm网络非线性化。激活函数是连续的(continuous),且可导的(differential)。
[0105]
在本申请的一个实施例中,三层lstm网络中lstm层的激活函数包括但不限于以下中的至少一种:
[0106]
tanh函数、sigmoid函数、relu函数。
[0107]
tanh函数,即双曲正切(hyperbolic tangent)函数,导数取值范围在0至1之间,优于sigmoid函数的0至1/4,在一定程度上,减轻了梯度消失的问题。tanh函数的输出和输入能够保持非线性单调上升和下降关系,符合反向传播(back propagation,bp)网络的梯度求解,容错性好,有界。tanh函数的变化敏感区间较宽,导数值渐进于0、1,符合人脑神经饱和的规律。在原点附近与y=x函数形式相近,当激活值较低时,可以直接进行矩阵运算,训练相对容易。
[0108]
sigmoid函数是平滑(smoothened)的阶梯函数(step function),其可以将任何值转换为0~1概率。将sigmoid函数作为激活函数,靠近输出层的lstm层梯度较大,参数更新速度快,很快就会收敛;靠近输入层的lstm层梯度较小,参数更新速度慢,几乎和初始状态一样,随机分布。由于sigmoid函数的导数值小于1/4,x变化的速率要快于y变化的速率,随着层数的增加,连续不断执行sigmoid函数,就会导致,前面(靠近输入层的lstm层)更新较大的幅度,后面(靠近输出层的lstm层)更新较小的幅度。sigmoid函数在输入处于[-1,1]之间时,函数值变化敏感,一旦接近或者超出区间就失去敏感性,处于饱和状态,影响三层lstm网络预测的精度值。
[0109]
relu函数,即整流线性单元,激活部分神经元,增加稀疏性,当x小于0时,输出值为0,当x大于0时,输出值为x。relu函数在负半区的导数为0,当神经元激活值进入负半区,梯度就会为0,也就是说,这个神经元不会被训练,即稀疏性。在训练的时候,relu函数比较脆弱并且可能“死掉”。例如,当一个很大的梯度,流过relu函数的神经元的时候,可能会导致梯度更新到一种特别的状态,在这种状态下神经元将无法被其他任何数据点再次激活。如果这种情况发生,那么从此所以流过这个神经元的梯度将都变成0。也就是说,这个relu函数在训练中将不可逆转的死亡,因为这导致了数据多样化的丢失。
[0110]
例如,三个lstm层的激活函数都为tanh函数,如图3所示。
[0111]
又例如,第一层lstm和第三层lstm的激活函数为tanh函数,第二层lstm的激活函数为sigmoid函数。
[0112]
再例如,第一层lstm的激活函数为tanh函数,第二层lstm的激活函数为sigmoid函数,第三层lstm的激活函数为relu函数。
[0113]
在本申请实施例中,将原始特征信息输入第一层lstm,将原始特征信息和第一层lstm的输出信息输入第二层lstm,将原始特征信息、第一层lstm的输出信息和第二层lstm的输出信息输入第三层lstm,得到目标信息。第二层lstm以原始特征信息和第一层lstm的输出信息为网络学习依据,第三层lstm以原始特征信息、第一层lstm的输出信息和第二层lstm的输出信息为网络学习依据,即增强了第二层lstm和第三层lstm的网络学习能力,从而可以得到更加准确的网络训练结果,提升网络训练准确性。
[0114]
图4示出了根据本申请的另一个实施例的语音信号处理方法300的示意性流程图,该语音信号处理方法300可以由具有计算处理能力的设备来执行。参照图4所示,该语音信号处理方法300至少可以包括s310至s350,详细介绍如下:
[0115]
在s310中,获取语音信号的原始特征信息。
[0116]
其中,上述语音信号可以是用于训练三层lstm网络的样本,例如可以是指作为训练样本的语音中预设长度的一段音频信号;上述语音信号也可以是在实际应用场景(如电视/电话会议)中采集到的语音中预设长度的一段音频信号,本申请实施例对此不作限定。
[0117]
其中,上述原始特征信息包括但不限于以下中的至少一种:
[0118]
信号功率谱、bark域参数、梅尔倒谱参数。
[0119]
具体关于原始特征信息的描述可以参考上述语音信号处理方法200中的相关描述,在此不再赘述。
[0120]
在s320中,将原始特征信息输入三层lstm网络中的第一层lstm。
[0121]
也即,三层lstm网络中的第一层lstm以原始特征信息为网络学习的依据。
[0122]
在s330中,将原始特征信息和第一层lstm的输出信息输入三层lstm网络中的第二层lstm。
[0123]
也即,三层lstm网络中的第二层lstm以原始特征信息和第一层lstm的输出信息为网络学习的依据。
[0124]
在s340中,将原始特征信息、第一层lstm的输出信息和第二层lstm的输出信息输入三层lstm网络中的第三层lstm,得到目标信息。
[0125]
也即,三层lstm网络中的第三层lstm以原始特征信息、第一层lstm的输出信息和第二层lstm的输出信息为网络学习的依据。
[0126]
其中,上述目标信息包括但不限于以下中的至少一种:
[0127]
增益信息、掩蔽阈值。
[0128]
具体关于目标信息的描述可以参考上述语音信号处理方法200中的相关描述,在此不再赘述。
[0129]
需要说明的是,在将原始特征信息输入三层lstm网络的同时,还会将目标信息的类型输入三层lstm网络,以指明三层lstm网络训练的方向。也就是说,假设将原始特征信息和目标信息的类型为增益信息输入三层lstm网络,则目标信息为增益信息。假设将原始特征信息和目标信息的类型为掩蔽阈值输入三层lstm网络,则目标信息为掩蔽阈值。
[0130]
在s350中,将目标信息与理想信息进行均方误差代价函数比较,得到三层lstm网络的模型参数,其中,理想信息为根据纯净语音信号和其对应的含噪语音信号确定的。
[0131]
其中,已知净语音信号和其对应的含噪语音信号,分别提取特征信息,净语音信号的特征信息与含噪语音信号的特征信息的比值即为理想信息。
[0132]
例如,若目标信息对应的原始特征信息为信号功率谱,则分别提取净语音信号和其对应的含噪语音信号的信号功率谱作为特征信息。
[0133]
又例如,若目标信息对应的原始特征信息为bark域参数和梅尔倒谱参数,则分别提取净语音信号和其对应的含噪语音信号的bark域参数和梅尔倒谱参数作为特征信息。
[0134]
其中,理想信息与目标信息对应。即理想信息与目标信息的类型相同。
[0135]
例如,目标信息为增益信息,理想信息也为增益信息。
[0136]
又例如,目标信息为掩蔽阈值,理想信息也为掩蔽阈值。
[0137]
在本申请的一个实施例中,三层lstm网络的模型参数的大小不超过550kb。从而能够满足实时通信的要求。
[0138]
例如,三层lstm网络的模型参数的大小范围为420kb~520kb。
[0139]
又例如,三层lstm网络的模型参数的大小为450kb。
[0140]
在本申请实施例中,将原始特征信息输入第一层lstm,将原始特征信息和第一层lstm的输出信息输入第二层lstm,将原始特征信息、第一层lstm的输出信息和第二层lstm的输出信息输入第三层lstm,得到目标信息。第二层lstm以原始特征信息和第一层lstm的输出信息为网络学习依据,第三层lstm以原始特征信息、第一层lstm的输出信息和第二层lstm的输出信息为网络学习依据,即增强了第二层lstm和第三层lstm的网络学习能力,从而可以得到更加准确的网络训练结果,提升网络训练准确性。此外,三层lstm网络的模型参数的大小不超过550kb,能够满足实时通信的要求。
[0141]
图5示出了根据本申请的再一个实施例的语音信号处理方法的示意性流程图,图5所示的方法详细说明了上述s240中得到目标信息的具体过程,可以包括如下s2401至s2402,详细介绍如下:
[0142]
s2401:将原始特征信息、第一层lstm的输出信息和第二层lstm的输出信息输入第三层lstm;
[0143]
s2402:将第三层lstm的输出信息输入全连接层,得到目标信息。
[0144]
在本申请的一个实施例中,全连接层的激活函数包括以下中的一种:
[0145]
tanh函数、sigmoid函数、relu函数。
[0146]
上述全连接层的作用是将第三层lstm的输出信息转化为目标信息。
[0147]
具体关于激活函数的描述可以参考上述语音信号处理方法200中的相关描述,在此不再赘述。
[0148]
图6示意性示出了根据本申请的实施例的语音信号处理方法的一个具体实例,原始特征信息选择bark域参数,三层lstm网络的结构可以如图7所示,该语音信号处理方法可以包括以下步骤:
[0149]
s401,输入训练语音数据。
[0150]
s402,对每帧语音信号提取49维特征。
[0151]
其中,即原始特征信息为提取的49维特征,49维特征分别为:29维bark域参数和20维其他参数。20维其他参数包括:29维bark域参数中的前6维bark域参数的一阶差分(占6维)、29维bark域参数中的前6维bark域参数的二阶差分(占6维)、29维bark域参数中的前6维bark域参数的互相关系数的离散余弦变换(discrete cosine transform,dct)变换值(占6维)、基音周期(pitch)(占1维)、能量参数(占1维)。
[0152]
需要说明的是,由于语音信号低频信息更重要,因此考虑到计算复杂度问题,仅考虑了前6维bark域参数。
[0153]
s403,将提取的49维特征输入第一层lstm。
[0154]
其中,第一层lstm的节点数为40,激活函数为tanh函数。
[0155]
s404,将提取的49维特征和第一层lstm的输出信息一起输入第二层lstm。
[0156]
其中,第二层lstm的节点数为50,激活函数为tanh函数。
[0157]
s405,将提取的49维特征、第一层lstm的输出信息和第二层lstm的输出信息一起输入第三层lstm。
[0158]
其中,第三层lstm的节点数为100,激活函数为tanh函数。
[0159]
s406,将第三层lstm的输出信息输入全连接层,得到29维增益信息。
[0160]
其中,全连接层的激活函数为sigmoid函数,全连接层的节点数为29。全连接层用于将100维三层lstm网络参数映射为29维增益信息。
[0161]
也即上述目标信息可以是29维增益信息。
[0162]
s407,将29维增益信息与真实增益进行均方误差代价函数比较,得到整个三层lstm网络的模型参数。
[0163]
其中,真实增益可以通过纯净语音信号和含噪语音信号计算得到。
[0164]
整个三层lstm网络的模型参数的大小为500kb左右,能够满足实时通信的要求。
[0165]
需要说明的是,图6实施例各个步骤的处理过程可以参考图2、图4和图5实施例,在此不再进行详细说明。
[0166]
在图6实施例中,将49维特征输入第一层lstm,将49维特征和第一层lstm的输出信息输入第二层lstm,将49维特征、第一层lstm的输出信息和第二层lstm的输出信息输入第三层lstm,得到29维增益信息。第二层lstm以49维特征和第一层lstm的输出信息为网络学习依据,第三层lstm以49维特征、第一层lstm的输出信息和第二层lstm的输出信息为网络学习依据,即增强了第二层lstm和第三层lstm的网络学习能力,从而可以得到更加准确的网络训练结果,提升网络训练准确性。此外,三层lstm网络的模型参数的大小不超过550kb,能够满足实时通信的要求。
[0167]
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
[0168]
基于上述语音信号处理方法实施例的描述,本申请实施例还提供了一种语音信号处理装置500,该语音信号处理装置500可以是运行于电子设备中的一个计算机程序(包括程序代码)。该语音信号处理装置500可以执行上述语音信号处理方法。请参见图8,该语音信号处理装置500可以包括:
[0169]
获取模块510,用于获取语音信号的原始特征信息;
[0170]
输入模块520,用于将原始特征信息输入三层lstm网络中的第一层lstm;
[0171]
输入模块520,还用于将原始特征信息和第一层lstm的输出信息输入三层lstm网络中的第二层lstm;
[0172]
输入模块520,还用于将原始特征信息、第一层lstm的输出信息和第二层lstm的输出信息输入三层lstm网络中的第三层lstm,得到目标信息。
[0173]
在一个实施例中,第一层lstm的节点数为40,第二层lstm的节点数为50,第三层lstm的节点数为100;或者,
[0174]
第一层lstm的节点数为50,第二层lstm的节点数为60,第三层lstm的节点数为100;或者,
[0175]
第一层lstm的节点数为80,第二层lstm的节点数为120,第三层lstm的节点数为200。
[0176]
在一个实施例中,请参见图9,该语音信号处理装置500包括:获取模块510、输入模块520,还可以包括比较模块530,具体用于:将目标信息与真实信息进行均方误差代价函数
比较,得到三层lstm网络的模型参数,其中,真实信息为根据纯净语音信号和含噪语音信号确定的。
[0177]
在一个实施例中,三层lstm网络的模型参数的大小不超过550kb。
[0178]
在一个实施例中,输入模块320具体用于:
[0179]
将原始特征信息、第一层lstm的输出信息和第二层lstm的输出信息输入第三层lstm;
[0180]
将第三层lstm的输出信息输入全连接层,得到目标信息。
[0181]
在一个实施例中,原始特征信息包括以下中的至少一种:
[0182]
信号功率谱、bark域参数、梅尔倒谱参数。
[0183]
在一个实施例中,目标信息包括以下中的至少一种:
[0184]
增益信息、掩蔽阈值。
[0185]
应理解,根据本申请实施例的语音信号处理装置500可对应于本申请方法实施例,并且语音信号处理装置500中的各个单元的上述和其它操作和/或功能分别为了实现图2所示方法200、图4所示的方法300中的相应流程,为了简洁,在此不再赘述。
[0186]
上述无线通信的装置中的各个单元可全部或部分通过软件、硬件及其组合来实现。上述各个单元可以以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行上述各个单元对于的操作。
[0187]
图10示出了实现本申请实施例的电子设备的计算机系统的结构示意图。需要说明的是,图10示出的电子设备的计算机系统600仅是一个示例,不应该对本申请实施例的功能和使用范围带来任何限制。
[0188]
如图10所示,计算机系统600包括中央处理单元(central processing unit,cpu)601,其可以根据存储在只读存储器(read-only memory,rom)602中的程序或者从存储部分608加载到随机访问存储器(random access memory,ram)603中的程序而执行各种适当的动作和处理。在ram 603中,还存储有系统操作所需的各种程序和数据。cpu 601、rom 602以及ram603通过总线604彼此相连。输入/输出(input/output,i/o)接口605也连接至总线604。
[0189]
以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如局域网(local area network,lan)卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读取的计算机程序根据需要被安装入存储部分608。
[0190]
特别地,根据本申请实施例,上文流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行上述流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理器(cpu)601执行时,执行本申请的装置中限定的各种
功能。
[0191]
在一个实施例中,还提供了一种电子设备,包括:
[0192]
处理器;以及
[0193]
存储器,用于存储所述处理器的可执行指令;
[0194]
其中,处理器配置为经由执行可执行指令来执行上述各方法实施例中的步骤。
[0195]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0196]
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0197]
需要说明的是,本申请所述的计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或者器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或者多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁盘存储器件、或者上述任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或者存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或者上述的任何合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何恰当的介质传输,包括但不限于:无线、电线、光缆、射频等等,或者上述的任意合适的组合。
[0198]
本实施例仅用于说明本申请,本实施例的软硬件平台架构、开发环境、开发语言、消息获取源头等的选取都是可以变化的,在本申请技术方案的基础上,凡根据本申请原理对某个部分进行的改进和等同变换,均不应排除在本申请的保护范围之外。
[0199]
需要说明的是,在本申请实施例和所附权利要求书中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。
[0200]
所属领域的技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
[0201]
如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例所述方法的全部或部分步骤。而前述
的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
[0202]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0203]
在本申请提供的几个实施例中,应该理解到,所揭露的电子设备、装置和方法,可以通过其它的方式实现。
[0204]
例如,以上所描述的装置实施例中单元或模块或组件的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或模块或组件可以结合或者可以集成到另一个系统,或一些单元或模块或组件可以忽略,或不执行。
[0205]
又例如,上述作为分离/显示部件说明的单元/模块/组件可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元/模块/组件来实现本申请实施例的目的。
[0206]
最后,需要说明的是,上文中显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0207]
以上内容,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以权利要求的保护范围为准。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除
热门咨询
tips