首页 > 乐器声学 专利正文
语音信号的处理方法、装置、电子设备及可读存储介质与流程

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

语音信号的处理方法、装置、电子设备及可读存储介质与流程

1.本技术涉及信号处理技术领域,具体而言,本技术涉及一种语音信号的处理方法、装置、电子设备及可读存储介质。


背景技术:

2.随着voip(voice over internet protocol,基于ip的语音传输)软件等语音通话技术越来越普及,语音通话质量收到越来越多关注。在多人(两人或两人以上)通话的时候,进入麦克风的除了近端的说话人声,还可能有电学回声、声学回声及近端的环境噪声等干扰声音。若这些干扰声音被传到远端让远端说话人听到,会严重影响语音交互的体验,因此在近端需要进行干扰信号的消除。
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.对于每帧第一信号,基于该帧第一信号的第一频域表达和回声预测信号中该帧第一信号对应帧的第二信号的第二频域表达,通过预先训练好的神经网络模型得到该帧第一信号的频带增益。
29.在一种可选的实现方式中,各帧第一信号和各帧第二信号中每帧信号的频谱均包括多个频点的幅度值,对于每帧信号,频域表达获取模块在用于基于该帧信号的频谱,得到该帧信号的频域表达时,具体用于:
30.基于该帧信号的频谱包含的每个频点的幅度值,得到该帧信号的每个频点对应的频域表达;其中,该帧第一信号对应的频带增益包括该帧第一信号的第一频谱所包含的各频点对应的频带增益;
31.干扰信号消除模块在用于根据频带增益,对近端语音信号进行干扰信号的消除,得到处理后的近端语音信号时,具体用于:
32.确定近端语音信号与回声预测信号的残差信号;
33.获取残差信号中所包含的各帧信号的第三频谱;
34.对于每帧第一信号,基于该帧第一信号所对应的各频点的频带增益,对残差信号中对应帧的频谱所包含的各频点的幅度值进行加权计算,得到该帧第一信号对应的第四频谱;
35.基于各第一信号对应的各第四频谱进行频时变换,得到处理后的近端语音信号。
36.在一种可选的实现方式中,各帧第一信号和各帧第二信号中每帧信号的频谱均包括多个频点的幅度值,对于每帧信号,频域表达获取模块在用于基于该帧信号的频谱,得到该帧信号的频域表达时,具体用于:
37.将该帧信号的频谱划分为m个子带,将每个子带对应的各频点的幅度值进行融合,得到融合后的幅度值,m≥1;
38.基于每个子带对应的融合后的幅度值,得到每个子带对应的频域表达;其中,该帧
第一信号对应的频带增益包括该帧第一信号的第一频谱所包含的各子带对应的频带增益;
39.干扰信号消除模块在用于根据频带增益,对近端语音信号进行干扰信号的消除,得到处理后的近端语音信号时,具体用于:
40.确定近端语音信号与回声预测信号的残差信号;
41.获取残差信号中所包含的各帧信号的第三频谱,并将每帧信号的第三频谱划分为m个子带;
42.对于每帧第一信号的每个子带,基于每个子带对应的频带增益对残差信号中对应帧的第三频谱中对应子带所包含的各频点的幅度值进行加权计算,得到每个子带对应的第四频谱;
43.基于各第一信号对应的各第四频谱进行频时变换,得到处理后的近端语音信号。
44.在一种可选的实现方式中,第一频域表达和第二频域表达均包括功率谱、幅度谱、对数功率谱或对数幅度谱中的至少一项。
45.在一种可选的实现方式中,神经网络模型是通过以下方式训练得到的:
46.获取多个训练样本,每个训练样本包括远端样本语音信号、近端样本语音信号和标注信息,标注信息表征了近端样本语音信号的真实频带增益;
47.对每个训练样本的远端样本语音信号进行滤波处理,得到样本回声预测信号;
48.确定每个训练样本的近端样本语音信号的第三频域表达和样本回声预测信号的第四频域表达;
49.基于各训练样本对应的第三频域表达和第四频域表达,利用机器学习方法,对初始的神经网络模型进行迭代训练,得到各训练样本对应的预测频带增益;
50.其中,对于每次训练,若基于各训练样本对应的真实频带增益和预测频带增益,确定满足训练结束条件,则得到训练好的神经网络模型,若不满足训练结束条件,则调整神经网络模型的模型参数,并基于各训练样本对应的第三频域表达和第四频域表达继续对神经网络模型进行训练。
51.在一种可选的实现方式中,对于每个训练样本,还包括:
52.基于第三频域表达和第四频域表达,确定近端样本语音信号和样本回声预测信号的样本频域信息差异;其中,在训练时,神经网络模型的输入包括每个训练样本对应的样本频域信息差异,或者包括每个训练样本对应的样本频域信息差异和第三频域表达。
53.根据本技术的又一个方面,还提供了一种电子设备,该电子设备包括:
54.处理器和存储器,存储器存储有计算机程序,该计算机程序由处理器加载并执行,以实现本技术的语音信号的处理方法。
55.根据本技术的再一个方面,还提供了一种计算机可读存储介质,该计算机存储介质用于存储计算机程序,当该计算机程序在计算机上运行时,使得计算机执行本技术的语音信号的处理方法。
56.根据本技术的再一个方面,还提供了一种计算机程序产品或计算机程序,当其在计算机设备上运行时,使得计算机设备执行本技术的语音信号的处理方法。该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术的语音信号的处理方法。
network,公共交换电话网络)电话通话可能会由于电路混合(hybrid)线圈的阻抗不匹配问题导致电学回声。目前的数字设备(例如手机、pc(personal computer,个人计算机)等)通话过程中,特备是在免提状态下,远端说话人的声音传送到近端之后,会被送到扬声器(喇叭)播放。扬声器播放出来的声音通过空气传播之后进入近端的麦克风会形成声学回声。进入麦克风的除了近端的说话人声、声学回声,还可能有近端的环境噪声。
76.本技术实施例中,为了使得进入近端麦克风的电学、声学回声信号不会被传回到远端让远端说话人又听到自己的声音(即回声),同时为了尽量不让近端噪声传到远端,因此在近端需要进行干扰信号的消除,包括回声消除(automatic echo cancellation,aec)、噪声抑制等。
77.本技术实施例提供的技术方案涉及人工智能及语音技术领域,可选地,本技术实施例中确定近端语音信号的频带增益的步骤可以通过神经网络模型实现。人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
78.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
79.其中,语音技术(speech technology)的关键技术有自动语音识别技术和语音合成技术以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、自动驾驶、智慧交通等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
80.本技术实施例的执行主体可以为近端用户使用的通话设备,例如移动终端等。其中,通话设备可以包括信息交互模块、播放模块(例如扬声器等,下文以扬声器为例进行介绍)、采集模块(例如麦克风等,下文以麦克风为例进行介绍)等。实际应用中,移动终端可以包括诸如移动电话、智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能电视、智能车载设备、个人数字助理、便携式多媒体播放器等。本领域技术人员可以理解的是,除了特别用于移动目的的元件之外,根据本技术实施例的构造也能够应用于固定类型的终端,诸如数字电视、台式计算机等。
81.可选地,近端用户使用的通话设备以及远端用户使用的通话设备可以是一个分布式系统中的节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由多个节点通过网络通信的形式连接形成的分布式系统。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心
化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
82.区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
83.本技术实施例提供的语音信号的处理方法可应用在双人或者多人语音交互场景中,包括但不限于即时通讯、网络通话、直播连线等。
84.作为示例地,本技术实施例提供的语音信号的处理方法可以应用于如图1所示的应用场景中。近端的用户与远端的用户进行语音通话,远端用户发出的语音信号传送到近端之后,通过近端的扬声器进行播放。近端用户的语音声音被近端的麦克风采集,同时麦克风可能采集了一些干扰信号。本技术实施例中,会对这些干扰信号进行消除,再讲处理后的近端语音信号发送给远端。
85.下面将结合附图,对本技术的实施例进行描述。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
86.本技术实施例中提供了一种语音信号的处理方法,如图2所示,该方法可以由任一电子设备执行,具体可以是语音通话场景中任一用户的终端设备,该方法包括:
87.步骤s201:将接收的远端语音信号进行滤波处理,得到回声预测信号;
88.例如,可以采用线性滤波器对远端语音信号进行滤波处理,用于预测该远端语音信号可能被近端的麦克风采集后形成的声学回声,即得到回声预测信号。在其他实施例中,也可以采用其他滤波方式,例如基于神经网络的滤波方式等,本技术实施例在此不做限定。
89.实际应用中,在回声消除场景中,送到扬声器进行播放之前的信号也可以称为回声消除的参考信号(reference signal)。
90.步骤s202:采集近端语音信号;
91.需要说明的是,上述步骤s201和步骤s202中的步骤编号并不构成对两步骤先后顺序的限定,即步骤s201和步骤s202的执行顺序可以是没有先后的,如可以先执行步骤s201再执行步骤s202,或者先执行步骤s202再执行步骤s201,或者同时执行步骤s201和步骤
s202,也即在本技术实施例实现的过程中,将接收的远端语音信号进行滤波处理,得到回声预测信号,以及采集近端语音信号两者的执行顺序不做限定。
92.步骤s203:获取近端语音信号的第一频域表达和回声预测信号的第二频域表达;
93.其中,该步骤也可以理解为特征提取,对近端语音信号和回声预测信号提取相应的特征,以作为后续神经网络模型的输入。
94.对于本技术实施例中第一频域表达和第二频域表达可以均包括但不限于功率谱、幅度谱、对数功率谱或对数幅度谱中的至少一项。
95.在其他实施例中,由于对数功率谱或对数幅度谱可以更接近地估计人的听觉系统的响应,第一频域表达和第二频域表达可以包括对数功率谱或对数幅度谱中的至少一项。
96.步骤s204:基于第一频域表达和第二频域表达,通过预先训练好的神经网络模型得到近端语音信号的频带增益,频带增益表征了近端语音信号中有效语音信号的权重;
97.其中,预先训练好的神经网络模型即包含了预先训练好的模型参数,能够基于第一频域表达和第二频域表达得到的特征更好地输出近端语音信号的频带增益。
98.步骤s205:根据频带增益,对近端语音信号进行干扰信号的消除,得到处理后的近端语音信号。
99.其中,神经网络模型输出的频带增益能够表征近端语音信号中有效语音信号的权重,即可有效用于保留近端语音信号中有效语音信号,也就是说,该频带增益可以对干扰信号进行抑制,进而达到消除干扰信号的目的。
100.本技术实施例提供的语音信号的处理方法,采用近端语音信号和回声预测信号的频域表达作为神经网络模型的输入,预先训练好的训练神经网络模型会输出近端语音信号的频带增益,由此频带增益能够更可靠地表征近端语音信号中有效语音信号的权重,继而通过频带增益对近端语音信号进行干扰信号的消除时,能够更好地保留近端语音信号中的有效语音信号,进一步提升干扰信号的消除性能,更好地消除了干扰信号。尤其是多端讲话的时候,能更好地保留近端人声,提升用户体验。
101.本技术实施例中提供了一种可能的实现方式,步骤s204可以包括:
102.步骤s2041:基于第一频域表达和第二频域表达,确定近端语音信号和回声预测信号的频域信息差异;
103.步骤s2042:基于频域信息差异,通过训练好的神经网络模型得到近端语音信号的频带增益。
104.其中,确定近端语音信号和回声预测信号的频域信息差异,即计算第一频域表达和第二频域表达的差值,作为神经网络模型的输入。由于第一频域表达和第二频域表达是分别从近端语音信号和回声预测信号中提取的,两者的差值能够表示出近端语音信号和回声预测信号的频域信息差异。而该频域信息差异,能够提供预测的回声消除后的近端语音信号的信息,在基于频域信息差异来得到近端语音信号的频带增益后,便可以根据频带增益,对近端语音信号进行回声消除,达到有效抑制回声信号并尽量保持有效近端语音信号的目的。
105.并且,将第一频域表达和第二频域表达的差值作为神经网络模型的输入,能够减少输入特征数量。考虑到现有技术中,一些基于神经网络的回声消除算法计算量过大,导致系统不稳定造成的回声泄露,本技术实施例所采用的神经网络所需的输入特征数量较少,
能够一定程度上减少计算量,提升系统的稳定性和回声消除性能的可靠性。
106.可以理解,对于本技术实施例,神经网络模型在训练阶段也采用对应的第一频域表达和第二频域表达的差值进行训练。
107.本技术实施例中,为了使得神经网络模型输出的频带增益不仅能够抑制回声信号,还能对环境噪声进行抑制,提供了另一种可能的实现方式,具体地,步骤s2042可以包括:
108.将第一频域表达和频域信息差异进行拼接,得到拼接后的频域信息;
109.基于拼接后的频域信息,通过训练好的神经网络模型得到近端语音信号的频带增益。
110.也就是说,本技术实施例中,计算第一频域表达和第二频域表达的差值,并将该差值与第一频域表达拼接作为神经网络模型的输入。该实施例在神经网络模型的训练阶段,对近端语音信号是否包含环境噪声进行了区分与标注。由于第一频域表达和第二频域表达的差值能够提供预测的回声消除后的近端语音信号的信息,而提取自近端语音信号的第一频域表达能够提供近端语音信号是否包含噪声的信息,在基于拼接后的频域信息来得到近端语音信号的频带增益后,便可以根据频带增益,对近端语音信号进行回声和环境噪声的消除,达到有效消除回声和环境噪声,并尽量保持近端有效语音信号的目的。
111.本技术实施例所采用的神经网络所需的输入特征数量同样较少,能够一定程度上减少计算量,提升系统的稳定性和回声及环境噪声消除性能的可靠性。
112.可以理解,对于本技术实施例,神经网络模型在训练阶段也采用对应的第一频域表达和第二频域表达的差值与第一频域表达拼接来进行训练。
113.本技术实施例中提供了一种可能的实现方式,步骤s203对应的特征提取过程可以包括:
114.获取近端语音信号所包含的各帧第一信号的第一频谱,以及回声预测信号所包含的各帧第二信号的第二频谱;
115.基于每帧第一信号的第一频谱,得到每帧第一信号的第一频域表达;
116.基于每帧第二信号的第二频谱,得到每帧第二信号的第二频域表达;
117.其中,各帧第一信号的第一频谱可以是对各帧第一信号进行时频变换得到的,各帧第二信号的第二频谱可以是对各帧第二信号进行时频变换得到的。
118.具体地,时频变换的处理可以采用短时傅里叶变换等,本技术实施例在此不做限定。其中,本技术实施例也不限定短时傅里叶变换的长度,典型的取值例如为128、256、512、1024等2的整次幂,以达到较高计算效率。
119.本领域技术人员可以理解,近端语音信号一般由多帧信号(上述称之为第一信号)组成。本技术实施例中,在提取近端语音信号的第一频域表达时,会针对近端语音信号所包含的每帧第一信号分别进行处理,即得到每帧第一信号的第一频域表达。具体地,可以先获取近端语音信号所包含的各帧第一信号的第一频谱,再基于每帧第一信号的第一频谱,得到每帧第一信号的第一频域表达。
120.进一步地,各帧第一信号和各帧第二信号中每帧信号的频谱均包括多个频点的幅度值,对于每帧信号,基于该帧信号的频谱,得到该帧信号的频域表达,包括:
121.基于该帧信号的频谱包含的每个频点的幅度值,得到该帧信号的每个频点对应的
频域表达。
122.由于近端语音信号所包含的各帧第一信号的处理方式相同,下面以第l帧为例进行介绍。例如,第l帧语音信号为一个20ms的语音帧,对近端语音信号中的第l帧信号进行短时傅里叶变换,得到一帧频谱信号d(k,l),其中d表示近端语音信号,k表示频率点,l表示当前帧号。以长度为512点的短时傅里叶变换为例,则第l帧语音信号的频谱可以用k=512/2+1,即257个频率点表示,即k=0,1,

