声纹识别方法、装置和计算机可读存储介质与流程



1.本技术涉及声纹识别技术领域,尤其涉及一种声纹识别方法、装置和计算机可读存储介质。


背景技术:



2.随着语音识别技术的发展,声纹识别也逐渐应用于终端设备的控制,声纹识别(vbiceprint recognition,vr),又常被称为说话人识别(speaker recognition,sr),是一种根据一个人说话的声音来判别他身份的技术。无感声纹一般要求在线进行,基于实时数据,训练后得到准确的声纹模型,而相比在线声纹,离线声纹计算资源少,需要考虑参数、计算量等问题的优化,从而使得离线声纹模型的性能低于在线声纹模型;其次,由于计算资源的限制,使得在有限的资源上难以集成包含前端信号处理、语音端点检测、语音合成检测等算法,因此,离线声纹识别的安全性也低于在线声纹;再者,当设备处于联网情况时,声纹功能可以正常使用,而当设备处于无网络情况时,声纹功能便不能使用,从而影响用户的使用体验。因此,存在由于计算资源的限制,导致离线声纹识别性能不佳的问题。


技术实现要素:



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.本技术提出一种声纹识别方法,通过接收云端服务器发送的声纹模型,将声纹模型存储至本地,声纹模型是由云端服务器根据终端设备发送的历史语音数据进行训练得到的;当终端设备处于在线状态时,对本地存储的声纹模型进行更新,以通过存储的所述声纹模型对接收到的语音数据进行声纹识别。通过将声纹模型部署至本地,实现本地化,当处于在线状态时,对本地存储的声纹模型进行更新,如此,避免了在离线状态下,由于计算资源的限制,导致离线声纹识别性能不佳的问题,达到了提高离线声纹识别性能的效果。
附图说明
38.图1为本技术实施例方案涉及的硬件运行环境的终端结构示意图;
39.图2为本技术声纹识别方法第一实施例的流程示意图;
40.图3为本技术声纹识别方法第二实施例的流程示意图;
41.图4为本技术声纹识别方法第三实施例的流程示意图;
42.图5为本技术声纹识别方法第四实施例的流程示意图;
43.图6为本技术声纹识别方法中生成声纹模型的流程示意图;
44.图7为本技术声纹识别的流程示意图。
45.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
46.应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
47.为了更好的理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
48.由于离线声纹计算资源少,需要考虑参数、计算量等问题的优化,使得离线声纹模型的性能低于在线声纹模型。因此,存在由于计算资源的限制,导致离线声纹识别性能不佳的问题。
49.基于此问题,本技术提出了一种声纹识别方法,通过接收云端服务器发送的声纹模型,将声纹模型存储至本地;当终端设备处于在线状态时,对本地存储的声纹模型进行更新,以通过存储的所述声纹模型对接收到的语音数据进行声纹识别。通过将声纹模型部署至本地,实现本地化,当处于在线状态时,对本地存储的声纹模型进行更新,如此,避免了在离线状态下,由于计算资源的限制,导致离线声纹识别性能不佳的问题,达到了提高离线声纹识别性能的效果。
50.如图1所示,图1为本技术实施例方案涉及的硬件运行环境的终端设备结构示意图。
51.如图1所示,该终端设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口
1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
52.其中,该终端设备可以包括空调器、冰箱、电视机、电饭煲、热水器或音箱设备等等。该终端设备除了包括实现对应功能的功能组件,还包括通信模块,以及语音模块等功能部件。通信模块用于实现终端设备与外部设备之间的通信,如wi-fi模块、蓝牙模块、红外模块、zigbee模块等等。语音模块用于实现周围环境中的声音采集,当采集并识别到语音控制指令时,终端设备执行该语音控制指令。当然,语音模块也可以不设置,而通过通信模块接收外部设备发送的语音控制指令。
53.可选地,该终端设备还包括与其连接的设备控制端,该设备控制端可以包括手机、ipad等移动设备,或者智能手表等可穿戴设备。通过设备控制端上的控制app,可以与终端设备进行绑定,从而控制终端设备运行。
54.本领域技术人员可以理解,图1中示出的终端设备结构并不构成对终端设备设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
55.如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括声纹识别程序。
56.在图1所示的终端设备中,网络接口1004主要用于与后台服务器进行数据通信;用户接口1003主要用于与客户端(用户端)进行数据通信;处理器1001可以用于调用存储器1005中声纹识别程序,并执行以下操作:
57.接收云端服务器发送的声纹模型,将所述声纹模型存储至本地,所述声纹模型是由所述云端服务器根据终端设备发送的历史语音数据进行训练得到的;
58.当所述终端设备处于在线状态时,对所述本地存储的声纹模型进行更新,以通过存储的所述声纹模型对接收到的语音数据进行声纹识别。
59.参考图2和图6,图2为本技术声纹识别方法第一实施例的流程示意图。
60.本技术实施例提供了一种声纹识别方法,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
61.本实施例的声纹识别方法运行于终端设备侧,包括以下步骤:
62.步骤s10,接收云端服务器发送的声纹模型,将所述声纹模型存储至本地,所述声纹模型是由所述云端服务器根据终端设备发送的历史语音数据进行训练得到的;
63.需要说明的是,本技术采用的是无感声纹,无感声纹是指免注册声纹,不需用户主动注册,基于海量实时语音数据,自动训练得出的声纹模型。
64.当终端设备采集到一段时间内的语音数据时,自动将该语音数据发送至云端服务器,云端服务器将接收到的语音数据加入至语音数据集中,该语音数据集中存储有终端设备之前发送的语音数据,即历史语音数据。一实施例中,当云端服务器接收到新的语音数据时,将新的语音数据加入至语音数据集中,当语音数据集中的数据量达到一定阈值(如100条语音数据)后,将语音数据集中的数据进行随机划分,得到训练集和验证集,或者训练集、验证集和测试集,将训练集数据通过卷积神经网络(cnn)进行训练得到声纹模型,并将该声纹模型发送至终端设备,由终端设备将声纹模型存储至本地。如此,将声纹模型实现本地
化,使得在离线的情况下也可以进行无感声纹识别。
65.步骤s20,当所述终端设备处于在线状态时,对所述本地存储的声纹模型进行更新,以通过存储的所述声纹模型对接收到的语音数据进行声纹识别。
66.本领域技术人员可以理解的是,在如今智能家居等使用场景下,经常会遇到离线的使用环境,这对于较为依赖算力与数据库的声纹识别而言,是一个不小的挑战。离线声纹识别相比在线声纹识别,一般说来相对较少的计算资源使得离线识别需要考虑参数,计算量,定点量化的等一系列的优化,使得离线声纹模型的性能会低于在线模型。其次离线声纹识别的安全性也会低于在线声纹识别,因为计算资源的限制,使得在有限的资源上难以集成包含前端信号处理,语音端点检测,语音合成检测,语音转录检测,说话人分离等一种或多种处理方式。
67.基于上述问题,通过在终端设备处于在线状态时,接收云端服务器发送的更新指令,根据该更新指令对本地存储的声纹模型进行更新,以使终端设备在离线终端下可以通过本地存储的声纹模型进行声纹识别,从而确定当前用户是否为已注册的声纹用户。一实施例中,云端服务器完成声纹模型训练后,自动检测部署至本地的声纹模型是否需要更新,如,将当前训练得到的声纹模型与本地的声纹模型进行比较,若当前训练得到的声纹模型与本地的声纹模型不同,则说明本地的声纹模型需要更新,此时,向终端设备发送更新指令,该更新指令中携带有当前训练得到的声纹模型,即新的声纹模型,将新的声纹模型存储至本地,并替换上一次存储的声纹模型,以使终端设备根据新的声纹模型对采集到的语音数据进行声纹识别。
68.一实施例中,声纹在线识别与离线识别的区别是看声纹模型部署在云端服务器还是本地,声纹模型部署在云端服务器的叫做在线声纹识别,部署在本地的叫做离线声纹识别。如此,在进行声纹识别前,需要接收用户端向终端设备发送的语音数据,以及获取终端设备的网络状态,基于终端设备的网络状态确定当前的声纹识别方式。当终端设备处于在线状态时,采用在线声纹识别,此时,将接收到的语音数据发送至云端服务器,云端服务器通过在线声纹模型对语音数据进行声纹识别,以获取语音数据对应的注册声纹用户,并将声纹的识别结果反馈至终端设备。当终端设备处于离线状态时,采用离线声纹识别,此时,直接调用本地预先存储的声纹模型对语音数据进行声纹识别,以获取语音数据对应的注册声纹用户。
69.一实施例中,本领域技术人员可以理解的是,在进行本地网络之外的外网域名解析的过程中需要连接到网络运营商对应的域名服务器,如果网络离线,则不能连接网络运营商对应的域名服务器,更不可能成功解析外网域名。基于此,本实施例可采用外网域名解析的成功与否判断终端设备的网络状态,如,设置外网域名池,从外网域名池中提取预设数量的外网域名组成测试域名集合,并调用域名系统dns服务解析测试域名集合中的外网域名,若测试域名集合中存在至少一个被解析成功的外网域名,则判定当前终端设备的网络状态为在线,若测试域名集合中的所有外网域名均解析失败,则判定当前终端设备的网络状态为离线。
70.本实施例通过在离线混合声纹模型的方法,将在线训练得到声纹模型本地化,使得在离线的情况下也可以进行声纹识别,同时,当终端设备处于在线状态时,由云端服务器根据历史语音数据进行声纹模型训练,将训练得到的新的声纹模型部署至本地,实现对本
地存储的声纹模型的更新,避免在离线状态下,由于计算资源的限制,导致离线声纹识别性能不佳和安全性低的问题,达到了提高离线声纹识别性能和安全性的效果。
71.进一步地,参考图3和图7,提出本技术声纹识别方法第二实施例。
72.本实施例的声纹识别方法运行于终端设备侧,所述声纹识别方法第二实施例与所述声纹识别方法第一实施例的区别在于,所述调用存储的所述声纹模型对所述语音数据进行声纹识别的步骤包括:
73.步骤s22,获取所述语音数据的语谱图;
74.步骤s23,将所述语谱图输入所述声纹模型的卷积神经网络层对所述语谱图进行识别,以得到所述语音数据对应的注册声纹用户。
75.本领域技术人员可以理解的是,当声纹的使用人数达到一定人数后,一般为6-8人,声纹的准确率大幅下降,容易产生误识别。基于此问题,本实施例在声纹识别时,采用二次判别策略提高声纹的识别准确率。
76.一实施例中,对接收到的语音数据进行声纹识别主要包括以下识别过程:首先对语音数据进行采样量化、预加重、加窗、分帧、以及端点检测等预处理操作。经过预处理后,语音数据的高频分辨率被提高,且语音数据变得更加平滑,方便了语音数据的后续处理。将预处理得到语音数据进行离散傅里叶变换,进行能量谱计算,通过能量谱计算获取语谱图,该语谱图为频谱分析视图,语谱图的横坐标是时间,纵坐标是频率,坐标点值为语音数据能量。如,语音数据在进行分帧预处理操作后,得到x(m,n),其中m表示帧的个数,n表示帧长,基于公式对每一帧信号进行傅里叶变换,转为x(m,n),做周期图y(m,n),(y(m,n)=x(m,n)*x(m,n)'),对周期图进行取对数处理,取10*log10(y(m,n)),把m根据时间变换一下刻度m,n根据频率变化一下刻度n,最后将(m,n,10*log10y(m,n))生成二维语谱图。进一步将语谱图输入至卷积神经网络进行分类,输出注册声纹用户和非注册声纹用户两类,若当前用户为非注册声纹用户,则直接输出结果,若当前用户为注册声纹用户,则进一步验证当前声纹识别的结果,提取梅尔频率倒谱系数(mel frequency cepstrum coefficient,mfcc),即mfcc特征,假设提取到的mfcc特征表示为v:
77.v=(v1,v2,v3,...vn)
78.其中,v表示梅尔频率倒谱系数,n为特征的阶数,假设某个注册声纹用户的模板向量为t:
79.t=(t1,t2,t3,...tn)
80.其中,t表示注册声纹用户的模板对应的梅尔倒谱系数向量,进一步通过mfcc特征和模板向量计算欧氏距离d:
[0081][0082]
其中,欧式距离也称欧几里得距离,用于衡量多维空间中两个点之间的绝对距离,而在本实施中,欧式距离用于表示当前说话的用户与注册声纹用户的接近程度。进一步获取注册声纹用户的不同mfcc参数所对应的平均值,记为th,将欧式距离与注册声纹用户的不同mfcc参数所对应的平均值进行比较,若欧式距离小于平均值,即d《th,则确定当前用户为注册声纹用户;若欧式距离大于平均值,即d》th,则确定当前用户为非注册声纹用户。
[0083]
本实施例通过mfcc特征和模板向量计算欧氏距离,基于欧氏距离对注册声纹用户
进行再次判断,以验证声纹识别结果,如此,通过采用二次判别策略对注册声纹用户进行再次判断,提高声纹识别的准确性。
[0084]
进一步地,参考图4,提出本技术声纹识别方法第三实施例。
[0085]
所述声纹识别方法第三实施例应用于云端服务器,包括以下步骤:
[0086]
步骤s30,获取一段时间内终端设备发送的历史语音数据;
[0087]
终端设备通过语音模块采集一段时间内用户端对终端设备的语音控制数据,该一段时间可以为设置的默认固定值,也可以由终端设备根据收集情况而灵活调整,将采集到的语音数据发送至云端服务器。云端服务器设有语音数据集,该语音数据集用于存储终端设备每次上传的语音数据,以供训练模型使用。
[0088]
一实施例中,为提高采集语音的质量,语音模块可设置至少两个麦克风,至少两个麦克风的位置不作具体限定,如,多个麦克风可设置在空调的同一水平线上,或者是在空调的四周设置一个或多个。其中,每个麦克风可单独上下摆动,并实现360
°
旋转,通过红外检测模块获取用户的位置,根据用户的位置调整麦克风采集语音的方向,如此,用户无论是处于终端设备的哪一位置,均可较好地采集到用户发出的语音信号,从而提高采集语音的质量。其中,麦克风可选用低功耗的麦克风,通过使用这种麦克风,可以达到节约能耗的目的。
[0089]
步骤s40,采用所述历史语音数据对预设模型进行训练得到声纹模型;
[0090]
本领域技术人员可以理解的是,在开始构建声纹模型之前需要把数据集进行划分,防止数据窥探偏误,也就是说避免了解太多关于测试集中的样本特点,防止用户挑选有助于测试集数据的模型,如此,测试结果会过于乐观,但是实际上并没有达到预期的期望。
[0091]
当历史语音数据的数据量达到一定阈值后,其中,该阈值可根据训练需求设置,如该阈值可设为100条历史语音数据。将该历史语音数据按照随机比例(如7:3)进行划分,划分后得到训练集、验证集,其中,训练集用于模型拟合的数据样本,验证集是模型训练过程中单独留出的样本集,它可以用于调整模型的超参数和用于对模型的能力进行初步评估。可选地,还可以将历史语音数据按照随机比例(如5:2.5:2.5)进行划分,划分后得到训练集、验证集和测试集,其中,测试集用来评估模最终模型的泛化能力。
[0092]
当完成历史语音数据的划分后,对训练集数据通过预加重、分帧、加窗以及端点检测等方法进行语音信号预处理,预处理目的是消除发声器官和语音采集设备的干扰,提高识别率。历史语音数据在进行分帧预处理操作后,得到x(m,n),其中m表示帧的个数,n表示帧长,基于公式对每一帧信号进行傅里叶变换,转为x(m,n),做周期图y(m,n),(y(m,n)=x(m,n)*x(m,n)'),对周期图进行取对数处理,取10*log10(y(m,n)),把m根据时间变换一下刻度m,n根据频率变化一下刻度n,最后将(m,n,10*log10y(m,n))生成二维语谱图。将生成的语谱图输入至卷积神经网络(convolutional neural networks,cnn)训练模型进行训练得到声纹模型,其中,卷积神经网络包括输入层、卷积层、池化层、全连接层和输出层,池化层采用平均池化,输出层采用softmax函数,采用bp算法对卷积神经网络进行训练。一实施例中,在训练过程中,可以采取以下方式:将第i个说话人的第j张语谱图对应的标签值标为i-1,将得到的语谱图送入cnn网络进行训练,其中语谱图输入维度为128
×
128,对应语谱图的长和高,然后将数据输入cnn网络,卷积核大小为5
×
5,卷积核数为100,池化层大小为2
×
2提取特征图内最明显的特征,此外,为防止语谱图中时序信息丢失,因此在进行池化操作时,只在频率上对信号进行池化。
[0093]
一实施例中,为确定训练得到的声纹模型是否正确,将测试集输入训练后的声纹模型中,若输出的测试结果满足预设条件,则完成声纹模型的训练,否则再次进行训练,直至测试结果满足预设条件为止。
[0094]
步骤s50,将训练得到的声纹模型发送至所述终端设备,以使所述终端设备根据所述声纹模型进行声纹识别。
[0095]
云端服务器与终端设备通过网络连接,如此,当云端服务器训练得到声纹模型时,自动将该声纹模型通过网络发送至终端设备,由终端设备将该声纹模型存储至本地,并基于该声纹模型进行声纹识别,以确定当前用户是否为注册声纹用户。
[0096]
本实施例通过接收终端设备发送的历史语音数据,对历史语音数据进行训练得到声纹模型,同时将该声纹模型发送至终端设备,以使终端设备基于该声纹模型进行声纹识别。如此,可及时更新终端设备本地存储的声纹模型,使得在离线状态下仍然可以使用声纹功能。
[0097]
进一步地,参考图5,提出本技术声纹识别方法第四实施例。
[0098]
声纹识别方法的第四实施例应用于云端服务器,所述声纹识别方法的第四实施例与第三实施例的区别在于,所述采用所述历史语音数据对预设模型进行训练得到声纹模型的步骤包括:
[0099]
步骤s41,当首次训练所述声纹模型时,采用所述历史语音数据对所述预设模型中的权值进行更新得到所述声纹模型;
[0100]
步骤s42,当不是首次训练所述声纹模型时,获取所述声纹模型的指标参数;
[0101]
步骤s43,在根据所述指标参数确定所述声纹模型的性能提升时,采用历史训练阈值对所述预设模型的训练阈值进行更新得到所述声纹模型。
[0102]
本领域技术人员可以理解的是,由卷积神经网络的结构可知,网络包含的参数有:卷积核、偏置项以及全连接网络的权值等,声纹模型的训练过程是参数的更新过程,训练完成后,得到一组固话的权值参数,作为本次训练完成的参数;在下次再训练时,也是不断更新参数,训练完后,得到新的一组固化参数,作为新模型的参数,每次训练的最优参数的基准采用最小均方误差损失函数进行判断,训练时,损失达到最小,并保持不变,说明是本次训练的参数最优。
[0103]
一实施例中,云端服务器在进行声纹模型的训练时,需要判断是否首次训练声纹模型,若是,则在训练时,采用最小均方误差损失函数更新声纹模型的权值,将更新后的参数保存在云端服务器,作为首次训练的新声纹模型;若不是首次训练声纹模型,则获取声纹模型的指标参数,该指标参数为评判声纹模型性能的参数,如准确率和召回率,其中,准确率是指是所有的预测正确(正类负类)的占总的比重,召回率是指正确预测为正的占全部实际为正的比例,也即真正正确的占所有实际为正的比例。进一步将准确率和召回率分别与上次一获取的准确率和召回率进行比较,若准确率大于上一次获取的准确率,召回率大于上一次获取的召回率,则说明准确率和召回率有提升,此时,获取前n次声纹模型的训练阈值,即历史训练阈值,计算前n次训练阈值的平均值,以该平均值作为新声纹模型的训练阈值。若准确率和召回率均没有提升,或者只有其中一个有提升,则不更新声纹模型,重新进行声纹模型的训练。其中,训练阈值是一个概率值,用于判断声纹识别结果,如,声纹模型识别的训练阈值为0.6,说明有60%的概率认为当前识别的用户为声纹用户,当基于声纹模型
计算出来的阈值为0.7,则认为当前的声纹识别结果正确。
[0104]
在本实施例中通过检测声纹模型是否为首次训练,若是,则直接更新声纹模型的权值;若否,则在准确率和召回率均有提升时,以前n次训练阈值的平均值作为新声纹模型的训练阈值,如此,提高了声纹模型训练的准确性。
[0105]
此外,本技术还提供一种声纹识别装置,所述装置包括存储器、处理器及存储在存储器上并在所述处理器上运行声纹识别程序,该声纹识别装置通过在离线混合声纹模型的方法,将在线训练得到声纹模型本地化,使得在离线的情况下也可以进行声纹识别,同时,当终端设备处于在线状态时,由云端服务器根据历史语音数据进行声纹模型训练,将训练得到的新的声纹模型部署至本地,实现对本地存储的声纹模型的更新,避免在离线状态下,由于计算资源的限制,导致离线声纹识别性能不佳的问题,达到了提高离线声纹识别性能的效果。
[0106]
此外,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有声纹识别方法程序,所述声纹识别方法程序被处理器执行时实现如上所述声纹识别方法的步骤。
[0107]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0108]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0109]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0110]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0111]
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本技术可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0112]
尽管已描述了本技术的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本技术范围的所有变更和修改。
[0113]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。

