1.本申请实施例涉及人工智能技术领域,特别涉及一种音频信号处理方法、装置、计算机设备及存储介质。
背景技术:2.如今,在语音通话的应用中,语音接收设备需要对接收到的语音信号进行语音增强处理,针对于不同厂家、不同内核版本、不同应用软件的语音接收设备进行语音增强处理的算法可以是不相同的,并且进行语音增强处理后的语音信号可能出现不同程度的语音损伤的问题。
3.在相关技术中,在对通过语音增强处理造成语音损伤之后,需要针对进行语音增强处理的设备机型以及语音增强处理软件版本,对损伤的语音信号进行离线测定和频谱分析,得到损伤的语音信号对应的频谱失真分布和失真量化值,通过这些测定的失真结果设定补偿策略,后续在该设备机型以及软件版本对应的设备上,通过设定好的补偿策略进行频谱增益补偿。
4.然而,相关技术中需要针对不同的设备机型和软件版本分别进行补偿策略的设定,通用性较差,从而导致对语音信号的修复的应用场景存在局限性。
技术实现要素:5.本申请实施例提供了一种音频信号处理方法、装置、计算机设备及存储介质,可以提供在不同的设备机型和软件版本的场景下通用的音频信号修复方案,扩展音频信号修复的应用场景。该技术方案如下:
6.一方面,提供了一种音频信号处理方法,所述方法包括:
7.获取第一音频信号;
8.通过频谱补偿模型对所述第一音频信号进行处理,获得对所述第一音频信号中的失真频谱进行预测补偿的预测结果;所述频谱补偿模型是通过频谱失真音频样本,以及所述频谱失真音频样本对应的原始音频样本训练得到的神经网络模型;
9.根据所述预测结果,对所述第一音频信号进行重构,获得对所述第一音频信号中的失真频谱进行修复后的目标音频信号。
10.另一方面,提供了一种音频信号处理装置,所述装置包括:
11.信号获取模块,用于获取第一音频信号;
12.结果获取模块,用于通过频谱补偿模型对所述第一音频信号进行处理,获得对所述第一音频信号中的失真频谱进行预测补偿的预测结果;所述频谱补偿模型是通过频谱失真音频样本,以及所述频谱失真音频样本对应的原始音频样本训练得到的神经网络模型;
13.目标获取模块,用于根据所述预测结果,对所述第一音频信号进行重构,获得对所述第一音频信号中的失真频谱进行修复后的目标音频信号。
14.在一种可能实现的方法中,所述结果获取模块,包括:
15.频域转换子模块,用于将所述第一音频信号转换为对应的频域信号;
16.子带划分子模块,用于将所述频域信号划分为至少一个子带频域信号;
17.幅值确定子模块,用于确定所述至少一个子带频域信号中的各个频点幅值;
18.功率谱值确定子模块,用于根据所述各个频点幅值,确定所述至少一个子带频域信号的功率谱值;
19.子带结果获取子模块,用于将所述各个子带频域信号的功率谱值输入到所述频谱补偿模型中,获取所述各个子带频谱信号各自的子带预测结果。
20.在一种可能的实现方式中,所述频域转换子模块,包括:
21.加窗处理单元,用于对所述第一音频信号进行分帧加窗处理,确定处理后的时域信号;
22.信号获取单元,用于对所述处理后的时域信号进行频域转换,获得对应的所述频域信号。
23.在一种可能的实现方式中,所述信号获取单元,用于,
24.通过对所述处理后的时域信号进行离散傅里叶变换,获得对应的所述频域信号;
25.或者,
26.通过对所述处理后的时域信号进行改进离散余弦变换,获得对应的所述频域信号。
27.在一种可能的实现方式中,所述子带划分子模块,包括:
28.子带划分单元,用于以bark域为尺度,将所述频域信号划分为所述至少一个子带频域信号。
29.在一种可能的实现方式中,所述子带结果获取子模块,包括:
30.子带结果获取单元,用于将所述各个子带频域信号对应的功率谱值输入到所述频谱补偿模型中,获得所述各个子带频域对应的预测功率谱值,作为所述各个子带频域的子带预测结果。
31.在一种可能的实现方式中,所述目标获取模块,包括:
32.功率谱值获取子模块,用于根据所述预测结果,获取对所述第一音频信号重构后的功率谱值;
33.目标生成子模块,用于生成对所述第一音频信号重构后的功率谱值对应的所述目标音频信号。
34.在一种可能的实现方式中,所述目标获取模块,包括:
35.功率谱值生成子模块,用于将所述第一音频信号对应的功率谱值与频带损伤率之和,作为重构后的功率谱值;所述频带损伤率是所述至少一个子带频域信号各自对应的预测功率谱值,与所述第一音频信号对应的功率谱值之差的历史平滑值;
36.或者,
37.功率谱值确定子模块,用于将所述至少一个子带频域信号各自对应的预测功率谱值,作为所述重构后的功率谱值。
38.在一种可能的实现方式中,所述目标生成子模块,包括:
39.时域转换单元,用于对所述重构后的功率谱值对应的频域信号进行时域变换,获得所述目标音频信号。
40.在一种可能的实现方式中,所述信号获取模块,包括:
41.信号获取子模块,用于获取经过音频增强处理后的所述第一音频信号。
42.在一种可能的实现方式中,所述装置还包括:
43.样本获取模块,用于通过频谱补偿模型对所述第一音频信号进行处理,获得对所述第一音频信号中的失真频谱进行预测补偿的预测结果之前,获取所述原始音频样本;
44.失真样本获取模块,用于对所述原始音频样本对应的频域信号中的部分频带进行功率谱值的抑制处理,得到所述原始音频样本对应的频谱失真音频样本;
45.模型获取模块,用于以所述频谱失真音频样本为输入,并以所述原始音频样本为训练目标进行机器学习训练,获得所述频谱补偿模型。
46.在一种可能的实现方式中,所述频谱补偿模型是循环神经网络模型rnn或者长短期记忆网络模型lstm(long short-term memory,长短期记忆网络)。
47.另一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的音频信号处理方法。
48.另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的音频信号处理方法。
49.根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的音频信号处理方法。
50.本申请提供的技术方案可以包括以下有益效果:
51.通过模型训练得到的神经网络模型可以针对不同的设备机型和软件版本统一进行补偿预测,解决了语音信号修复的应用场景存在局限性的问题,从而提高了语音信号修复的通用性。
52.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
53.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
54.图1是根据一示例性实施例示出的一种模型训练及预测补偿的框架图;
55.图2是根据一示例性实施例实施例示出的一种机器学习模型的模型架构图;
56.图3是根据一示例性实施例示出的一种音频信号处理方法的示意图;
57.图4是根据一示例性实施例示出的一种音频信号处理方法的示意图;
58.图5是根据一示例性实施例示出的一种音频信号处理方法的架构图;
59.图6是根据一示例性实施例示出的一种应用在语音通话系统中的语音修复示意图;
60.图7是根据一示例性实施例示出的另一种应用在语音通话系统中的语音修复示意图;
61.图8是根据一示例性实施例示出的一种音频信号处理方法的结构方框图;
62.图9是根据一示例性实施例示出的一种计算机设备的结构示意图。
具体实施方式
63.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
64.应当理解的是,在本文中提及的“若干个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
65.本申请后续各个实施例所示的方案,可以借助于人工智能(artificial intelligence,ai)实现对音频信号的频谱图中,更受用户关注的特征点对的提取。为了方便理解,下面对本公开实施例中涉及的名词进行说明。
66.1)人工智能ai
67.ai是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
68.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
69.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、智能视频服务等,随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
70.2)机器学习(machine learning,ml)
71.ml是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
72.本申请提供的方案涉及人工智能的机器学习等技术。
73.3)语音增强处理
74.在语音通话的应用场景中,对于设备采集到的录音信号需要经过语音增强处理,其中,语音增强处理主要包括:回声消除、噪声抑制、音量自调节、频响均衡等。
75.语音增强处理可以通过硬件进行实现,例如,通过一些音频芯片实现语音增强处理,或者也可以在应用层加入各自的语音增强处理功能模块。
76.在实际应用中可以发现不同厂家、不同内核版本、不同应用软件的语音增强处理算法表现不一,其中的部分算法会对采集到的录音信号有明显损伤,例如,损伤的类型可以包括高频损伤,高频损伤可以是降噪或者回声消除算法导致的语音信号的高频损伤,表现为语音信号中原有的高频信息被明显衰弱,这导致语音信号对应的声音变得发闷、不清晰;另外,损伤的类型可以包括频带损伤,表现为某些固定频带的信号被固定衰减,可能是均衡处理没有做好引起的,导致语音信号对应的声音听感上有明显失真。
77.本申请实施例的方案包括模型训练阶段和预测阶段。图1是根据一示例性实施例示出的一种模型训练及预测补偿的框架图。如图1所示,在模型训练阶段,模型训练设备110通过预先准备好的包括原始音频样本以及其对应的频谱失真音频样本的样本集训练出端到端的机器学习模型,在预测补偿阶段,预测设备120根据训练好的机器学习模型以及输入的第一音频信号直接预测出第一音频信号中失真频谱进行预测补偿的预测结果。
78.其中,上述模型训练设备110和预测设备120可以是具有机器学习能力的计算机设备,比如,该计算机设备可以是个人电脑以及服务器等固定式计算机设备,或者,该计算机设备也可以是平板电脑或者电子书阅读器等移动式计算机设备。
79.可选的,上述模型训练设备110和预测设备120可以是同一个设备,或者,模型训练设备110和预测设备120也可以是不同的设备。并且,当模型训练设备110和预测设备120是不同的设备时,模型训练设备110和预测设备120可以是同一类型的设备,比如模型训练设备110和预测设备120可以都是个人电脑;或者,模型训练设备110和预测设备120也可以是不同类型的设备,比如模型训练设备110可以是服务器,而预测设备120可以是移动终端设备等。本申请实施例对于模型训练设备110和预测设备120的具体类型不做限定。
80.图2是根据一示例性实施例实施例示出的一种机器学习模型的模型架构图。如图2所示,本申请实施例中的机器学习模型20可以包含生成样本以及存储样本的样本集,和一个频谱补偿模型210部分,其中样本集中存储有通过采集获取的原始音频样本以及对应的频谱失真音频样本,或者通过人工构建生成的原始音频样本以及对应的频谱失真音频样本。将样本集中存储的各个频谱失真音频样本输入到频谱补偿模型210中,并且以对应的原始音频样本作为输出目标,对频谱补偿模型210进行模型训练,该频谱补偿模型210,用于根据输入的第一音频信号,输出预测结果,即第一音频信号对应的预测频谱修复音频信号。
81.请参考图3,其是根据一示例性实施例示出的一种音频信号处理方法的示意图,该音频信号处理方法可以由音频处理设备执行。其中,上述音频处理设备可以是上述图1所示系统中的预测设备120。如图3所示,该音频信号处理方法可以包括以下步骤:
82.步骤301,获取第一音频信号。
83.在一种可能的实现方式中,第一音频信号是音频处理设备采集的原始音频信号,经过该音频处理设备固有的硬件或者软件中的语音增强处理后获取到的音频信号,或者第一音频信号是由音频处理设备采集得到的已经过语音增强处理后的音频信号,第一音频信号由于经过不同算法的语音增强处理会发生不同情况的失真。
84.其中,音频处理设备通过固有的硬件或者软件对音频信号进行语音增强处理所用的算法,可以根据音频处理设备的厂家、内核版本以及应用软件的种类而各不相同。从而导致获取到的第一音频信号中的失真情况各不相同。
85.其中,语音增强处理可以包含回声消除处理、噪声抑制处理、音量自调节处理以及频响均衡处理等多个方面,不同厂家或者不同内核版本的音频处理设备以及不同种类的应用软件,进行语音增强处理时对各个方面的偏重程度各不相同,从而导致语音增强处理后获得的第一音频信号中的失真情况各不相同。
86.比如,第一音频信号中的失真情况可以表现为高频损伤,高频损伤可能是噪声抑制处理或者回声消除处理导致的高频损伤,即音频信号中原有的高频信息被明显衰弱,导致声音变得发闷、不清晰;也可以是频带损伤,即某些固定频带的信号被固定衰减,可能是由于频响均衡处理没有处理好,导致音频在听感上有明显失真。
87.步骤302,通过频谱补偿模型对第一音频信号进行处理,获得对第一音频信号中的失真频谱进行预测补偿的预测结果;频谱补偿模型是通过频谱失真音频样本,以及频谱失真音频样本对应的原始音频样本训练得到的神经网络模型。
88.在一种可能的实现方式中,将第一音频信号输入频谱补偿模型,输出得到预测的第一音频信号未失真的情况作为预测结果。
89.其中,频谱补偿模型是通过频谱失真音频样本,以及频谱失真音频样本对应的原始音频样本进行训练,更新相关参数得到的神经网络模型。
90.步骤303,根据预测结果,对第一音频信号进行重构,获得对第一音频信号中的失真频谱进行修复后的目标音频信号。
91.在一种可能的实现方式中,通过神经网络模型输出的对第一音频信号的预测结果,可以对第一音频信号进行重构,生成第一音频信号进行修复后的音频信号作为目标音频信号。
92.其中,作为目标音频信号的第一音频信号进行修复后的音频信号,可以解决在实际应用中的音频失真的问题。
93.比如,在运用社交软件进行语音通话的过程中,发送语音侧的终端接收到用户的语音信号,接收到的语音信号需要先进行语音增强处理,然后对语音增强处理后的语音信号进行重构修复,将修复后的语音信号发送给接收语音侧的终端,并且进行播放,使接收语音侧的用户可以清晰的接收语音内容。或者,重构修复音频信号也可以用作对录制音频的处理、直播过程中对音频的优化处理、音乐播放软件对音质受损的音频的处理以及视频播放软件对音频的优化处理等。
94.综上所述,通过模型训练得到的神经网络模型可以针对不同的设备机型和软件版本统一进行补偿预测,解决了语音信号修复的应用场景存在局限性的问题,从而提高了语音信号修复的通用性。
95.请参考图4,其是根据一示例性实施例示出的一种音频信号处理方法的示意图,该音频信号处理方法可以由音频处理设备执行。其中,上述音频处理设备可以是上述图1所示系统中的模型训练设备110和预测设备120。如图4所示,该音频信号处理方法可以包括模型训练阶段以及模型应用阶段这两个阶段,在模型训练阶段可以由模型训练设备110执行,其中,模型离线训练阶段可以包括以下步骤:
96.在步骤401中,获取原始音频样本。
97.在本申请实施例中,获取的原始音频样本可以是从外界进行采集的,或者是进行人工构造获得的。
98.在一种可能的实现方式中,原始音频样本可以预先存储在模型训练设备中,或者通过模型训练设备进行采集存储。
99.在一种可能的实现方式中,通过人工构造原始音频样本,首先,准备一批不带噪声的音频信号以及一批不同类型的噪声序列,然后通过配置不同的snr(信噪比)组合,将不带噪声的音频信号与噪声序列按照配置的不同信噪比进行线性叠加,生成带噪音的原始音频信号,同时为了使原始音频样本在能量级别上的覆盖更广,将带噪音的原始音频信号整体乘以不同的增益值。
100.其中,准备的不同类型的噪声序列可以是babble(语音)噪声、street(街道)噪声、office(办公)噪声或者white(白)噪声等。
101.在步骤402中,对原始音频样本对应的频域信号中的部分频带进行功率谱值的抑制处理,得到原始音频样本对应的频谱失真音频样本。
102.在一种可能的实现方式中,将原始音频样本由时域信号转换成频域信号后,随机抽取频域信号上的部分频带进行抑制处理。
103.其中,可以通过将随机抽取频域信号上的部分频带对应的功率谱值乘以一个小于等于1的随机值,得到原始音频样本对应的若干个频谱失真音频样本。
104.在一种可能的实现方式中,抽取频域信号上的部分频带也可以依据实际应用中的情况进行选取。
105.比如,当原始音频样本为一个8khz频谱的音频信号,该信号中的频率在2khz以下的部分信号损伤相对较少,并且位于4khz以上的部分信号损伤比较严重,所以可以按照频带受损概率的分布情况进行频带抽取。
106.其中,选取的样本中要确保各个不同频带损伤构造的样本都具有一定的数量。以确保训练的准确性。
107.在步骤403中,以频谱失真音频样本为输入,并以原始音频样本为训练目标进行机器学习训练,获得频谱补偿模型。
108.在本申请实施例中,通过上述获得的原始音频样本以及对应的频谱失真音频样本,训练频谱补偿模型并且进行模型更新。
109.在一种可能的实现方式中,频谱补偿模型是通过频谱失真音频样本,以及频谱失真音频样本对应的原始音频样本训练得到的神经网络模型。
110.其中,频谱补偿模型是循环神经网络模型rnn或者长短期记忆网络模型lstm。
111.在一种可能的实现方式中,用于训练频谱补偿模型的输入侧的频谱失真音频样本与目标输出侧的原始音频样本需要进行对数化处理。
112.其中,输入侧的频谱失真音频样本对应的功率谱值以及原始音频样本对应的功率频谱值,需要进行对数化处理,对数化处理的计算公式可以如下所示:
113.s
db
(i,k)=20log(s(i,k))
114.其中,s
db
(i,k)为功率谱对数值,i为对应的帧序号,k为对应的频点索引值。
115.在一种可能的实现方式中,通过对数化处理后获得的样本集训练得到的频谱补偿
模型,在实际应用中的输入侧与输出侧仍为对数值。
116.通过步骤401到步骤403,模型训练设备可以完成对频谱补偿模型的训练与更新。
117.接下来,在模型应用阶段可以由预测设备120执行,其中,模型应用阶段可以包括以下步骤:
118.在步骤404中,获取第一音频信号。
119.在一种可能的实现方式中,获取经过音频增强处理后的第一音频信号。
120.其中,第一音频信号可以是具有部分失真的时域信号。
121.在步骤405中,将第一音频信号转换为对应的频域信号。
122.在本申请实施例中,第一音频信号是时频信号,将该时频信号通过运算转换为对应的频域信号,以进行后续的计算。
123.在一种可能的实现方式中,在进行运算转换为对应的频域信号之前,需要对第一音频信号进行分帧加窗处理,确定处理后的时域信号。
124.其中,在信号处理的过程中,由于计算机设备只能处理有限长度的信号,所以需要将第一音频信号进行分帧加窗处理,达到以采样时间进行截断,对有限的信号再进行处理的目的。
125.其中,函数窗可以包括矩形窗、三角窗、海宁窗、汉明窗以及凯瑟窗等。对第一音频信号进行加窗处理可以使用汉明窗的开方。
126.比如,当窗长度为20ms,一帧数据长度为10ms时,所使用的汉明窗的开方对应的窗函数可以如下所示:
[0127][0128]
其中,n取[0,n-1]中的整数值,n为20ms的窗样点长度。
[0129]
其中,加窗处理后的第一音频信号可以通过第一音频信号与窗函数相乘得到,具体公式如下:
[0130]
x
w
(n)=x
in
(n)*win(n)
[0131]
其中,x
in
是由包含上一个帧10ms的时域信号以及当前帧10ms的时域信号构成的。
[0132]
在一种可能的实现方式中,在对第一音频信号进行加窗处理之后,对处理后的时域信号进行频域转换,获得对应的频域信号。
[0133]
其中,将时域信号转换成频域信号的方式可以包括不同的算法。
[0134]
在一种可能的实现方式中,通过对处理后的时域信号进行离散傅里叶变换(discrete fourier transformation,dft),获得对应的频域信号。
[0135]
其中,离散傅里叶变换的计算公式如下所示:
[0136][0137]
其中,通过离散傅里叶变换可以获得频域信号中的各频点幅值x(i,k)。
[0138]
在另一种可能的实现方式中,通过对处理后的时域信号进行改进离散余弦变换,获得对应的频域信号。
[0139]
其中,改进的离散余弦变换(modified discrete cosine transform,mdct)是一种与傅里叶变换相关的变换,以第四型离散余弦变换(dct-iv)为基础。改进的离散余弦变换类似于离散傅里叶变换,但只使用实数。计算方式与离散傅里叶变换的算法相似。
[0140]
在步骤406中,将频域信号划分为至少一个子带频域信号。
[0141]
在本申请实施例中,将第一音频信号对应的整段频域信号划分为至少一个子带频域信号。
[0142]
其中,划分为至少一个子带频域信号可以包括在线性频域变换时进行划分,以及在进行非线性频域变换时进行划分两种情况。
[0143]
在一种可能的实现方式中,在进行线性频域变换时,将频域信号划分为至少一个子带频域信号,可以通过对频域信号进行均分为至少一个子带频域信号。
[0144]
在另一种可能的实现方式中,在进行非线性频域变换时,将频域信号划分为至少一个子带频域信号,可以以bark域为尺度,将频域信号划分为至少一个子带频域信号。
[0145]
其中,bark域是听觉滤波器模拟出听觉的24个临界频带,用bark域可以描述信号,通过bark域对频域信号划分为至少一个子带频域信号,各个子带频域信号是不均匀的。
[0146]
其中,以bark域为尺度,将频域信号划分为至少一个子带频域信号的方法可以在划分为均分的至少一个子带频域信号的基础上进行。通过将各个均匀划分的子带频域信号中的频点映射到bark域的子带频域信号中,获取各个频点对应的自带序号。
[0147]
在步骤407中,确定至少一个子带频域信号中的各个频点幅值。
[0148]
在本申请实施例中,按照至少一个子带频率信号的划分情况,确定各个子带频率信号中包含的各个频点幅值。
[0149]
在一种可能的实现方式中,按照至少一个子带频率信号的划分情况,确定各个子带频率信号中包含的频点序号。可以根据频点序号确定对应的各个频点幅值。
[0150]
其中,频点幅值可以通过步骤402所示的公式进行计算获得。
[0151]
比如,若bark域的第0子带对应均匀划分的第0~2个频点,将均匀划分的子带转换为以bark域为尺度进行子带划分,第0子带的频点幅值可以映射为x
b
[0]=1/3*(x[0]+x[1]+x[2])。
[0152]
在步骤408中,根据各个频点幅值,确定至少一个子带频域信号的功率谱值。
[0153]
在本申请实施例中,通过获取各个子带频域信号中包含的各个频点幅值,确定各个子带频域信号对应的功率谱值。
[0154]
在一种可能的实现方式中,经过傅里叶变换后的获得的各个频点幅值,可以进一步计算各个频点幅值的平方即为对应的功率谱值。
[0155]
其中,通过各个频点幅值计算对应的功率谱值的计算公式可以是如下所示:
[0156]
s(i,k)=|x(i,k)|2k=1,2,3
…
,n
[0157]
其中,i为对应的帧序号,k为对应的频点索引值。
[0158]
在一种可能的实现方式中,经过改进的离散余弦变换后获得的各个频点幅值,也可以通过计算各个频点幅值的平方作为对应的功率谱值。
[0159]
在步骤409中,将各个子带频域信号的功率谱值输入到频谱补偿模型中,获取各个子带频谱信号各自的子带预测结果。
[0160]
在本申请实施例中,将各个子带频域信号对应的功率谱值输入到频谱补偿模型
中,获得各个子带频域对应的预测功率谱值,作为各个子带频域的子带预测结果。
[0161]
在一种可能的实现方式中,将各个子带频域信号对应的功率谱值进行对数化处理,将对数化处理后的功率谱值输入到频谱补偿模型中,获得预测的功率谱值的对数值作为预测结果。
[0162]
在步骤410中,根据预测结果,获取对第一音频信号重构后的功率谱值。
[0163]
在本申请实施例中,根据频谱补偿模型输出的各个子带频域信号对应的预测结果,获取各个子带频域信号对应的重构后的功率谱值。
[0164]
其中,重构后的功率谱值可以是对数值。
[0165]
在一种可能的实现方式中,根据预测结果可以直接获取对第一音频信号重构后的功率谱值。
[0166]
其中,将至少一个子带频域信号各自对应的预测功率谱值,直接作为重构后的功率谱值。
[0167]
比如,由频谱补偿模型输出的预测结果,功率谱对数值为可以将直接作为重构后的功率谱值。
[0168]
在另一种可能的实现方式中,根据预测结果与输入的各个子带频域信号对应的功率谱值,确定重构后的功率谱值。
[0169]
其中,可以将第一音频信号对应的功率谱值与频带损伤率之和,作为重构后的功率谱值。
[0170]
其中,频带损伤率是至少一个子带频域信号各自对应的预测功率谱值,与第一音频信号对应的功率谱值之差的历史平滑值。
[0171]
比如,由频谱补偿模型输出的预测结果,功率谱对数值为各个频点的对应的实际功率谱对数值和预测功率谱对数值之间的差值为:
[0172][0173]
然后,通过各个频点对应的该差值,计算实际功率谱对数值和预测功率谱对数值之间差值的历史平滑值,将该历史平滑值确定为频带损伤率,历史平滑值可以通过如下公式进行计算:
[0174][0175]
其中,α为取值范围为(0,1)的参数。
[0176]
在一种可能的实现方式中,若通过非线性频域变换划分子带频域信号,则将频点对应的实际功率谱对数值和预测功率谱对数值之间的差值作为该频点的增益,确定重构后的频点幅值。
[0177]
比如,若x
b
[0]通过神经网络模型预测得到对应的预测结果为x
b
′
[0],将x
b
′
[0]-x
b
[0]得到bark域的第0子带的增益为gain[0],则重构后的频点为x
′
[0]=x[0]+gain[0];x
′
[1]=x[1]+gain[0];x
′
[2]=x[2]+gain[0]。
[0178]
在步骤411中,生成对第一音频信号重构后的功率谱值对应的目标音频信号。
[0179]
在本申请实施例中,将生成的重构后的功率谱值的对数值转换为线性值,确定该
功率谱值对应的频点幅值,根据频点幅值生成对应的时域信号作为目标音频信号。
[0180]
在一种可能的实现方式中,当根据预测结果直接获取对第一音频信号重构后的功率谱值时,将作为重构后的功率谱值的至少一个子带频域信号各自对应的预测功率谱值转换为线性值,对该线性值进行开方,确定各个频点幅值。
[0181]
比如,可以将直接作为重构后的功率谱值s
′
db
(i,k)。
[0182]
在另一种可能的实现方式中,当根据预测结果与输入的各个子带频域信号对应的功率谱值确定重构后的功率谱值时,通过将各个子带频域信号对应的功率谱值与频带损伤率相加,得到重构后的功率谱值。将重构后的功率谱值转换为线性值,对该线性值进行开方,确定各个频点幅值。
[0183]
其中,计算重构后的功率谱值的公式可以如下所示:
[0184][0185]
其中,将功率谱对数值转换为线性值的计算公式可以如下所示:
[0186]
s
′
(i,k)=power(10,0.05*s
′
db
(i,k))
[0187]
其中,离散傅里叶变换域中的各个频点幅值可以通过进行计算。
[0188]
在一种可能的实现方式中,对重构后的功率谱值对应的频域信号进行时域变换,获得目标音频信号。
[0189]
其中,由频域信号转换为时域信号可以通过反离散傅里叶变换或者改进的反离散余弦变换。
[0190]
其中,反离散傅里叶变换的计算公式如下所示:
[0191][0192]
然后,对经过反离散傅里叶变换得到的时域信号进行加窗处理,计算公式如下:
[0193]
x
out
(n)=x
idft
(n)*win(n)
[0194]
比如,x
out
可以是20ms的数据,在当前帧位于10ms的位置,当前帧的输出为前一次频域信号转换成时域信号的20ms数据中的后半10ms数据结果与当前帧的前半10ms数据结果进行相加的结果,将相加结果作为当前帧输出的目标音频信号。
[0195]
通过步骤404到步骤411,预测设备可以完成通过频谱补偿模型对第一音频信号进行补偿重构,获得目标音频信号。
[0196]
综上所述,通过模型训练得到的神经网络模型可以针对不同的设备机型和软件版本统一进行补偿预测,解决了语音信号修复的应用场景存在局限性的问题,从而提高了语音信号修复的通用性。
[0197]
请参考图5,其是根据一示例性实施例示出的一种音频信号处理方法的架构图,该音频信号处理方法可以由音频处理设备执行。其中,上述音频处理设备可以是上述图1所示系统中的模型训练设备110和预测设备120。如图5所示,该音频信号处理方法可以包括两个阶段,分别是模型训练阶段以及模型应用阶段。
[0198]
模型训练阶段可以是由模型训练设备进行离线训练进行的,模型训练阶段可以包括以下步骤51:
[0199]
在步骤51中,以频谱损伤音频作为输入端,以及对应的原始音频作为输出目标,对深度神经网络模型进行离线训练,将训练后的神经网络模型进行模型更新。
[0200]
其中,频谱损伤音频以及对应的原始音频可以是预先存储在样本集中的样本数据,模型训练设备将频谱损伤音频作为输入端,对应的原始音频作为输出目标,对可以是循环神经网络模型rnn或者长短期记忆网络模型lstm的频谱补偿模型进行训练及更新。
[0201]
模型应用阶段可以是由预测设备进行在线执行,模型应用阶段可以包括以下步骤52到步骤59:
[0202]
在步骤52中,预测设备通过音频采集功能对外界的音频信号进行采集。
[0203]
其中,音频处理设备中的负责音频采集的模块,比如可以通过麦克风模块对外界的音频进行采集,获得音频信号。
[0204]
在步骤53中,预测设备将采集获得的音频信号通过该预测设备中固有的软硬件语音增强处理,生成语音增强处理后的音频信号。
[0205]
其中,固有的软硬件语音增强处理可以包括应用不同的语音增强算法对音频信号进行处理,生成的语音增强处理后的音频信号可以具有不同程度的信号损伤。
[0206]
在步骤54中,语音增强处理后的音频信号为一种时域信号,将该时域信号经过运算变换为频域信号。
[0207]
其中,时域信号变换为频域信号的运算方式可以是离散傅里叶变换或者离散余弦变换。
[0208]
在步骤55中,将该频域信号输入到神经网络模型中进行预测。
[0209]
其中,由于频谱补偿模型进行离线训练时,输入端与目标输出端的样本为功率谱的对数值,所以需要计算该频域信号对应的功率谱对数值,将该功率谱对数值输入到频谱补偿模型中进行预测。
[0210]
在步骤56中,神经网络模型输出的预测结果为预测的修复语音增强处理后失真信号的预测音频信号,通过获取到的预测音频信号与之前输入的频域信号进行子带损伤率分析,获取当前信号的子带频谱信号损伤率。
[0211]
其中,频谱补偿模型输出的预测结果为预测音频信号对应的功率谱对数值,可以通过将该功率谱对数值与输入的频域信号对应的功率谱对数值进行子带损伤率分析,子带损伤率即为该功率谱对数值与输入的频域信号对应的功率谱对数值差值的历史平滑值。
[0212]
其中,该步骤可以省略,即将直接获取的预测音频信号作为依据执行接下来的步骤。
[0213]
在步骤57中,对受损频带进行重构,生成重构后的频域信号。
[0214]
其中,输入的各个子带频域信号为受损频带,将通过子带损伤率的方式计算确定重构后的频域信号的功率谱对数值,或者,当省略步骤56时,将直接获取的预测音频信号的功率谱对数值作为重构后的频域信号的功率谱对数值。
[0215]
在步骤58中,将重构后的频域信号转换为时域信号。
[0216]
其中,若在步骤54中,时域信号变换为频域信号的运算方式为离散傅里叶变换时,将重构后的频域信号转换为时域信号的计算方式可以运用反离散傅里叶变换,或者若在步骤54中,时域信号变换为频域信号的运算方式为离散余弦变换时,将重构后的频域信号转换为时域信号的计算方式可以运用反离散余弦变换。
[0217]
在步骤59中,将该时域信号作为修复完成的目标音频进行输出。
[0218]
其中,将重构后的频域信号转换成的时域信号作为目标音频信号进行输出,可以通过预测设备的音频播放模块进行播放,比如,通过扬声器模块进行目标音频的播放。
[0219]
综上所述,通过模型训练得到的神经网络模型可以针对不同的设备机型和软件版本统一进行补偿预测,解决了语音信号修复的应用场景存在局限性的问题,从而提高了语音信号修复的通用性。
[0220]
请参考图6,其是根据一示例性实施例示出的一种应用在语音通话系统中的语音修复示意图,该语音通话系统可以包括语音发送端620、语音接收端640以及进行数据传输的服务器端630。其中,如图6所示,在语音通话系统中进行语音修复的过程可以如下:
[0221]
在通话过程中,语音发送端620从外界采集到语音信号,并且在语音发送端620中对采集到的语音信号进行固有的软硬件语音增强处理,然后通过上述实施例中的频谱补偿模型对语音增强处理后有一定损伤的语音信号进行语音修复,将修复后的增强语音信号通过服务器端630发送到语音接收端640中,语音接收端640通过本身的语音播放模块对修复后的增强语音信号进行播放。
[0222]
其中,在语音发送端620中的频谱补偿模型是经过模型训练设备610进行离线模型训练获得的,语音发送端620可以通过在应用程序中下载安装并且更新该训练完成的频谱补偿模型。
[0223]
请参考图7,其是根据一示例性实施例示出的另一种应用在语音通话系统中的语音修复示意图,该语音通话系统可以包括语音发送端720、语音接收端740以及进行数据传输的服务器端730。其中,如图7所示,在语音通话系统中进行语音修复的过程可以如下:
[0224]
在通话过程中,语音发送端720从外界采集到语音信号,并且在语音发送端720中对采集到的语音信号进行固有的软硬件语音增强处理,然后将语音增强处理后有一定损伤的语音信号发送到服务器端730,在服务器端730通过上述实施例中的频谱补偿模型对语音增强处理后有一定损伤的语音信号进行语音修复处理,然后将修复后的增强语音信号发送到语音接收端740中,语音接收端640通过本身的语音播放模块对修复后的增强语音信号进行播放。
[0225]
其中,在服务器端730中的频谱补偿模型是经过模型训练设备710进行离线模型训练获得的,服务器端730可以通过获取该训练完成的频谱补偿模型,对语音增强处理后有一定损伤的语音信号进行语音修复处理。
[0226]
综上所述,通过模型训练得到的神经网络模型可以针对不同的设备机型和软件版本统一进行补偿预测,解决了语音信号修复的应用场景存在局限性的问题,从而提高了语音信号修复的通用性。
[0227]
图8是根据一示例性实施例示出的一种音频信号处理装置的结构方框图。该音频信号处理方法可以由音频处理设备执行,以执行图3或图4对应实施例所示的方法中的全部或者部分步骤。该音频信号处理装置可以包括:
[0228]
信号获取模块810,用于获取第一音频信号;
[0229]
结果获取模块820,用于通过频谱补偿模型对所述第一音频信号进行处理,获得对所述第一音频信号中的失真频谱进行预测补偿的预测结果;所述频谱补偿模型是通过频谱失真音频样本,以及所述频谱失真音频样本对应的原始音频样本训练得到的神经网络模
型;
[0230]
目标获取模块830,用于根据所述预测结果,对所述第一音频信号进行重构,获得对所述第一音频信号中的失真频谱进行修复后的目标音频信号。
[0231]
在一种可能实现的方法中,所述结果获取模块820,包括:
[0232]
频域转换子模块,用于将所述第一音频信号转换为对应的频域信号;
[0233]
子带划分子模块,用于将所述频域信号划分为至少一个子带频域信号;
[0234]
幅值确定子模块,用于确定所述至少一个子带频域信号中的各个频点幅值;
[0235]
功率谱值确定子模块,用于根据所述各个频点幅值,确定所述至少一个子带频域信号的功率谱值;
[0236]
子带结果获取子模块,用于将所述各个子带频域信号的功率谱值输入到所述频谱补偿模型中,获取所述各个子带频谱信号各自的子带预测结果。
[0237]
在一种可能的实现方式中,所述频域转换子模块,包括:
[0238]
加窗处理单元,用于对所述第一音频信号进行分帧加窗处理,确定处理后的时域信号;
[0239]
信号获取单元,用于对所述处理后的时域信号进行频域转换,获得对应的所述频域信号。
[0240]
在一种可能的实现方式中,所述信号获取单元,用于,
[0241]
通过对所述处理后的时域信号进行离散傅里叶变换,获得对应的所述频域信号;
[0242]
或者,
[0243]
通过对所述处理后的时域信号进行改进离散余弦变换,获得对应的所述频域信号。
[0244]
在一种可能的实现方式中,所述子带划分子模块,包括:
[0245]
子带划分单元,用于以bark域为尺度,将所述频域信号划分为所述至少一个子带频域信号。
[0246]
在一种可能的实现方式中,所述子带结果获取子模块,包括:
[0247]
子带结果获取单元,用于将所述各个子带频域信号对应的功率谱值输入到所述频谱补偿模型中,获得所述各个子带频域对应的预测功率谱值,作为所述各个子带频域的子带预测结果。
[0248]
在一种可能的实现方式中,所述目标获取模块830,包括:
[0249]
功率谱值获取子模块,用于根据所述预测结果,获取对所述第一音频信号重构后的功率谱值;
[0250]
目标生成子模块,用于生成对所述第一音频信号重构后的功率谱值对应的所述目标音频信号。
[0251]
在一种可能的实现方式中,所述目标获取模块830,包括:
[0252]
功率谱值生成子模块,用于将所述第一音频信号对应的功率谱值与频带损伤率之和,作为重构后的功率谱值;所述频带损伤率是所述至少一个子带频域信号各自对应的预测功率谱值,与所述第一音频信号对应的功率谱值之差的历史平滑值;
[0253]
或者,
[0254]
功率谱值确定子模块,用于将所述至少一个子带频域信号各自对应的预测功率谱
值,作为所述重构后的功率谱值。
[0255]
在一种可能的实现方式中,所述目标生成子模块,包括:
[0256]
时域转换单元,用于对所述重构后的功率谱值对应的频域信号进行时域变换,获得所述目标音频信号。
[0257]
在一种可能的实现方式中,所述信号获取模块810,包括:
[0258]
信号获取子模块,用于获取经过音频增强处理后的所述第一音频信号。
[0259]
在一种可能的实现方式中,所述装置还包括:
[0260]
样本获取模块,用于通过频谱补偿模型对所述第一音频信号进行处理,获得对所述第一音频信号中的失真频谱进行预测补偿的预测结果之前,获取所述原始音频样本;
[0261]
失真样本获取模块,用于对所述原始音频样本对应的频域信号中的部分频带进行功率谱值的抑制处理,得到所述原始音频样本对应的频谱失真音频样本;
[0262]
模型获取模块,用于以所述频谱失真音频样本为输入,并以所述原始音频样本为训练目标进行机器学习训练,获得所述频谱补偿模型。
[0263]
在一种可能的实现方式中,所述频谱补偿模型是循环神经网络模型rnn或者长短期记忆网络模型lstm。
[0264]
综上所述,通过模型训练得到的神经网络模型可以针对不同的设备机型和软件版本统一进行补偿预测,解决了语音信号修复的应用场景存在局限性的问题,从而提高了语音信号修复的通用性。
[0265]
图9是根据一示例性实施例示出的一种计算机设备的结构示意图。该计算机设备可以实现为音频处理设备。该音频处理设备可以包含图1所示的模型训练设备110以及预测设备120。所述计算机设备900包括中央处理单元(central processing unit,cpu)901、包括随机存取存储器(random access memory,ram)902和只读存储器(read-only memory,rom)903的系统存储器904,以及连接系统存储器904和中央处理单元901的系统总线905。所述计算机设备900还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(input/output,i/o系统)906,和用于存储操作系统913、应用程序914和其他程序模块915的大容量存储设备907。
[0266]
所述大容量存储设备907通过连接到系统总线905的大容量存储控制器(未示出)连接到中央处理单元901。所述大容量存储设备907及其相关联的计算机可读介质为计算机设备900提供非易失性存储。也就是说,所述大容量存储设备907可以包括诸如硬盘或者只读光盘(compact disc read-only memory,cd-rom)驱动器之类的计算机可读介质(未示出)。
[0267]
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、可擦除可编程只读存储器(erasable programmable read only memory,eprom)、带电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、cd-rom、数字视频光盘(digital video disc,dvd)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器904和大容量存储设备907可以统称为存储器。
[0268]
计算机设备900可以通过连接在所述系统总线905上的网络接口单元911连接到互联网或者其它网络设备。
[0269]
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器901通过执行该一个或一个以上程序来实现图3或图4所示的方法的全部或者部分步骤。
[0270]
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括计算机程序(指令)的存储器,上述程序(指令)可由计算机设备的处理器执行以完成本申请各个实施例所示的方法的全部或者部分步骤。例如,所述非临时性计算机可读存储介质可以是只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、光盘只读存储器(compact disc read-only memory,cd-rom)、磁带、软盘和光数据存储设备等。
[0271]
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的音频信号处理方法。
[0272]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
[0273]
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。