,256。
123.进一步地,基于每帧第一信号的第一频谱,得到每帧第一信号的第一频域表达。继续以第l帧为例,基于第l帧第一信号的第一频谱d(k,l)得到第l帧第一信号的第一频域表达。例如对第l帧第一信号的第一频谱d(k,l)计算第l帧第一信号的对数功率谱pd(k,l)=log(|d(k,l)|2),或对第l帧第一信号的第一频谱d(k,l)计算第l帧第一信号的幅度功率谱ad(k,l)=log(|d(k,l)|)等。
124.同理地,本技术实施例中,在提取回声预测信号的第一频域表达时,会针对回声预测信号所包含的每帧第二信号分别进行处理,即得到每帧第二信号的第二频域表达。具体地,可以先获取回声预测信号所包含的各帧第二信号的第二频谱,再基于每帧第二信号的第二频谱,得到每帧第二信号的第二频域表达。可以理解,由于远端语音信号产生的回声是在采集近端语音信号时产生的,因此回声预测信号与近端语音信号的帧数是一一对应的。其中,回声预测信号可以存在内容为空的帧信号。本技术实施例中,对回声预测信号所包含的各帧第二信号采用相同的处理方式,而无需关注帧的内容。
125.继续以第l帧为例,对回声预测信号中的第l帧信号进行短时傅里叶变换,得到一帧频谱信号y(k,l),其中y表示回声预测信号,k表示频率点,l表示当前帧号。进一步地,基于每帧第二信号的第二频谱,得到每帧第二信号的第二频域表达。即基于第l帧第二信号的第二频谱y(k,l)得到第l帧第二信号的第二频域表达。例如对第l帧第二信号的第二频谱y(k,l)计算第l帧第二信号的对数功率谱py(k,l)=log(|y(k,l)|2),或对第l帧第二信号的第二频谱y(k,l)计算第l帧第二信号的幅度功率谱ay(k,l)=log(|y(k,l)|)等。
126.对于这种实现方式,基于第一频域表达和第二频域表达,通过预先训练好的神经网络模型得到近端语音信号所包含的各帧第一信号的频带增益,可以包括:
127.对于每帧第一信号,基于该帧第一信号的第一频域表达和回声预测信号中该帧第一信号对应帧的第二信号的第二频域表达,通过预先训练好的神经网络模型得到该帧第一信号的频带增益。
128.也就是说,近端语音信号的频带增益包括其所包含的各帧第一信号分别对应的频带增益。
129.其中,每帧第一信号对应的频带增益包括该帧第一信号的第一频谱所包含的各频点对应的频带增益。
130.继续以第l帧为例,会将基于pd(k,l)和py(k,l)得到的特征输入神经网络模型来得到近端语音信号中第l帧第一信号的频带增益g(k,l)。或者与可以基于ad(k,l)和ay(k,l)得到的特征输入神经网络模型来得到近端语音信号中第l帧第一信号的频带增益g(k,l)。
131.可以理解,若采用对数功率谱作为神经网络模型的输入特征,在训练阶段也对应采用对数功率谱进行神经网络模型的训练;若采用对数幅度谱作为神经网络模型的输入特
征,在训练阶段也对应采用对数幅度谱进行神经网络模型的训练。
132.本技术实施例中提供了一种可能的实现方式,对于步骤s2041,可以包括:对于每帧第一信号,基于该帧第一信号的第一频域表达与回声预测信号中该帧第一信号对应帧的第二信号的第二频域表达的差值,通过预先训练好的神经网络模型得到近端语音信号的频带增益。
133.继续以第l帧以及频域表达为对数功率谱为例,可以计算第l帧的对数功率谱的差值q(k,l)=pd(k,l)