技术特征:


1.一种声纹识别方法,其特征在于,应用于终端设备,所述终端设备与云端服务器连接,所述方法包括:接收云端服务器发送的声纹模型,将所述声纹模型存储至本地,所述声纹模型是由所述云端服务器根据终端设备发送的历史语音数据进行训练得到的;当所述终端设备处于在线状态时,对所述本地存储的声纹模型进行更新,以通过存储的所述声纹模型对接收到的语音数据进行声纹识别。2.如权利要求1所述的声纹识别方法,其特征在于,所述对所述本地存储的声纹模型进行更新的步骤包括:接收所述云端服务器发送的更新指令,其中,当所述云端服务器检测到当前训练得到的声纹模型与所述本地存储的声纹模型不同时,向所述终端设备发送所述更新指令,所述更新指令中包含所述云端服务器训练得到的声纹模型;采用所述更新指令中的声纹模型更新存储的声纹模型。3.如权利要求1所述的声纹识别方法,其特征在于,所述对所述本地存储的声纹模型进行更新的步骤之后,包括:接收语音数据;调用存储的所述声纹模型对所述语音数据进行声纹识别,以得到所述语音数据对应的注册声纹用户。4.如权利要求3所述的声纹识别方法,其特征在于,所述调用存储的所述声纹模型对所述语音数据进行声纹识别的步骤包括:获取所述语音数据的语谱图;将所述语谱图输入所述声纹模型的卷积神经网络层对所述语谱图进行识别,以得到所述语音数据对应的注册声纹用户。5.如权利要求4所述的声纹识别方法,其特征在于,所述将所述语谱图输入所述声纹模型的卷积神经网络层对所述语谱图进行识别,以得到所述语音数据对应的注册声纹用户的步骤之后,所述调用存储的所述声纹模型对所述语音数据进行声纹识别的步骤,还包括:获取所述语音数据的语音特征参数;获取所述注册声纹用户对应的声纹模板参数和所述语音特征参数的欧式距离值;在所述欧式距离值小于所述参考欧式距离值时,确定所述注册声纹用户为所述语音数据对应的用户,所述参考欧式距离值为所述注册声纹用户的不同语音特征参数对应的平均值。6.如权利要求3所述的声纹识别方法,其特征在于,所述接收语音数据的步骤之后,包括:获取所述终端设备的网络状态;当所述终端设备处于在线状态时,将所述语音数据发送至所述云端服务器,以使所述云端服务器通过在线训练的声纹模型对所述语音数据进行声纹识别,以得到所述语音数据对应的注册声纹用户;当所述终端设备处于离线状态时,执行所述调用存储的所述声纹模型对所述语音数据进行声纹识别的步骤。7.一种声纹识别方法,其特征在于,应用于云端服务器,所述方法包括:
获取一段时间内终端设备发送的历史语音数据;采用所述历史语音数据对预设模型进行训练得到声纹模型;将训练得到的声纹模型发送至所述终端设备,以使所述终端设备根据所述声纹模型进行声纹识别。8.如权利要求7所述的声纹识别方法,其特征在于,所述采用所述历史语音数据对预设模型进行训练得到声纹模型的步骤包括:当首次训练所述声纹模型时,采用所述历史语音数据对所述预设模型中的权值进行更新得到所述声纹模型;当不是首次训练所述声纹模型时,获取所述声纹模型的指标参数;在根据所述指标参数确定所述声纹模型的性能提升时,采用历史训练阈值对所述预设模型的训练阈值进行更新得到所述声纹模型。9.如权利要求7所述的声纹识别方法,其特征在于,所述采用所述历史语音数据对预设模型进行训练得到声纹模型的步骤,还包括:获取所述历史语音数据的语谱图;将所述语谱图输入所述预设模型进行训练得到所述声纹模型,所述预设模型包括卷积神经网络层。10.一种声纹识别装置,其特征在于,所述装置包括存储器、处理器及存储在存储器上并在所述处理器上运行声纹识别程序,所述处理器执行所述声纹识别程序时实现如权利要求1至9中任一项所述的方法的步骤。11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有声纹识别程序,所述声纹识别程序被处理器执行时实现如权利要求1至9中任一项所述的方法的步骤。

技术总结


本申请公开了一种声纹识别方法、装置和计算机可读存储介质,声纹识别方法包括:接收云端服务器发送的声纹模型,将声纹模型存储至本地,声纹模型是由云端服务器根据终端设备发送的历史语音数据进行训练得到的;当终端设备处于在线状态时,对本地存储的声纹模型进行更新,以通过存储的所述声纹模型对接收到的语音数据进行声纹识别。通过将声纹模型部署至本地,实现本地化,当处于在线状态时,对本地存储的声纹模型进行更新,如此,避免了在离线状态下,由于计算资源的限制,导致离线声纹识别性能不佳的问题,达到了提高离线声纹识别性能的效果。效果。效果。


技术研发人员:

徐聪聪 霍伟明 张新健 徐浩 吴施烙

受保护的技术使用者:

广东美的制冷设备有限公司

技术研发日:

2021.05.21

技术公布日:

2022/11/22

本文发布于:2024-09-20 14:23:26,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/797.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   模型   语音   终端设备
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议