首页 > 乐器声学 专利正文
语音处理方法、装置、设备以及存储介质与流程

时间:2022-02-17 阅读: 作者:专利查询

语音处理方法、装置、设备以及存储介质与流程

1.本技术涉及计算机技术领域,特别涉及一种语音处理方法、装置、设备以及存储介质。


背景技术:

2.语音增强是指当语音数据被各种各样的噪声干扰、甚至淹没后,从噪声背景中提取有用的原始语音,从而抑制、降低噪声干扰。简而言之,语音增强是指从含噪语音中提取尽可能纯净的原始语音。
3.相关技术中,会基于深度学习算法来进行语音增强,比如通过深度学习算法对语音数据进行语音活动检测(voice activity detection,vad),随后基于vad结果从语音数据中识别出噪声,将语音数据与噪声相减后得到纯净的原始语音。
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.对所述语音数据进行维纳滤波,得到所述第二掩码。
29.在一种可能的实施方式中,所述语音数据生成模块,还用于将所述第一掩码和所述第二掩码进行融合,得到融合掩码;将所述融合掩码与所述目标语音数据的频谱的多个频点相乘,得到第二目标频谱;将所述第二频谱转化为所述目标语音数据。
30.一方面,提供了一种计算机设备,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条计算机程序,所述计算机程序由所述一个或多个处理器加载并执行以实现所述语音处理方法。
31.一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现所述语音处理方法。
32.一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序代码,该程序代码存储在计算机可读存储介质中,计算机设备的处理器从计
算机可读存储介质读取该程序代码,处理器执行该程序代码,使得该计算机设备执行上述语音处理方法。
33.通过本技术实施例提供的技术方案,在进行语音降噪时,无需通过结构复杂的模型进行噪声识别,直接基于语音数据的频域信息确定一个第一掩码,将第一掩码与语音数据的频谱结合,就能够得到目标语音数据,在保证降噪效果的同时,提高了语音降噪的速度,减少了计算资源的消耗。
附图说明
34.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1是本技术实施例提供的一种语音处理方法的实施环境的示意图;
36.图2是本技术实施例提供的一种语音处理方法的流程图;
37.图3是本技术实施例提供的一种语音处理方法的流程图;
38.图4是本技术实施例提供的一种语音增强模型的结构示意图;
39.图5是本技术实施例提供的一种语音处理方法的流程图;
40.图6是本技术实施例提供的一种语音处理方法的流程图;
41.图7是本技术实施例提供的一种语音增强模型的训练方法的流程图;
42.图8是本技术实施例提供的一种语音处理方法的流程图;
43.图9是本技术实施例提供的一种语音处理方法的流程图;
44.图10是本技术实施例提供的一种语音处理装置的结构示意图;
45.图11是本技术实施例提供的一种终端的结构示意图;
46.图12是本技术实施例提供的一种服务器的结构示意图。
具体实施方式
47.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
48.本技术中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
49.本技术中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上,例如,多个人脸图像是指两个或两个以上的人脸图像。
50.云技术(cloud technology)是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
51.云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为iaas(infrastructure as a service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。按照逻辑功能划分,在基础设施即服务(infrastructure as a service,iaas)层上可以部署平台即服务(platform as aservice,paas)层,paas层之上再部署软件即服务(software as a service,saas)层,也可以直接将saas部署在iaas上。paas为软件运行的平台,如数据库、web容器等。saas为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,saas和paas相对于iaas是上层。
52.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
53.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
54.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识子模型使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
55.区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
56.图1是本技术实施例提供的一种语音处理方法的实施环境示意图,参见图1,该实施环境中可以包括第一终端110、第二终端120和服务器140。
57.可选地,第一终端110为智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。第一终端110上安装和运行有支持语音通话的应用程序。
58.可选地,第二终端120为智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。第二终端120上安装和运行有支持语音通话的应用程序。
59.可选地,第一终端110能够通过无线网络或有线网络与服务器140相连。第一终端
110能够将采集到的语音消息发送给服务器140,由服务器140将语音消息发送给第二终端120,第二终端120的用户能够通过第二终端120收听该语音消息。若第二终端120的用户不方便收听该语音消息,那么第二终端120的用户能够通过第二终端120将该语音消息发送给服务器,由服务器对该语音消息进行语音增强,将语音增强的结果发送给第二终端120,由第二终端120将语音增强的结果展现给用户。
60.可选地,服务器140是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
61.可选地,上述第一终端110、第二终端120以及服务器140能够作为区块链系统上的节点。
62.需要说明的是,本技术实施例提供的语音处理方法既能够由终端执行,也能够由服务器执行,本技术实施例对此不做限定。当本技术实施例提供的语音处理方法由服务器执行时,该语音处理方法能够作为一种云服务,终端可以通过服务器来使用该云服务。
63.在介绍完本技术实施例的实施环境之后,下面将结合上述实施环境,对本技术实施例的应用场景进行介绍。需要说明的是,在下述说明过程中,终端也即是上述第一终端110或者第二终端120,服务器也即是上述服务器140。
64.本技术实施例提供的语音处理方法能够应用于实时语音通话的场景下,也即是通过本技术实施例提供的语音处理方法,在双方或多方进行在线语音通话时,能够对每一方的语音数据进行语音增强,以降低语音数据中的噪声,比如应用在通过即时通讯应用进行通话的场景下,或者应用在通过在线会议应用进行通话的场景下,或者应用在通过电话基于voip(voice over internet protocol,互联网语音协议)进行语音通话场景下。另外,本技术实施例提供的语音处理方法也能够应用在其他需要降噪的场景下,比如应用在耳机降噪或者助听器降噪的场景下,或者应用在对音频文件进行降噪的场景下,当然,随着科学技术的发展,本技术实施例提供的语音处理方法也能够应用在其他需要进行语音增强的场景下,本技术实施例对此不做限定。
65.在通过即时通讯应用进行通话的场景下,以两个用户之间的通话为例,两个用户分别使用上述实施环境中的第一终端110和第二终端120进行语音通话。对于使用第一终端110的用户来说,用户启动第一终端110上安装的即时通讯应用,通过该即时通讯应用选择想要进行语音通话的用户,该用户也即是使用第二终端120的用户,该即时通讯应用具有语音通话的功能。在两个用户进行通话的过程中,第一终端110能够采集用户发出的语音信号,对该语音数据执行本技术实施例提供的语音处理方法,对采集到的语音数据进行语音增强,得到第一目标语音数据。第一终端110将第一目标语音数据发送给服务器140,由服务器140将第一目标语音数据发送给第二终端120,第二终端120播放第一目标语音数据,使用第二终端120的用户也就能够听到使用第一终端110的用户表达的内容。相应的,在两个用户进行通话的过程中,使用第二终端120的用户也会向使用第一终端110的用户表达内容,在这种情况下,第二终端120能够采集用户发出的语音信号,对该语音数据执行本技术实施例提供的语音处理方法,对采集到的语音数据进行语音增强,得到第一目标语音数据。第二终端120将第一目标语音数据发送给服务器140,由服务器140将第一目标语音数据发送给
第一终端110,第一终端110播放第一目标语音数据,使用第一终端110的用户也就能够听到使用第二终端120的用户表达的内容。
66.需要说明的是,上述是以第一终端110和第二终端120执行本技术实施例提供的语音处理方法为例进行说明的,在其他可能的实施方式中,本技术实施例提供的语音处理方法也能够由服务器140执行,也即是,在两个用户通过第一终端110和第二终端120进行语音通话时,第一终端110和第二终端120直接将采集到的语音数据发送给服务器140,服务器140对接收到的语音数据执行本技术实施例提供的语音处理方法,降低语音数据中的噪声,将语音增强后的语音数据发送给第一终端110或者第二终端120。
67.在通过在线会议应用进行通话的场景下,在线会议的参与方往往有多个,在一些实施例中,第一终端110为在线会议的发起方,多个第二终端120为在线会议的参与方。对于使用第一终端110的用户来说,能够通过第一终端110启动在线会议应用,通过在线会议应用创建一个在线会议。使用第一终端110的用户能够将在线会议的链接分享给多个第二终端120,第二终端120基于在线会议的链接就能够加入到在线会议中。在进行在线会议的过程中,第一终端110和多个第二终端120均为在线会议的参与方。第一终端110能够采集用户发出的语音信号,对该语音数据执行本技术实施例提供的语音处理方法,对采集到的语音数据进行语音增强,得到第一目标语音数据。第一终端110将第一目标语音数据发送给服务器140,由服务器140将第一目标语音数据发送给第二终端120,第二终端120播放第一目标语音数据,使用第二终端120的用户也就能够听到使用第一终端110的用户表达的内容。相应的,在两个用户进行通话的过程中,使用第二终端120的用户也会向使用第一终端110的用户表达内容,在这种情况下,第二终端120能够采集用户发出的语音信号,对该语音数据执行本技术实施例提供的语音处理方法,对采集到的语音数据进行语音增强,得到第一目标语音数据。第二终端120将第一目标语音数据发送给服务器140,由服务器140将第一目标语音数据发送给第一终端110,第一终端110播放第一目标语音数据,使用第一终端110的用户也就能够听到使用第二终端120的用户表达的内容。当然,由于在线会议可能存在众多参与方,每个参与方使用的终端均能够采用本技术实施例提供的语音处理方法来对语音数据进行语音增强。
68.在助听器降噪的场景下,当佩戴助听器的用户开启助听器的语音降噪功能后,助听器能够采用本技术实施例提供的语音处理方法,对采集到的语音数据进行语音增强,以降低语音数据中的噪声。
69.在对音频文件进行降噪的场景下,终端能够获取音频文件,对音频文件中存储的音频信号执行本技术实施例提供的语音处理方法,对音频信号进行语音增强,基于语音增强后的音频信号,生成目标音频文件,目标音频文件也即是经过语音增强的音频文件。
70.在介绍完本技术实施例的实施环境和应用场景之后,下面对本技术实施例提供的语音处理方法进行说明。
71.图2是本技术实施例提供的一种语音处理方法的流程图,以执行主体为终端为例,参见图2,方法包括:
72.201、终端获取语音数据的多个频域信息,该多个频域信息和该语音数据的多个音频帧一一对应。
73.其中,频域信息也即是音频帧在频域上的表示。多个频域信息和多个音频帧一一
对应是指,每个音频帧均对应于一个频域信息。
74.202、终端对该多个频域信息进行特征提取,得到多个第一频域特征,该第一频域特征是基于对应的音频帧以及与该音频帧相邻的音频帧确定的。
75.其中,第一频域特征是基于对应的音频帧与该音频帧相邻的音频帧确定的,也就意味着第一频域特征是一个融合特征,或者说第一频域特征是一个结合了“上下文信息”的特征,对于第i个音频帧来说,上文信息也即是第i

1个音频帧,下文信息也即是第i+1个音频帧,i为音频帧的序号,i为正整数。
76.203、终端基于该多个第一频域特征,获取该语音数据的第一掩码,该第一掩码用于去除该语音数据中的噪声。
77.在一些实施例中,第一掩码(mask)为一个矩阵,矩阵中的数值均为0~1范围内的数值,数值0表示对应频点为噪声频点,需要完全消除,数值1表示对应频点为非噪声频点,不需要消除,数值0~1之间表示对应频点为包含噪声的频点,需要进行部分消除,通过第一掩码能够消除语音数据中的噪声。
78.204、终端基于该语音数据的频谱和该第一掩码,生成目标语音数据。
79.其中,目标语音数据也即是对该语音数据进行语音增强之后得到的语音数据。
80.通过本技术实施例提供的技术方案,在进行语音降噪时,无需通过结构复杂的模型进行噪声识别,直接基于语音数据的频域信息确定一个第一掩码,将第一掩码与语音数据的频谱结合,就能够得到目标语音数据,在保证降噪效果的同时,提高了语音降噪的速度,减少了计算资源的消耗。
81.上述步骤201

204是对本技术实施例提供的语音处理方法的简单说明,下面将结合一些的例子,对本技术实施例提供的语音处理方法进行详细说明。
82.图3是本技术实施例提供的一种语音处理方法的流程图,参见图3,以第一终端向第二终端发送语音数据为例,方法包括:
83.301、第一终端获取语音数据。
84.在一种可能的实施方式中,第一终端通过麦克风采集用户发出的声音,将用户发出的声音转化为语音数据。这种实施方式能够在实时语音通话的场景或者耳机降噪或者助听器降噪的场景下,在这些场景下,第一终端均是针对实时采集的音频信号执行本技术实施例提供的语音处理方法,因此第一终端能够通过麦克风来对语音数据进行实时采集。
85.在一种可能的实施方式中,第一终端加载音频文件,从音频文件中获取语音数据。在这种实施方式下,第一终端能够对存储在音频文件中的音频信号执行本技术实施例提供的语音处理方法,比如对一些带噪语音文件进行后期处理时,就能够通过这种实施方式来获取语音数据。
86.302、第一终端获取语音数据的多个频域信息,该多个频域信息和该语音数据的多个音频帧一一对应。
87.其中,频域信息也即是音频帧在频域上的表示。
88.在一种可能的实施方式中,第一终端对该语音数据进行分帧和加窗,得到多个音频帧。第一终端对该多个音频帧进行时频变换,得到该多个音频帧分别对应的多个初始频域信息。第一终端对该多个初始频域信息进行归一化处理,得到该多个频域信息。
89.为了对上述实施方式进行更加清楚的说明,下面将分为三个部分对上述实施方式
进行说明。
90.第一部分,第一终端对该语音数据进行分帧和加窗,得到多个音频帧。
91.在一种可能的实施方式中,第一终端基于目标帧长和目标帧移,将该语音数据划分为多个初始音频帧。第一终端对每个初始音频帧进行加窗处理,得到多个音频帧。其中,目标帧长根据实际情况进行设定,比如,目标帧长的范围为5~30ms。目标帧移可以根据目标帧长进行设定,例如为二分之一的目标帧长或三分之一的目标帧长,本技术实施例对于目标帧长和目标帧移的设定方式和大小不做限定。在一些实施例中,在分帧之后,相邻的两个音频帧有重合部分,这样能够保证音频帧记载信息的完整性。
92.由于音频信号随时间的变化较大,从整体上来看,音频信号是不稳定的。为了便于分析,计算机设备能够将接收到的音频信号进行分帧,将整体上不稳定的音频信号分解成多个音频帧,多个音频帧在局部上能够认为是稳定的。多个音频帧的分割点在进行时频转化之后,会在频域呈现为高频成分,而这些高频成分并不存在于原始音频信号中,为了减少这种情况的影响,通过对每个音频帧进行加窗处理,使得相邻的两个音频帧之间的分隔点变得连续。
93.举例来说,第一终端基于目标帧长和目标帧移,将该语音数据划分为多个初始语音帧,目标帧移是指相邻两个音频帧之间的间隔。比如,目标帧长为8ms,若相邻的两个音频帧之间的重合度为80%,那么也就意味着第一终端每隔2ms获取一个帧长为8ms的音频帧,其中,2ms也即是目标帧移。第一个音频帧是语音数据中0ms

8ms的部分,第二个音频帧是语音数据中2ms

10ms的部分,第三个音频帧是语音数据中4ms

12ms的部分,以此类推。第一终端采用窗函数对每个初始语音帧进行加窗处理,也即是将窗函数与每个初始语音帧相乘,得到多个音频帧。在一些实施例中,窗函数包括汉明窗、汉宁窗、三角窗、布莱克曼窗以及凯瑟窗等,本技术实施例对此不做限定。
94.第二部分、第一终端对该多个音频帧进行时频变换,得到多个初始频域信息。
95.其中,多个初始频域信息与多个音频帧一一对应。在一些实施例中,初始频域信息也被称为对数谱信息。多个初始频域信息和多个音频帧一一对应是指,每个音频帧均对应于一个初始频域信息。
96.在一种可能的实施方式中,第一终端该多个音频帧进行傅里叶变换,得到多个初始频域信息。
97.下面将以第一终端采用的窗函数为汉宁窗,目标帧长为20ms为例,对本技术实施例中得到音频帧的初始频域信息的方法进行说明。
98.汉宁窗的窗函数为公式(1)。
[0099][0100]
傅里叶变换的公式为公式(2)。
[0101][0102]
其中,win(n)是汉宁窗的窗函数,x(i,k)为初始频域信息,x(n)为音频信号,n为音
频帧的长度,n为音频帧的数量,n为正整数,k为索引点的序号,k=1,2,3
……
n,i为音频帧的序号,j表示复数。
[0103]
需要说明的是,第一终端除了能够通过傅里叶变换的方法来对多个音频帧进行时频变换之外,还能够通过短时傅里叶变换(stft,short

time fourier transform)、小波算法或者快速傅里叶变换(fft,fast fourier transform)来对多个音频帧进行时频变换,本技术实施例对此不做限定。
[0104]
第三部分、第一终端对该多个初始频域信息进行归一化处理,得到该多个频域信息。
[0105]
在一种可能的实施方式中,第一终端获取该多个初始频域信息的均值和方差。第一终端采用该均值和该方差,对该多个初始频域信息进行归一化处理,得到该多个频域信息。
[0106]
举例来说,第一终端获取多个初始频域信息的均值,基于多个初始频域信息和该均值,获取多个初始频域信息的方差。第一终端将多个初始频域信息分别与该均值相减,得到第一差值。第一终端将第一差值与标准差相除,得到该多个频域信息,其中,该标准差也即是对该方差开根号后得到的。
[0107]
303、第一终端对该多个频域信息进行特征提取,得到多个第一频域特征,该第一频域特征是基于对应的音频帧以及与该音频帧相邻的音频帧确定的。
[0108]
在一种可能的实施方式中,第一终端将该多个频域信息输入语音增强模型,通过该语音增强模型,对该多个频域信息进行特征提取,得到多个第二频域特征。第一终端通过该语音增强模型,按照该多个音频帧的排列顺序,基于该多个第二频域特征,获取该多个第一频域特征。
[0109]
为了对上述实施方式进行更加清楚的说明,下面将分为两个部分对上述实施方式进行说明。
[0110]
第一部分、第一终端将该多个频域信息输入语音增强模型,通过该语音增强模型,对该多个频域信息进行特征提取,得到多个第二频域特征。
[0111]
在一种可能的实施方式中,第一终端将多个频域信息输入语音增强模型,通过语音增强模型的特征提取层,依次对多个频域信息进行特征提取,每次特征提取时结合上一次特征提取的结果,得到多个第二频域特征。在一些实施例中,语音增强模型为循环神经网络(recurrent neural network,rnn),比如为长短时记忆网络(long short

term memory,lstm),或者门控循环单元(gate recurrent unit,gru)等,本技术实施例对此不做限定。
[0112]
举例来说,对于第i个音频帧的频域信息来说,第一终端将第i个音频帧的频域信息输入语音增强模型的第一特征提取层,第一特征提取层包括多个计算单元。在一些实施例中,第i个音频帧为第一个音频帧,第一终端通过第一特征提取层中的第一个计算单元,对第i个音频帧的频域信息进行特征提取,也即是将第i个音频帧的频域信息与第一权重矩阵相乘,得到第i个音频帧的频域信息的第二频域特征,第一权重矩阵为语音增强模型的第一特征提取层对应的权重矩阵。对于第i+1个音频帧的频域信息来说,第一终端将第i+1个音频帧的频域信息输入语音增强模型的第一特征提取层,通过第一特征提取层中的第二个计算单元,对第i+1个音频帧的频域信息进行特征提取,得到第i+1个音频帧的频域信息的
第二频域特征,在第一终端通过第二个计算单元对第i+1个音频帧的频域信息进行特征提取时,第一终端除了将第i+1个音频帧的频域信息输入第二个计算单元之外,还将第一个计算单元的输出,也即是第i个音频帧的频域信息的第二频域特征输入第二个计算单元,第二个计算单元将第一频域信息的第二频域特征与第i+1个音频帧的频域信息进行融合,将融合后的信息与第一权重矩阵相乘,得到第i+1个音频帧的频域信息的第二频域特征。对于第i+2个音频帧的频域信息来说,第一终端将第i+2个音频帧的频域信息输入语音增强模型的第一特征提取层,通过第一特征提取层中的第三个计算单元,对第i+2个音频帧的频域信息进行特征提取,得到第i+2个音频帧的频域信息的第二频域特征,在第一终端通过第三个计算单元对第i+2个音频帧的频域信息进行特征提取时,第一终端除了将第i+2个音频帧的频域信息输入第三个计算单元之外,还将第二个计算单元的输出,也即是第i+1个音频帧的频域信息的第二频域特征输入第三个计算单元,第三个计算单元将第i+1个音频帧的频域信息的第二频域特征与第i+2个音频帧的频域信息进行融合,将融合后的信息与第一权重矩阵相乘,得到第i+2个音频帧的频域信息的第二频域特征。依次类推,直至得到多个频域信息分别对应的多个第二频域特征。
[0113]
图4给出了一种语音增强模型的结构示意图,参见图4,语音增强模型400包括输入层401、第一特征提取层402、第二特征提取层403以及输出层404。对应于上述实施方式,第一终端通过输入层401向语音增强模型400中输入多个频域信息,通过第一特征提取层402,依次对多个频域信息进行特征提取,得到多个第二频域特征,图4中的w1也即是第一权重矩阵。
[0114]
在一些实施例中,第一特征提取层的后一个计算单元在对频域信息进行特征提取时,结合了前一个计算单元的输出,为了保证模型的梯度不发生爆炸,第一终端能够对前一个计算单元的输出进行“遗忘”处理,也即是将前一个计算单元的输出与一个权重相乘,该权重的取值范围是0~1,当该权重是0时,也就表示对前一个计算单元的输出进行全部“遗忘”。当该权重是1时,也就表示对前一个计算单元的输出进行全部保留。第一终端能够将进行“遗忘”处理后的结果输入后一个计算单元,以此来避免梯度爆炸。
[0115]
在一种可能的实施方式中,第一终端将多个频域信息输入语音增强模型,通过语音增强模型的特征提取层,对多个频域信息进行卷积处理,得到多个第二频域特征。在一些实施例中,语音增强模型为卷积神经网络(convolutional neural networks,cnn)。
[0116]
举例来说,第一终端将多个频域信息输入语音增强模型,通过语音增强模型的第一卷积核,分别对多个频域信息进行卷积处理,得到多个第二频域特征,第一卷积核为语音增强模型的第一特征提取层对应的卷积核。
[0117]
在一种可能的实施方式中,第一终端将多个频域信息输入语音增强模型,通过语音增强模型的特征提取层,基于注意力机制对多个频域信息进行编码,得到多个第二频域特征。
[0118]
举例来说,第一终端将多个频域信息输入语音增强模型,通过语音增强模型的特征提取层,获取每个频域信息的键(k,key)矩阵、查询(q,query)矩阵以及值(v,value)矩阵。第一终端基于每个频域信息的键矩阵、查询矩阵和值矩阵,确定每个频域信息的第二频域特征。
[0119]
第二部分,第一终端通过该语音增强模型,按照该多个音频帧的排列顺序,基于该
多个第二频域特征,获取该多个第一频域特征。
[0120]
在一种可能的实施方式中,对于该多个音频帧中的任一音频帧,第一终端基于该音频帧的第二频域特征以及与该音频帧相邻的至少一个音频帧的第二频域特征,获取该音频帧的第一频域特征。
[0121]
举例来说,第一终端将多个第二频域特征输入语音增强模型的第二特征提取层,由第二特征提取层,基于每个第二频域特征以及至少一个参考音频帧的第二频域特征,获取每个第二频域特征对应的第一频域特征,每个第二频域特征对应于一个目标音频帧,参考音频帧为与目标音频帧相邻的音频帧,每个第二频域特征对应的第一频域特征,也即是对应目标音频帧的第一频域特征。
[0122]
比如,对于第i个音频帧的第二频域特征来说,第一终端将第i个音频帧的第二频域特征输入第二特征提取层,第二特征提取层包括多个计算单元。第一终端通过第二特征提取层的第一个计算单元,对第i个音频帧的第二频域特征进行特征提取,得到第i个音频帧的第一频域特征。在通过第二特征提取层中的第一个计算单元对第i个音频帧的第二频域特征进行特征提取时,第一终端除了将第i个音频帧的第二频域特征输入第一个计算单元之外,还将第i+1个音频帧的第二频域特征输入第一个计算单元,第一个计算单元将第i个音频帧的第二频域特征和第i+1个音频帧的第二频域特征进行融合,将融合后的信息与第二权重矩阵相乘,得到第i+1个音频帧的第一频域特征,第二权重矩阵为语音增强模型的第二特征提取层对应的权重矩阵。对于第i+1个音频帧的第二频域特征来说,第一终端将第i+1个音频帧的第二频域特征输入语音增强模型的第二特征提取层,通过第二特征提取层中的第二个计算单元,对第i+1个音频帧的第二频域特征进行特征提取,得到第i+1个音频帧的第一频域特征,在第一终端通过第二个计算单元对第i+1个音频帧的第二频域特征进行特征提取时,第一终端除了将第i+1个音频帧的第二频域特征输入第二个计算单元之外,还将第一个计算单元的输出,也即是第i个音频帧的第一频域特征输入第二个计算单元,除此之外,第一终端还会将第i个音频帧的第二频域特征以及第i+2个音频帧的第二频域特征中的至少一项输入第二个计算单元,第二个计算单元将第i个音频帧的第一频域特征,以及第i个音频帧的第二频域特征以及第i+2个音频帧的第二频域特征中的至少一项进行融合,将融合后的信息与第二权重矩阵相乘,得到第i+1个音频帧的第一频域特征。
[0123]
也就是说,在通过第二特征提取层对多个第二频域特征进行特征提取时,不是对目标音频帧的第二频域特征进行了特征提取,而是将目标音频帧的第二频域特征和参考音频帧的第二频域特征结合后进行特征提取,这样得到的特征能够充分表达上下文信息。
[0124]
另外,对于上述语音增强模型来说,第二特征提取层也就能够充分利用第一特征提取层的信息,特征提取层的数量越多,得到的频域特征的上下文信息也就越多,模型的精度也就越高。当然,特征提取层数量的增加也会增加开销,特征提取层的数量由技术人员根据实际情况进行设置。针对不同的使用场景以及不同的输入,适当增加或减少计算单元或网络层级,可以分别进一步减小计算复杂度或增加算法准确性,相关结构如图5所示。图5为增加了层级结构的算法框架图。图中计算单元不仅可以采用gru,同时均可使用lstm,或直接采用原生rnn网络。也可第一层采用普通rnn网络,第二层采用gru,第三层采用lstm,第四层使用其它,每一层可以按不同顺序使用不同的网络类型。当前层的某一个时刻的输入可以使用前一层对应时刻的输出及其前一时刻和后一时刻的输出,也可以使用前一层对应时
刻的输出及其前n时刻和后m时刻的输出,利用的输出信息越多,则计算量越大,n和m越大,网络延迟越大,n和m均为正整数。
[0125]
参见图4,第一终端通过第二特征提取层403,基于该音频帧的第二频域特征以及与该音频帧相邻的至少一个音频帧的第二频域特征,获取该音频帧的第一频域特征,图4中的w2也即是第二权重矩阵。
[0126]
在一些实施例中,上述计算单元为gru,在输入语音采用相同采样率的情况下,该语音增强模型在与其他模型获得相近的去噪效果的同时,可大幅降低计算量。
[0127]
304、第一终端基于该多个第一频域特征,获取该语音数据的第一掩码,该第一掩码用于去除该语音数据中的噪声。
[0128]
在一种可能的实施方式中,第一终端通过语音增强模型,对该多个第一频域特征进行全连接处理,得到该语音数据的第一掩码。在一些实施例中,第一掩码也被称为预测掩码(mask pred)。
[0129]
举例来说,第一终端将多个第一频域特征与第三权重矩阵相乘,得到该语音数据的第一掩码,第三权重矩阵为语音增强模型的全连接层(输出层)对应的权重矩阵。参见图4,第一终端将多个第一频域特征输入语音增强模型的输出层404,通过输出层404对应的第三权重矩阵对多个第一频域特征进行全连接处理,得到该语音数据的第一掩码矩阵。
[0130]
比如,第一终端基于多个频域特征生成频域特征矩阵,频域特征矩阵的每一行为一个频域特征。第一终端通过语音增强模型,对频域特征矩阵进行全连接处理,也即是将频域特征矩阵与第三权重矩阵相乘,得到该语音数据的第一掩码矩阵。以频域特征矩阵为第三权重矩阵为为例,第一终端通过语音增强模型,将频域特征矩阵与第三权重矩阵相乘,得到该语音数据的第一掩码矩阵
[0131]
305、第一终端基于该语音数据的频谱和该第一掩码,生成目标语音数据。
[0132]
在一种可能的实施方式中,第一终端通过语音增强模型,将该语音数据的频谱的多个频点与该第一掩码相乘,得到第一目标频谱。第一终端将该第一目标频谱转化为该目标语音数据。
[0133]
其中,该语音数据的频谱由多个音频帧的频域信息构成,多个频点与多个初始频域信息一一对应。
[0134]
举例来说,第一终端通过语音增强模型,将该语音数据的频谱的多个频点与第一掩码矩阵相乘,得到第一目标频谱。第一终端对第一目标频谱执行时频变换的逆变换,得到
目标语音数据。比如,以语音数据的频谱为该语音数据的第一掩码矩阵为为例,第一终端通过语音增强模型,将该语音数据的频谱的多个频点与第一掩码矩阵相乘,得到第一目标频谱第一终端通过傅里叶逆变换将第一目标频谱转化为目标语音数据,比如。第一终端采用短时傅里叶逆变换(inverse short

time fourier transform,istft)将第一目标频谱转化为目标语音数据。
[0135]
当然,第一终端除了采用短时傅里叶逆变换来将第一目标频谱转换为目标语音数据之外,也能够通过其他方式来将第一目标频谱转换为目标语音数据,本技术实施例对此不做限定。
[0136]
需要说明的是,在上述步骤301

305中,是以第一终端为执行主体为例进行说明的,在其他可能的实施方式中,上述步骤301

305也可以由服务器来执行,在这种情况下,服务器在通过步骤301获取语音数据时,该语音数据可以由第一终端发送给服务器,或者由服务器从音频文件中获取,本技术实施例对此不做限定。
[0137]
下面将结合图6对上述步骤301

305进行说明,参见图6,第一终端获取语音数据,第一终端该语音数据进行分帧和加窗,得到多个音频帧。第一终端采用短时傅里叶变换(stft)对该多个音频帧进行时频变换,得到该多个音频帧分别对应的多个初始频域信息。第一终端对多个初始频域信息进行归一化(norm)处理,得到多个频域信息。第一终端将多个频域信息输入语音增强模型(rnn),通过语音增强模型获取语音数据的第一掩码(mask pred)。第一终端将多个初始频域信息与第一掩码对应相乘,得到第一目标频谱。第一终端采用短时傅里叶变换的逆变换(istft)对第一目标频谱进行处理,得到目标语音数据。
[0138]
可选地,在步骤305之后,第一终端还能够执行下述步骤306。
[0139]
306、第一终端将目标语音数据发送给服务器,由服务器将目标语音数据发送给第二终端。
[0140]
需要说明的是,若上述步骤301

305是由服务器执行的,那么在步骤305之后,服务器能够直接将目标语音数据发送给第二终端。
[0141]
上述步骤301

306是以第一终端向第二终端发送语音数据为例进行说明的,当第二终端向第一终端发送语音数据时,第二终端执行的步骤与上述步骤301

306中第一终端执行的步骤属于统一发明构思,在此不再赘述。
[0142]
通过本技术实施例提供的技术方案,在进行语音降噪时,无需通过结构复杂的模
型进行噪声识别,直接基于语音数据的频域信息确定一个第一掩码,将第一掩码与语音数据的频谱结合,就能够得到目标语音数据,在保证降噪效果的同时,提高了语音降噪的速度,减少了计算资源的消耗。
[0143]
在上述说明过程中涉及语音增强模型,为了更加清楚的理解本技术,下面对语音增强模型的训练方法进行说明,参见图7,方法包括:
[0144]
701、终端获取第一样本语音数据和第二样本语音数据,该第二样本语音数据是对该第一样本语音数据加噪后得到的语音数据。
[0145]
在一些实施例中,第一样本语音数据也被称为干净语音,第二样本语音数据也被称为带噪语音。
[0146]
在一种可能的实施方式中,终端向服务器发送样本数据获取请求,样本数据获取请求中携带有样本数据的标识,样本数据的标识用于指示样本数据的类型。服务器接收到样本数据获取请求之后,从样本数据获取请求中获取样本数据的标识。服务器基于样本数据的标识在样本数据库中进行查询,获取样本语音数据集,样本语音数据集包括多条第一样本语音数据和多条第二样本语音数据,多条第一样本语音数据和多条第二样本语音数据一一对应。多条第一样本语音数据和多条第二样本语音数据一一对应是指,每条第一样本语音数据均对应于一条第二样本语音数据。
[0147]
在一种可能的实施方式中,终端获取多条第一样本语音数据,该第一样本语音数据是在无噪声环境下录制的语音数据。终端对多条第一样本语音数据进行加噪处理,得到多条第二样本语音数据。
[0148]
702、终端将该第二样本语音数据输入该语音增强模型,通过该语音增强模型,获取该第二样本语音数据的预测第一掩码。
[0149]
其中,终端通过语音增强模型,获取该第二样本语音数据的预测第一掩码的方法,与上述步骤302

304属于同一发明构思,实现构成参见上述步骤302

305的相关描述,在此不再赘述。
[0150]
703、终端将该第二样本语音数据的频谱的多个频点与该预测第一掩码相乘,得到预测频谱。
[0151]
704、终端基于该预测频谱和该第一样本语音数据的频谱之间的差异信息,训练该语音增强模型。
[0152]
在一种可能的实施方式中,终端基于该预测频谱和该第一样本语音数据的频谱之间的差异信息,构建损失函数。终端基于该损失函数,对语音增强模型进行训练。
[0153]
举例来说,终端基于该预测频谱和该第一样本语音数据的频谱之间的差异信息,构建幅度信号近似(msa,magnitude signal approximation)损失函数,即直接对纯净语音数据的频谱与和处理后的带噪语音数据的频谱作差反馈网络,进而修正预测到的第一掩码,msa损失函数为下述公式(3)。
[0154][0155]
其中,l为损失函数,l和k分别表示时间和频率,s[]为纯净语音数据,即标签,x[]为带噪语音数据,也即是训练完成的语音增强模型的输入,pred为第一掩码,即mask pred,为0~1之间的小数,a为常数。
[0156]
需要说明的是,在上述步骤701

704中,是以终端为执行主体为例进行说明的,在其他可能的实施方式中,上述步骤701

704也可以由服务器来执行,本技术实施例对此不做限定。
[0157]
在上述步骤301

306中,通过语音增强模型来对语音数据进行降噪,得到目标语音,这种方式也可以被称为是基于神经网络的降噪方法。除了上述步骤301

306之外,本技术实施例还提供了另一种语音处理方法,这下述语音处理方法中,结合了神经网络降噪和统计降噪两种降噪方式,第一终端向第二终端发送语音数据为例,参见图8,方法包括:
[0158]
801、第一终端获取语音数据。
[0159]
其中,步骤801与上述步骤301属于同一发明构思,实现过程参见上述步骤301的描述,在此不再赘述。
[0160]
802、第一终端获取语音数据的多个频域信息,该多个频域信息和该语音数据的多个音频帧一一对应。
[0161]
其中,步骤802与上述步骤302属于同一发明构思,实现过程参见上述步骤302的描述,在此不再赘述。
[0162]
803、第一终端对该多个频域信息进行特征提取,得到多个第一频域特征,该第一频域特征是基于对应的音频帧以及与该音频帧相邻的音频帧确定的。
[0163]
其中,步骤803与上述步骤303属于同一发明构思,实现过程参见上述步骤303的描述,在此不再赘述。
[0164]
804、第一终端基于该多个第一频域特征,获取该语音数据的第一掩码,该第一掩码用于去除该语音数据中的噪声。
[0165]
其中,步骤804与上述步骤304属于同一发明构思,实现过程参见上述步骤304的描述,在此不再赘述。
[0166]
805、第一终端对语音数据进行统计降噪,得到该语音数据的第二掩码。
[0167]
其中,统计降噪是指是利用噪声的统计平稳性,从语音数据中去除噪声的方法。
[0168]
在一种可能的实施方式中,第一终端获取该语音数据的噪声估计频谱。第一终端基于该语音数据的频谱和该噪声估计频谱,获取该第二掩码。在一些实施例中,这种实施方式也被称为减谱法。
[0169]
举例来说,第一终端对该语音数据进行活动语音检测(vad),从该语音数据中获取噪声数据。第一终端对噪声数据进行时频变换,得到该噪声数据对应的噪声估计频谱。第一终端将语音数据的频谱与噪声估计频谱相减,得到语音估计频谱。第一终端将语音估计频谱中每个频点与该语音数据的频谱中对应频点相除,得到该语音数据的第二掩码。相较于语音,噪声较为平稳,在一个语音数据中,语音对应片段的方差较大,噪声对应片段的方差较小,第一终端能够基于方差的变化,来对该语音数据进行活动语音检测,从该语音数据中获取噪声数据。比如,第一终端将该语音数据切分为多个语音片段,分别获取多个语音片段的方差。响应于任一语音片段的方差小于或等于方差阈值,将该语音片段确定为噪声片段,也即是噪声数据。
[0170]
在一种可能的实施方式中,第一终端对该语音数据进行维纳滤波,得到该第二掩码。
[0171]
举例来说,第一终端将该语音数据输入维纳滤波器,通过维纳滤波器对该语音数
据进行滤波,得到该第二掩码,其中,维纳滤波器是基于纯净语音数据和带噪语音数据训练得到的,具有对语音数据进行降噪的能力,带噪语音数据也即是对纯净语音数据加噪后的得到的数据。这里的降噪是指将确定出的第二掩码与语音数据相乘。在对维纳滤波器进行训练时,损失函数是纯净语音和带噪语音之间的均方误差,训练的目标是使得该均方误差的期望最小。
[0172]
需要说明的是,第一终端能够通过上述任一种实施方式来获取第二掩码、本技术实施例对此不做限定。
[0173]
806、第一终端基于该第二掩码、该标语音数据的频谱和该第一掩码,生成该目标语音数据。
[0174]
在一种可能的实施方式中,第一终端将该第一掩码和该第二掩码进行融合,得到融合掩码。第一终端将该融合掩码与该目标语音数据的频谱的多个频点相乘,得到第二目标频谱。第一终端将该第二频谱转化为该目标语音数据。
[0175]
下面对第一终端获取第二目标频谱的方法进行说明。
[0176]
在一种可能的实施方式中,第一掩码和第二掩码为两个尺寸相同的矩阵,两个矩阵中相同位置的数值对应于同一个频点。第一终端对第一掩码和第二掩码进行融合时,也即是将两个矩阵融合为一个矩阵。在对两个矩阵进行融合时,对于两个矩阵中相同位置的数值来说,第一终端保留较小的数值,删除较大的数值。
[0177]
比如,对于两个矩阵和来说,在融合两个矩阵左上角第一个数值时,由于70<80,那么第一终端也就保留数值70,最终得到的矩阵为该矩阵也即是融合掩码对应的矩阵。第一终端将融合掩码对应的矩阵与目标语音数据的频谱多个频点相乘,得到第二目标频谱。第一终端通过傅里叶逆变换将第二目标频谱转化为目标语音数据,比如。第一终端采用短时傅里叶逆变换(inverse short

time fourier transform,istft)将第二目标频谱转化为目标语音数据。
[0178]
在一种可能的实施方式中,第一掩码和第二掩码为两个尺寸相同的矩阵,两个矩阵中相同位置的数值对应于同一个频点。第一终端对第一掩码和第二掩码进行融合时,也即是将两个矩阵融合为一个矩阵。在对两个矩阵进行融合时,对于两个矩阵中相同位置的数值来说,第一终端保留较大的数值,删除较小的数值。
[0179]
比如,对于两个矩阵和来说,在融合两个矩阵左上角第一个数值时,由于70<80,那么第一终端也就保留数值80,最终得到的矩阵为
该矩阵也即是融合掩码对应的矩阵。第一终端将融合掩码对应的矩阵与目标语音数据的频谱多个频点相乘,得到第二目标频谱。
[0180]
在一种可能的实施方式中,第一掩码和第二掩码为两个尺寸相同的矩阵,两个矩阵中相同位置的数值对应于同一个频点。第一终端对第一掩码和第二掩码进行融合时,也即是将两个矩阵融合为一个矩阵。在对两个矩阵进行融合时,对于两个矩阵中相同位置的数值来说,第一终端将两个数值相加后再与预设权重相乘,得到融合掩码。其中,预设权重由技术人员根据实际情况进行设置,比如设置为0.3、0.5或者0.6等,本技术实施例对此不做限定。
[0181]
比如,对于两个矩阵和来说,在融合两个矩阵左上角第一个数值时,第一终端将70与80相加后再与预设权重相乘,若预设权重为0.5,那么也就得到数值75,最终得到的矩阵为该矩阵也即是融合掩码对应的矩阵。第一终端将融合掩码对应的矩阵与目标语音数据的频谱多个频点相乘,得到第二目标频谱。
[0182]
需要说明的是,在获取第二目标频谱时,第一终端能够采用上述任一种方式,本技术实施例对此不做限定。
[0183]
下面对第一终端将该第二频谱转化为该目标语音数据的方法进行说明。
[0184]
在一种可能的实施方式中,第一终端通过傅里叶逆变换将第二目标频谱转化为目标语音数据,比如。第一终端采用短时傅里叶逆变换(inverse short

time fourier transform,istft)将第二目标频谱转化为目标语音数据。
[0185]
需要说明的是,在上述步骤801

806中,是以第一终端为执行主体为例进行说明的,在其他可能的实施方式中,上述步骤801

806也可以由服务器来执行,在这种情况下,服务器在通过步骤801获取语音数据时,该语音数据可以由第一终端发送给服务器或者由服务器从音频文件中获取,本技术实施例对此不做限定。
[0186]
在上述步骤801

806中,融合了统计降噪和神经网络降噪两种方式,在使用过程中,用户能够自主选择单独采用统计降噪、单独采用神经网络降噪以及同时采用通过统计降噪和神经网络降噪结合的方法来进行语音增强,本技术实施例对此不做限定。下面将结合图9,对上述步骤801

806进行说明。参见图9,第一终端获取语音数据,第一终端该语音数据进行分帧和加窗,得到多个音频帧。第一终端采用短时傅里叶变换(stft)对该多个音频帧进行时频变换,得到该多个音频帧分别对应的多个初始频域信息。第一终端对多个初始
频域信息进行归一化(norm)处理,得到多个频域信息。第一终端将多个频域信息输入语音增强模型(rnn),通过语音增强模型获取语音数据的第一掩码(mask pred)。第一终端得到多个音频帧分别对应的多个初始频域信息之后,基于多个初始频域信息进行统计降噪,得到第二掩码。第一终端将第一掩码和第二掩码进行融合,得到融合掩码(gain fusion)。第一终端将融合掩码与多个初始频域信息对应相乘,得到第二目标频谱。第一终端采用短时傅里叶变换的逆变换(istft)对第二目标频谱进行处理,得到目标语音数据。
[0187]
可选地,若本技术实施例提供的语音处理方法应用在语音通话的场景下,那么第一终端还执行下述步骤807。
[0188]
807、第一终端将目标语音数据发送给服务器,由服务器将目标语音数据发送给第二终端。
[0189]
上述步骤801

807是以第一终端向第二终端发送语音数据为例进行说明的,当第二终端向第一终端发送语音数据时,第二终端执行的步骤与上述步骤801

807中第一终端执行的步骤属于统一发明构思,在此不再赘述。
[0190]
通过本技术实施例提供的技术方案,在进语音降时,无需通过结构复杂的模型进行噪声识别,直接基于语音数据的频域信息确定一个第一掩码和一个第二掩码。将第一掩码和第二掩码进行融合,得到融合掩码,这个过程也即是统计降噪和神经网络降噪的融合,将第一掩码与语音数据的频谱结合,在保证降噪效果的同时,提高了语音降噪的速度,减少了计算资源的消耗。
[0191]
图10是本技术实施例提供的一种语音处理装置结构示意图,参见图10,装置包括:频域信息获取模块1001、特征提取模块1002、第一掩码获取模块1003以及语音数据生成模块1004。
[0192]
频域信息获取模块1001,用于获取语音数据的多个频域信息,该多个频域信息和该语音数据的多个音频帧一一对应。
[0193]
特征提取模块1002,用于对该多个频域信息进行特征提取,得到多个第一频域特征,该第一频域特征是基于对应的音频帧以及与该音频帧相邻的音频帧确定的。
[0194]
第一掩码获取模块1003,用于基于该多个第一频域特征,获取该语音数据的第一掩码,该第一掩码用于去除该语音数据中的噪声。
[0195]
语音数据生成模块1004,用于基于该语音数据的频谱和该第一掩码,生成目标语音数据。
[0196]
在一种可能的实施方式中,该频域信息获取模块1001,用于对该语音数据进行分帧和加窗,得到该多个音频帧。对该多个音频帧进行时频变换,得到多个初始频域信息。对该多个初始频域信息进行归一化处理,得到该多个频域信息。
[0197]
在一种可能的实施方式中,该频域信息获取模块1001,用于获取该多个初始频域信息的均值和方差。采用该均值和该方差,对该多个初始频域信息进行归一化处理,得到该多个频域信息。
[0198]
在一种可能的实施方式中,该特征提取模块1002,用于将该多个频域信息输入语音增强模型,通过该语音增强模型,对该多个频域信息进行特征提取,得到多个第二频域特征。通过该语音增强模型,按照该多个音频帧的排列顺序,基于该多个第二频域特征,获取该多个第一频域特征。
[0199]
在一种可能的实施方式中,该特征提取模块1002,用于对于该多个音频帧中的任一音频帧,基于该音频帧的第二频域特征以及与该音频帧相邻的至少一个音频帧的第二频域特征,获取该音频帧的第一频域特征。
[0200]
在一种可能的实施方式中,该第一掩码获取模块1003,用于通过语音增强模型,对该多个第一频域特征进行全连接处理,得到该语音数据的第一掩码。
[0201]
在一种可能的实施方式中,该语音数据生成模块1004,用于通过语音增强模型,将该语音数据的频谱的多个频点与该第一掩码相乘,得到第一目标频谱。将该第一目标频谱转化为该目标语音数据。
[0202]
在一种可能的实施方式中,该装置还包括:
[0203]
模型训练模块,用于获取第一样本语音数据和第二样本语音数据,该第二样本语音数据是对该第一样本语音数据加噪后得到的语音数据。将该第二样本语音数据输入该语音增强模型,通过该语音增强模型,获取该第二样本语音数据的预测第一掩码。将该第二样本语音数据的频谱的多个频点与该预测第一掩码相乘,得到预测频谱。基于该预测频谱和该第一样本语音数据的频谱之间的差异信息,训练该语音增强模型。
[0204]
在一种可能的实施方式中,该装置还包括:
[0205]
第二掩码获取模块,用于对语音数据进行统计降噪,得到该语音数据的第二掩码。
[0206]
该语音数据生成模块1004,还用于基于该第二掩码、该标语音数据的频谱和该第一掩码,生成该目标语音数据。
[0207]
在一种可能的实施方式中,该第二掩码获取模块,用于执行下述任一项:
[0208]
获取该语音数据的噪声估计频谱。基于该噪声估计频谱和该语音数据的频谱,获取该第二掩码。
[0209]
对该语音数据进行维纳滤波,得到该第二掩码。
[0210]
在一种可能的实施方式中,该语音数据生成模块1004,还用于将该第一掩码和该第二掩码进行融合,得到融合掩码。将该融合掩码与该目标语音数据的频谱的多个频点相乘,得到第二目标频谱。将该第二频谱转化为该目标语音数据。
[0211]
需要说明的是:上述实施例提供的语音增强的装置在语音进行增强时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的语音处理装置与语音处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0212]
通过本技术实施例提供的技术方案,在进行语音降噪时,无需通过结构复杂的模型进行噪声识别,直接基于语音数据的频域信息确定一个第一掩码,将第一掩码与语音数据的频谱结合,就能够得到目标语音数据,在保证降噪效果的同时,提高了语音降噪的速度,减少了计算资源的消耗。
[0213]
本技术实施例提供了一种计算机设备,用于执行上述方法,该计算机设备可以实现为终端或者服务器,这里的终端也即是上述第一终端或者第二终端,下面先对终端的结构进行介绍:
[0214]
图11是本技术实施例提供的一种终端的结构示意图。该终端1100可以是:智能手机、平板电脑、笔记本电脑或台式电脑。终端1100还可能被称为终端、便携式终端、膝上型终
端、台式终端等其他名称。
[0215]
通常,终端1100包括有:一个或多个处理器1101和一个或多个存储器1102。
[0216]
处理器1101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1101可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以在集成有gpu(graphics processing unit,图像处理器)gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0217]
存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个计算机程序,该至少一个计算机程序用于被处理器1101所执行以实现本技术中方法实施例提供的语音处理方法。
[0218]
在一些实施例中,终端1100还可选包括有:外围设备接口1103和至少一个外围设备。处理器1101、存储器1102和外围设备接口1103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1103相连。具体地,外围设备包括:射频电路1104、显示屏1105、摄像头组件1106、音频电路1107、定位组件1108和电源1109中的至少一种。
[0219]
外围设备接口1103可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1101和存储器1102。在一些实施例中,处理器1101、存储器1102和外围设备接口1103被集成在同一芯片或电路板上;在一些其他实施例中,处理器1101、存储器1102和外围设备接口1103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0220]
射频电路1104用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路1104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1104包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。
[0221]
显示屏1105用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1105是触摸显示屏时,显示屏1105还具有采集在显示屏1105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1101进行处理。此时,显示屏1105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。
[0222]
摄像头组件1106用于采集图像或视频。可选地,摄像头组件1106包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。
[0223]
音频电路1107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1101进行处理,或者输入至射频电路1104以实现语音通信。
[0224]
定位组件1108用于定位终端1100的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。
[0225]
电源1109用于为终端1100中的各个组件进行供电。电源1109可以是交流电、直流电、一次性电池或可充电电池。
[0226]
在一些实施例中,终端1100还包括有一个或多个传感器1110。该一个或多个传感器1110包括但不限于:加速度传感器1111、陀螺仪传感器1112、压力传感器1113、指纹传感器1114、光学传感器1115以及接近传感器1116。
[0227]
加速度传感器1111可以检测以终端1100建立的坐标系的三个坐标轴上的加速度大小。
[0228]
陀螺仪传感器1112可以终端1100的机体方向及转动角度,陀螺仪传感器1112可以与加速度传感器1111协同采集用户对终端1100的3d动作。
[0229]
压力传感器1113可以设置在终端1100的侧边框和/或显示屏1105的下层。当压力传感器1113设置在终端1100的侧边框时,可以检测用户对终端1100的握持信号,由处理器1101根据压力传感器1113采集的握持信号进行左右手识别或快捷操作。当压力传感器1113设置在显示屏1105的下层时,由处理器1101根据用户对显示屏1105的压力操作,实现对ui界面上的可操作性控件进行控制。
[0230]
指纹传感器1114用于采集用户的指纹,由处理器1101根据指纹传感器1114采集到的指纹识别用户的身份,或者,由指纹传感器1114根据采集到的指纹识别用户的身份。
[0231]
光学传感器1115用于采集环境光强度。在一个实施例中,处理器1101可以根据光学传感器1115采集的环境光强度,控制显示屏1105的显示亮度。
[0232]
接近传感器1116用于采集用户与终端1100的正面之间的距离。
[0233]
本领域技术人员可以理解,图11中示出的结构并不构成对终端1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0234]
上述计算机设备还可以实现为服务器,下面对服务器的结构进行介绍:
[0235]
图12是本技术实施例提供的一种服务器的结构示意图,该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(central processing units,cpu)1201和一个或多个的存储器1202,其中,所述一个或多个存储器1202中存储有至少一条计算机程序,所述至少一条计算机程序由所述一个或多个处理器1201加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器1200还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1200还可以包括其他用于实现设备功能的部件,在此不做赘述。
[0236]
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括计算机程序的存储器,上述计算机程序可由处理器执行以完成上述实施例中的语音处理方法。例如,该计算机可读存储介质可以是只读存储器(read

only memory rom)、随机存取存储器(random access memory,ram)、只读光盘(compact disc read

only memory,cd

rom)、磁带、软盘和光数据存储设备等。
[0237]
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序代码,该程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该程序代码,处理器执行该程序代码,使得该计算机设备执行上述语音处理方法。
[0238]
在一些实施例中,本技术实施例所涉及的计算机程序可被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链系统。
[0239]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0240]
上述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。