py(k,l)作为神经网络模型的输入,那么如果k=257,则第l帧的时刻共有257个特征值输入到神经网络模型,神经网络模型会输出第l帧时刻的频谱增益g(k,l)。
134.或者频域表达也可以为对数幅度谱,计算第l帧的对数幅度谱的差值q(k,l)=ad(k,l)

ay(k,l)作为特征输入神经网路,神经网络模型也可以输出第l帧时刻的频谱增益g(k,l)。
135.本技术实施例中,对于步骤s2042,可以包括:
136.对于每帧第一信号,将该帧第一信号的第一频域表达与回声预测信号中该帧第一信号对应帧的第二信号的第二频域表达的差值,与将该帧第一信号的第一频域表达进行拼接,再输入训练好的神经网络模型得到近端语音信号的频带增益。
137.继续以第l帧为例,在计算出第l帧的对数功率谱的差值q(k,l)后,将其与第l帧第一信号的对数功率谱拼接在一起作为特征输入神经网络,即[q(k,l)pd(k,l)],其中k=0,1,

,k

1,因此第l帧输入的特征值总共有2*k个,神经网络模型会输出第l帧时刻的频谱增益g(k,l)。
[0138]
本技术实施例中提供了一种可能的实现方式,步骤s203对应的特征提取过程可以将所计算的频谱可以进一步划分为更少的子带以减少计算量。具体地,各帧第一信号和各帧第二信号中每帧信号的频谱均包括多个频点的幅度值,对于每帧信号,基于该帧信号的频谱,得到该帧信号的频域表达,包括:
[0139]
将该帧信号的频谱划分为m个子带,将每个子带对应的各频点的幅度值进行融合,得到融合后的幅度值,m≥1;基于每个子带对应的融合后的幅度值,得到每个子带对应的频域表达。
[0140]
继续以第l帧为例,频谱信号d(k,l)的频率点个数为k,那么这k个频率点可以根据需要划分为m个子带,m<k。例如k=257,可以根据人的心理声学模型将257个频点划分到33个梅尔子频带。或者也可以采用其他划分方式,本技术实施例在此不做限定。
[0141]
进一步地,每帧第一信号的第一频谱被划分为m个子带,针对每帧第一信号,将每个子带对应的各频点的幅度值进行融合,得到融合后的幅度值,基于每个子带对应的融合后的幅度值,得到每个子带对应的频域表达。继续以第l帧为例,第l帧第一信号的第一频谱d(k,l)被划分为m个子带,分别计算第l帧第一信号的每个子带的第一频域表达。例如基于第l帧第一信号的第一频谱d(k,l)计算第l帧第一信号的每个子带的对数功率谱pd(m,l)=log(|d(m,l)|2)。或基于第l帧第一信号的第一频谱d(k,l)计算第l帧第一信号的每个子带的幅度功率谱ad(m,l)=log(|d(m,l)|)等。其中,d(m,l)是对该子带对应的各频点进行融合得到的,具体的融合方式可以为三角滤波、相加、加权相加等,但不限于此。
[0142]
每帧第二信号的第二频谱被划分为m个子带,针对每帧第二信号,将每个子带对应
的各频点的幅度值进行融合,得到融合后的幅度值,基于每个子带对应的融合后的幅度值,得到每个子带对应的频域表达。继续以第l帧为例,第l帧第二信号的第二频谱y(k,l)被划分为m个子带,分别计算第l帧第二信号的每个子带的第二频域表达。例如基于第l帧第二信号的第二频谱y(k,l)计算第l帧第二信号的每个子带的对数功率谱py(m,l)=log(|y(m,l)|2)。或基于第l帧第二信号的第二频谱y(k,l)计算第l帧第二信号的每个子带的幅度功率谱ay(m,l)=log(|y(m,l)|)等。其中,y(m,l)是对该子带对应的各频点进行融合得到的。
[0143]
对于这种实现方式,在步骤s204中,每帧第一信号对应的频带增益包括该帧第一信号的第一频谱所包含的各子带对应的频带增益。
[0144]
继续以第l帧为例,可以将基于pd(m,l)和py(m,l)得到的特征输入神经网络模型来得到近端语音信号中第l帧第一信号的每个子带的频带增益g(m,l)。或者与可以基于ad(m,l)和ay(m,l)得到的特征输入神经网络模型来得到近端语音信号中第l帧第一信号的每个子带的频带增益g(m,l)。
[0145]
本技术实施例中提供了一种可能的实现方式,对于步骤s2041,可以包括:对于每帧第一信号,基于该帧第一信号的每个子带的第一频域表达与回声预测信号中该帧第一信号对应帧的第二信号的对应子带的第二频域表达的差值,通过预先训练好的神经网络模型得到近端语音信号的频带增益。
[0146]
继续以第l帧以及频域表达为对数功率谱为例,可以计算第l帧的m个子带的对数功率谱的差值q(m,l)=pd(m,l)

py(m,l),其中m=0,1,

m

1。作为神经网络模型的输入,则第l帧的时刻共有m个特征值输入到神经网络模型,神经网络模型在第l帧时刻的输出也是m个节点,分别对应m个子带的频带增益g(m,l)。
[0147]
或者频域表达也可以为对数幅度谱,计算第l帧的m个子带的对数幅度谱的差值q(m,l)=ad(m,l)

ay(m,l)作为特征输入神经网路,神经网络模型也可以输出第l帧时刻的m个子带的频谱增益g(m,l)。
[0148]
本技术实施例中,对于步骤s2042,可以进一步缩减特征值数量,可选地一种实现方式为:
[0149]
对于每帧第一信号,基于该帧第一信号的每个子带的第一频域表达与回声预测信号中该帧第一信号对应帧的第二信号的对应子带的第二频域表达的差值,分别与该帧第一信号的每个子带的第一频域表达进行拼接,通过预先训练好的神经网络模型得到近端语音信号的频带增益。
[0150]
继续以第l帧为例,在计算出第l帧的m个子带的对数功率谱的差值q(m,l)后,将其与第l帧第一信号的m个子带的对数功率谱拼接在一起作为特征输入神经网络,即[q(m,l)pd(m,l)],其中m=0,1,

,m

1,因此第l帧输入的特征值总共有2*m个,神经网络模型会输出第l帧时刻的频谱增益,本领域技术人员可以根据实际情况来设置输出的特征数量并进行训练,以使得神经网络模型会输出对应的频谱增益,例如输出第l帧时刻的频谱增益可以为g(k,l)或g(m,l)。
[0151]
本技术实施例中,对于步骤s2042,可选地另一种实现方式为:
[0152]
对于每帧第一信号,基于该帧第一信号的每个子带的第一频域表达与回声预测信号中该帧第一信号对应帧的第二信号的对应子带的第二频域表达的差值,分别与该帧第一信号的各频点的第一频域表达进行拼接,通过预先训练好的神经网络模型得到近端语音信
号的频带增益。
[0153]
继续以第l帧为例,在计算出第l帧的m个子带的对数功率谱的差值q(m,l)后,将其与第l帧第一信号的各频点的对数功率谱拼接在一起作为特征输入神经网络,即[q(m,l)pd(k,l)],因此第l帧输入的特征值总共有m+k个,神经网络模型会输出第l帧时刻的频谱增益,本领域技术人员可以根据实际情况来设置输出的特征数量并进行训练,以使得神经网络模型会输出对应的频谱增益,例如输出第l帧时刻的频谱增益可以为g(k,l)或g(m,l)。
[0154]
本技术实施例中,对于步骤s2042,可选地又一种实现方式为:
[0155]
对于每帧第一信号,基于该帧第一信号的第一频域表达与回声预测信号中该帧第一信号对应帧的第二信号的第二频域表达的差值,分别与该帧第一信号的每个子带的第一频域表达进行拼接,通过预先训练好的神经网络模型得到近端语音信号的频带增益。
[0156]
继续以第l帧为例,在计算出第l帧的对数功率谱的差值q(k,l)后,将其与第l帧第一信号划分的m个子带的对数功率谱拼接在一起作为特征输入神经网络,即[q(k,l)pd(m,l)],因此第l帧输入的特征值总共有k+m个,神经网络模型会输出第l帧时刻的频谱增益,本领域技术人员可以根据实际情况来设置输出的特征数量并进行训练,以使得神经网络模型会输出对应的频谱增益,例如输出第l帧时刻的频谱增益可以为g(k,l)或g(m,l)。
[0157]
可以理解,对于上述不同的实现方式,神经网络模型在训练的时候也采用对应的输入特征进行训练。
[0158]
本技术实施例中提供了一种可能的实现方式,步骤s205可以包括:
[0159]
确定近端语音信号与回声预测信号的残差信号;
[0160]
基于残差信号与近端语音信号的频带增益,得到处理后的近端语音信号。
[0161]
实际应用中,在得到了每一帧的频谱增益g(k,l)或g(m,l)之后,可以通过将该残差信号在频域乘以g(k,l)或g(m,l)再变换回时域得到处理后的近端语音信号。
[0162]
具体地,步骤s205可以包括:
[0163]
步骤s2051:确定近端语音信号与回声预测信号的残差信号;
[0164]
其中,将近端语音信号与回声预测信号相减,便可得到对应的残差信号。
[0165]
步骤s2052:获取残差信号所包含的各帧第三信号的第三频谱;
[0166]
其中,各帧第三信号的第三频谱以是对各帧第三信号进行时频变换得到的,例如采用短时傅里叶变换等。由于回声预测信号与近端语音信号的帧数是一一对应的,因此近端语音信号与回声预测信号的残差信号的帧数与近端语音信号的帧数是也一一对应的,该残差信号所包含的各帧第三信号的处理方式也相同。继续以第l帧为例进,例如对残差信号中的第l帧信号进行短时傅里叶变换,得到一帧频谱信号e(k,l),其中e表示残差信号,k表示频率点,l表示当前帧号。
[0167]
若在计算近端语音信号的频带增益时,各帧第一信号和各帧第二信号中每帧信号都划分为了m个子带,即若每帧第一信号对应的频带增益包括该帧第一信号的第一频谱所包含的各子带对应的频带增益,则获取残差信号中所包含的各帧信号的第三频谱,并将每帧信号的第三频谱划分为m个子带;
[0168]
继续以第l帧为例,将残差信号的频谱e(k,l)的频率点划分为m个子带,得到e(m,l)。
[0169]
步骤s2053:对于每帧第一信号,基于该帧第一信号对应的频带增益与对应帧的第
三信号的第三频谱,得到各帧对应的第四频谱;
[0170]
具体地,若每帧第一信号对应的频带增益包括该帧第一信号的第一频谱所包含的各频点对应的频带增益,则对于每帧第一信号,基于该帧第一信号所对应的各频点的频带增益,对残差信号中对应帧的频谱所包含的各频点的幅度值进行加权计算,得到该帧第一信号对应的第四频谱;
[0171]
继续以第l帧为例,第l帧第三信号的第三频谱的各频点乘以各频点的增益得到进一步消除回声之后的第四频谱z(k,l)=e(k,l)*g(k,l)。
[0172]
若每帧第一信号对应的频带增益包括该帧第一信号的第一频谱所包含的各子带对应的频带增益,则对于每帧第一信号的每个子带,基于每个子带对应的频带增益对残差信号中对应帧的第三频谱中对应子带所包含的各频点的幅度值进行加权计算,得到每个子带对应的第四频谱。
[0173]
继续以第l帧为例,第l帧第三频谱的各子带的每个频点均乘以相应子带的增益得到进一步消除回声之后的第四频谱,即z(k,l)=e(k,l)*g(m,l)。作为示例地,把k个频点划分到m个子带的时候,假设第1~3个频点对应于第一个子带,第4~8个频点对应于第二个子带,以此类推。所以对应的,第一个子带的增益跟第1~3个频点的幅度相乘,第2个子带的增益跟第4~8个频点的幅度相乘,以此类推。
[0174]
步骤s2054:基于各第一信号对应的各第四频谱进行频时变换,得到处理后的近端语音信号。
[0175]
对各帧对应的第四频谱分别进行频时变换,将频域的第四频谱变换到时域的信号,即可得到处理后的近端语音信号。
[0176]
具体地,频时变换可采用前述步骤采用的时频变换的逆变换,例如,若上述时频变换采用了短时傅里叶变换,则该步骤中,可以采用逆短时傅里叶逆变换。
[0177]
继续以第l帧为例,讲第l帧对应的第四频谱z(k,l)或z(m,l)进行短时傅里叶逆变换,得到时域数字音频信号帧的第l帧z(l)。那么,将各帧信号连接在一起可得完整时域信号z,z即为进一步消除了回声并尽量保持了有效语音信号的处理后的近端语音信号。
[0178]
本技术实施例中,为神经网络模型提供了一种可行的实现方式,如图3所示,神经网络模型可以分为三部分,包括输入层、隐藏层和输出层。输入层有多个(包括但不限于k个、m个、2k个、2m个、k+m等)输入节点,每一个输入节点对应于一个特征值,例如k个输入节点,且k等于前述的257。输入层可以是全连接层、lstm(long

short term memory,长短期记忆网络)、gru(gate recurrent unit、门控循环单元)或cnn(convolutional neural networks,卷积神经网络)等类型的网络层。隐藏层有的情况下也可以没有,有的情况下隐藏层也可以不止一层,有可能是多层隐藏层,本领域技术人员可以根据实际需求进行设置,本技术实施例在此不做限定。隐藏层的类型也可以是全连接层、lstm、gru或cnn等类型的网络层,节点数一般可以是5到5000之间,不做限定。输出层可以是一个全连接层,采用sigmoid非线性函数,节点数为频带数(频点数)或子带数,例如可以跟前面的k相同,即257,每一个节点对应输出一个增益,继续以第l帧,k=257为例,输出层在第l帧的时候输出为g(k,l),k=0,1,

,256。其他实施例中,神经网络模型也可以为其他结构。
[0179]
本技术实施例中提供了一种可能的实现方式,步骤s203对应的特征提取过程可以通过一个特征提取层来执行,并且可以将特征提取层与前述的神经网络模型封装为一个神
经网络模块,在该神经网络模块中,前述的神经网络模型也可称为网络层。作为示例地,如图4所示,该神经网络模块可以包括特诊提取层、网络输入层、网络隐藏层以及网络输出层。该神经网络模块可以直接对近端语音信号以及回声预测信号进行处理,输出近端语音信号的频带增益。
[0180]
本技术实施例中提供了一种可能的实现方式,步骤s201之后,还可以包括步骤:
[0181]
根据近端语音信号与回声预测信号的残差信号,调整滤波参数;
[0182]
基于调整后的滤波参数,对后续接收的远端语音信号进行滤波处理。
[0183]
本技术实施例中,通过残差信号来动态调整滤波参数,以便跟踪回声路径的变化,提升回声消除的准确性。
[0184]
图5以采用线性滤波器来执行滤波处理过程为例,示出了滤波处理的一个示例。如图5所示,接收到远端语音信号,即参考信号x,被送到喇叭播放出来,通过回声路径之后进入近端的麦克风形成回声y’,也就是说麦克风所采集近端音频信号d时,可能同时采集到近端说话人的语音s以该声学回声y’,还可能采集到环境噪声n,即d=y’+s+n。将x经过线性滤波器滤波之后得到回声预测信号y,然后将d与y相减得到线性回声消除之后的残差信号e,同时通过e来动态调整线性滤波器参数,以便跟踪回声路径的变化,基于调整后的滤波参数,对后续接收的远端语音信号x进行滤波处理。
[0185]
图6示出了本技术实施例提供的语音信号的处理方法的一个完整的示例。如图6所示,本技术实施例采用了线性滤波器回声消除模块加上一个神经网络模块的方法。具体地,接收到远端语音信号x,被送到喇叭播放出来,通过回声路径之后进入近端的麦克风形成回声y’,麦克风所采集近端音频信号d时,可能同时采集到近端说话人的语音s以该声学回声y’,还可能采集到环境噪声n,即d=y’+s+n。将x经过线性滤波器滤波之后得到回声预测信号y,神经网络模块(对应图6中的神经网络)输入d和y,输出近端语音信号d的频带增益。具体的实施方式可参见上文中的描述,在此不再赘述。利用该频带增益对近端语音信号d进行干扰信号的消除,可以实现同时对回声信号以及噪声信号的频带能量进行抑制,进而达到消除回声和噪声的功能,在提升回声抑制效果并保留近端语音的同时,抑制近端噪声。
[0186]
本技术实施例中提供了一种可能的实现方式,前述神经网络模型是通过以下方式训练得到的:
[0187]
获取多个训练样本,每个训练样本包括远端样本语音信号、近端样本语音信号和标注信息,标注信息表征了近端样本语音信号的真实频带增益;
[0188]
例如可以采用“0”、“1”等标注信息来区分真实频带增益中的干扰语音部分与有效语音部分,也可以采用其他标注方式。
[0189]
对每个训练样本的远端样本语音信号进行滤波处理,得到样本回声预测信号;
[0190]
具体的滤波处理方式可参见上文中的描述,在此不再赘述。
[0191]
确定每个训练样本的近端样本语音信号的第三频域表达和样本回声预测信号的第四频域表达;
[0192]
具体的频域表达确定方式可参见上文中的描述,在此不再赘述。
[0193]
基于各训练样本对应的第三频域表达和第四频域表达,利用机器学习方法,对初始的神经网络模型进行迭代训练,得到各训练样本对应的预测频带增益;
[0194]
其中,对于每次训练,若基于各训练样本对应的真实频带增益和预测频带增益,确
定满足训练结束条件,则得到训练好的神经网络模型,若不满足训练结束条件,则调整神经网络模型的模型参数,并基于各训练样本对应的第三频域表达和第四频域表达继续对神经网络模型进行训练。
[0195]
进一步地,对于每个训练样本,还可以包括:
[0196]
基于第三频域表达和第四频域表达,确定近端样本语音信号和样本回声预测信号的样本频域信息差异;其中,在训练时,神经网络模型的输入包括每个训练样本对应的样本频域信息差异,或者包括每个训练样本对应的样本频域信息差异和第三频域表达。
[0197]
由此训练得到的神经网络模型,便可在应用时对应输入前述内容中介绍的各种情形的输入特征,输出对应的频带增益。利用该频带增益来消除干扰信号时,能够更好地保留近端语音信号中的有效语音信号,进一步提升干扰信号的消除性能,更好地消除了干扰信号。尤其是多端讲话的时候,能更好地保留近端人声,提升用户体验。
[0198]
本领域的技术人员可以理解,前述“第一频域表达”至“第四频域表达”仅表示对不同信号的频域表达进行区分,而不能理解为其大小或数量的限定。同理地,“第一频谱”至“第四频谱”仅表示对不同信号的频谱进行区分,“第一信号”至“第三信号”仅表示对不同类型的型号进行区分,而不能理解为对其的限定。
[0199]
本技术实施例提供了一种语音信号的处理装置,如图7所示,该处理装置70可以包括:信号滤波模块701、信号采集模块702、频域表达获取模块703、频带增益确定模块704以及干扰信号消除模块705,其中,
[0200]
信号滤波模块701用于将接收的远端语音信号进行滤波处理,得到回声预测信号;
[0201]
信号采集模块702用于采集近端语音信号;
[0202]
频域表达获取模块703用于获取近端语音信号的第一频域表达和回声预测信号的第二频域表达;
[0203]
频带增益确定模块704用于基于第一频域表达和第二频域表达,通过预先训练好的神经网络模型得到近端语音信号的频带增益,频带增益表征了近端语音信号中有效语音信号的权重;
[0204]
干扰信号消除模块705用于根据频带增益,对近端语音信号进行干扰信号的消除,得到处理后的近端语音信号。
[0205]
在一种可选的实现方式中,频带增益确定模块704在用于基于第一频域表达和第二频域表达,通过预先训练好的神经网络模型得到近端语音信号的频带增益时,具体用于:
[0206]
基于第一频域表达和第二频域表达,确定近端语音信号和回声预测信号的频域信息差异;
[0207]
基于频域信息差异,通过训练好的神经网络模型得到近端语音信号的频带增益。
[0208]
在一种可选的实现方式中,频带增益确定模块704在用于基于频域信息差异,通过训练好的神经网络模型得到近端语音信号的频带增益时,具体用于:
[0209]
将第一频域表达和频域信息差异进行拼接,得到拼接后的频域信息;
[0210]
基于拼接后的频域信息,通过训练好的神经网络模型得到近端语音信号的频带增益。
[0211]
在一种可选的实现方式中,频域表达获取模块703在用于获取近端语音信号的第一频域表达和回声预测信号的第二频域表达时,具体用于:
[0212]
获取近端语音信号所包含的各帧第一信号的第一频谱,以及回声预测信号所包含的各帧第二信号的第二频谱;
[0213]
基于每帧第一信号的第一频谱,得到每帧第一信号的第一频域表达;
[0214]
基于每帧第二信号的第二频谱,得到每帧第二信号的第二频域表达;
[0215]
频带增益确定模块704在用于基于第一频域表达和第二频域表达,通过预先训练好的神经网络模型得到近端语音信号所包含的各帧第一信号的频带增益时,具体用于:
[0216]
对于每帧第一信号,基于该帧第一信号的第一频域表达和回声预测信号中该帧第一信号对应帧的第二信号的第二频域表达,通过预先训练好的神经网络模型得到该帧第一信号的频带增益。
[0217]
在一种可选的实现方式中,各帧第一信号和各帧第二信号中每帧信号的频谱均包括多个频点的幅度值,对于每帧信号,频域表达获取模块703在用于基于该帧信号的频谱,得到该帧信号的频域表达时,具体用于:
[0218]
基于该帧信号的频谱包含的每个频点的幅度值,得到该帧信号的每个频点对应的频域表达;其中,该帧第一信号对应的频带增益包括该帧第一信号的第一频谱所包含的各频点对应的频带增益;
[0219]
干扰信号消除模块705在用于根据频带增益,对近端语音信号进行干扰信号的消除,得到处理后的近端语音信号时,具体用于:
[0220]
确定近端语音信号与回声预测信号的残差信号;
[0221]
获取残差信号中所包含的各帧信号的第三频谱;
[0222]
对于每帧第一信号,基于该帧第一信号所对应的各频点的频带增益,对残差信号中对应帧的频谱所包含的各频点的幅度值进行加权计算,得到该帧第一信号对应的第四频谱;
[0223]
基于各第一信号对应的各第四频谱进行频时变换,得到处理后的近端语音信号。
[0224]
在一种可选的实现方式中,各帧第一信号和各帧第二信号中每帧信号的频谱均包括多个频点的幅度值,对于每帧信号,频域表达获取模块703在用于基于该帧信号的频谱,得到该帧信号的频域表达时,具体用于:
[0225]
将该帧信号的频谱划分为m个子带,将每个子带对应的各频点的幅度值进行融合,得到融合后的幅度值,m≥1;
[0226]
基于每个子带对应的融合后的幅度值,得到每个子带对应的频域表达;其中,该帧第一信号对应的频带增益包括该帧第一信号的第一频谱所包含的各子带对应的频带增益;
[0227]
干扰信号消除模块705在用于根据频带增益,对近端语音信号进行干扰信号的消除,得到处理后的近端语音信号时,具体用于:
[0228]
确定近端语音信号与回声预测信号的残差信号;
[0229]
获取残差信号中所包含的各帧信号的第三频谱,并将每帧信号的第三频谱划分为m个子带;
[0230]
对于每帧第一信号的每个子带,基于每个子带对应的频带增益对残差信号中对应帧的第三频谱中对应子带所包含的各频点的幅度值进行加权计算,得到每个子带对应的第四频谱;
[0231]
基于各第一信号对应的各第四频谱进行频时变换,得到处理后的近端语音信号。
[0232]
在一种可选的实现方式中,第一频域表达和第二频域表达均包括功率谱、幅度谱、对数功率谱或对数幅度谱中的至少一项。
[0233]
在一种可选的实现方式中,神经网络模型是通过以下方式训练得到的:
[0234]
获取多个训练样本,每个训练样本包括远端样本语音信号、近端样本语音信号和标注信息,标注信息表征了近端样本语音信号的真实频带增益;
[0235]
对每个训练样本的远端样本语音信号进行滤波处理,得到样本回声预测信号;
[0236]
确定每个训练样本的近端样本语音信号的第三频域表达和样本回声预测信号的第四频域表达;
[0237]
基于各训练样本对应的第三频域表达和第四频域表达,利用机器学习方法,对初始的神经网络模型进行迭代训练,得到各训练样本对应的预测频带增益;
[0238]
其中,对于每次训练,若基于各训练样本对应的真实频带增益和预测频带增益,确定满足训练结束条件,则得到训练好的神经网络模型,若不满足训练结束条件,则调整神经网络模型的模型参数,并基于各训练样本对应的第三频域表达和第四频域表达继续对神经网络模型进行训练。
[0239]
在一种可选的实现方式中,对于每个训练样本,还包括:
[0240]
基于第三频域表达和第四频域表达,确定近端样本语音信号和样本回声预测信号的样本频域信息差异;其中,在训练时,神经网络模型的输入包括每个训练样本对应的样本频域信息差异,或者包括每个训练样本对应的样本频域信息差异和第三频域表达。
[0241]
本领域的技术人员可以清楚地了解到,本技术实施例提供的语音信号的处理装置,其实现原理及产生的技术效果和前述方法实施例相同,为描述的方便和简洁,装置实施例部分未提及之处,可参考前述方法实施例中相应内容,在此不再赘述。
[0242]
其中,本技术实施例提供的语音信号的处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该语音信号的处理装置为一个应用软件;该装置可以用于执行前述方法实施例中相应内容。
[0243]
在一些实施例中,本技术实施例提供的语音信号的处理装置可以采用软硬件结合的方式实现,作为示例,本技术实施例提供的语音信号的处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例提供的语音信号的处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field

programmable gate array)或其他电子元件。
[0244]
在另一些实施例中,本技术实施例提供的语音信号的处理装置可以采用软件方式实现,其可以是程序和插件等形式的软件,并包括一系列的模块,用于实现本技术实施例提供的语音信号的处理方法。
[0245]
描述于本技术实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定。
[0246]
基于与本技术的实施例中所示的方法相同的原理,本技术的实施例中还提供了一种电子设备,该电子设备可以包括但不限于:处理器和存储器;存储器,用于存储计算机程序;处理器,用于通过调用计算机程序执行本技术任一实施例所示的语音信号的处理方法。
[0247]
在一个可选实施例中提供了一种电子设备,如图8所示,图8所示的电子设备800包括:处理器801和存储器803。其中,处理器801和存储器803相连,如通过总线802相连。可选地,电子设备800还可以包括收发器804,收发器804可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器804不限于一个,该电子设备800的结构并不构成对本技术实施例的限定。
[0248]
处理器801可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器801也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
[0249]
总线802可包括一通路,在上述组件之间传送信息。总线802可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线802可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0250]
存储器803可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd

rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0251]
存储器803用于存储执行本技术方案的应用程序代码(计算机程序),并由处理器801来控制执行。处理器801用于执行存储器803中存储的应用程序代码,以实现前述方法实施例所示的内容。
[0252]
其中,电子设备也可以是终端设备,图8示出的电子设备仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0253]
本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
[0254]
根据本技术的另一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种实施例实现方式中提供的语音信号的处理方法。
[0255]
可以以一种或多种程序设计语言或其组合来编写用于执行本技术的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可
以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0256]
应该理解的是,附图中的流程图和框图,图示了按照本技术各种实施例的方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0257]
本技术实施例提供的计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0258]
上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
[0259]
以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。