更新声纹数据的语音识别方法、终端装置及存储介质与流程

文档序号:14912864发布日期:2018-07-10 23:54阅读:114来源:国知局
本发明涉及语音识别领域,尤其涉及一种更新声纹数据的语音识别方法、终端装置及存储介质。
背景技术
::目前传统的声纹注册识别方法中,一般包括如下几个步骤:1.特征提取,在获得用户注册语音数据后,对数据进行声音特征的提取。2.生成鉴别向量。3.比对验证,声纹库中保留用户注册时的特征向量(i-vector),每次验证时,验证语音提取的i-vector与注册时i-vector进行比较,即利用预先确定的余弦距离公式计算当前鉴别向量与用户对应的注册向量之间的距离,若距离在设定的阈值范围内,则认为两个i-vector为同一人的语音所产生,即验证成功;否则返回失败。然而,在这种传统的注册验证下,每次比对时,对比的鉴别向量皆为用户第一次注册语音时生成的鉴别向量。随时间变化,用户声音可能因年龄、身体状况、环境等因素发生改变,每次验证时使用注册时的i-vector进行比较,可能导致验证失败。技术实现要素:有鉴于此,本发明提出一种更新声纹数据的语音识别方法、终端装置及存储介质,通过实施上述方式,可以提升后续声纹验证准确率,且能适应注册人随时间波动的声音变化。首先,为实现上述目的,本发明提出一种终端装置,所述终端装置包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的更新声纹数据的语音识别程序,所述更新声纹数据的语音识别程序被所述处理器执行时实现如下步骤:注册预设数目的用户注册语音,并计算所述预设数目的用户注册语音中的每条用户注册语音的特征语音向量;将所述每条用户注册语音的特征语音向量进行两两比对打分,并获取第一打分平均值作为第一阈值;获取验证语音,并计算所述验证语音的特征语音向量;将所述验证语音的特征语音向量分别和注册语音的特征语音向量进行两两比对打分,并获取第二打分平均值;判断所述第二打分平均值是否大于第二阈值,所述第二阈值为所述第一阈值加一预设值;及若所述第二打分平均值大于所述第二阈值,则根据所述验证语音更新注册语音。可选地,所述计算所述预设数目的用户注册语音中的每条用户注册语音的特征语音向量的步骤,包括:使用MFCC方法提取每一份语音中每帧语音的MFCC特征并组成一个矩阵;及使用UBM和特征语音向量提取器筛选出所述矩阵中最核心的特征,组成所述特征语音向量。可选地,所述根据所述验证语音更新所述预设数目的用户注册语音的步骤,还包括:判断所述第二打分平均值是否大于第三阈值,所述第三阈值大于所述第二阈值;及将所述第二打分平均值大于所述第三阈值的所述验证语音更新到所述注册语音中,并根据更新后的所述注册语音进行注册。可选地,所述第三阈值通过如下步骤确定:选取所有所述第二打分平均值高于所述第二阈值的验证语音,并计数为N;将选取后的验证语音对应的所述第二打分平均值进行由高到低排序;及选取第N/3的第二打分平均值作为所述第三阈值。此外,为实现上述目的,本发明还提供一种更新声纹数据的语音识别方法,应用于终端装置,所述方法包括:注册预设数目的用户注册语音,并计算所述预设数目的用户注册语音中的每条用户注册语音的特征语音向量;将所述每条用户注册语音的特征语音向量进行两两比对打分,并获取第一打分平均值作为第一阈值;获取验证语音,并计算所述验证语音的特征语音向量;将所述验证语音的特征语音向量分别和注册语音的特征语音向量进行两两比对打分,并获取第二打分平均值;判断所述第二打分平均值是否大于第二阈值,所述第二阈值为所述第一阈值加一预设值;及若所述第二打分平均值大于所述第二阈值,则根据所述验证语音更新注册语音。可选地,所述计算所述预设数目的用户注册语音中的每条用户注册语音的特征语音向量的步骤,包括:使用MFCC方法提取每一份语音中每帧语音的MFCC特征并组成一个矩阵;及使用UBM和特征语音向量提取器筛选出所述矩阵中最核心的特征,组成所述特征语音向量。可选地,所述将所述每条用户注册语音的特征语音向量进行两两比对打分的步骤,包括:利用向量点积算法和PLDA算法对所述每一份语音的特征语音向量进行两两对比打分。可选地,所述根据所述验证语音更新所述预设数目的用户注册语音的步骤,还包括:判断所述第二打分平均值是否大于第三阈值,所述第三阈值大于所述第二阈值;及将所述第二打分平均值大于所述第三阈值的所述验证语音更新到所述注册语音中,并根据更新后的所述注册语音进行注册。可选地,所述第三阈值通过如下步骤确定:选取所有所述第二打分平均值高于所述第二阈值的验证语音,并计数为N;将选取后的验证语音对应的所述第二打分平均值进行由高到低排序;及选取第N/3的第二打分平均值作为所述第三阈值。进一步地,为实现上述目的,本发明还提供一种存储介质,所述存储介质存储有更新声纹数据的语音识别程序,所述更新声纹数据的语音识别程序可被至少一个处理器执行,以使所述至少一个处理器执行如上所述的更新声纹数据的语音识别方法的步骤。相较于现有技术,本发明所提出的更新声纹数据的语音识别方法、终端装置及存储介质,首先,注册预设数目的用户注册语音,并计算所述预设数目的用户注册语音中的每条用户注册语音的特征语音向量;其次,将所述每条用户注册语音的特征语音向量进行两两比对打分,并获取第一打分平均值作为第一阈值;接着,获取验证语音,并计算所述验证语音的特征语音向量;然后,将所述验证语音的特征语音向量和注册语音的特征语音向量进行两两比对打分,并获取第二打分平均值;进一步地,判断所述第二打分平均值是否大于第二阈值,所述第二阈值大于所述第一阈值;最后,若所述第二打分平均值大于所述第二阈值,则根据所述验证语音更新所述预设数目的用户注册语音。这样,可以解决现有语音识别方法中随时间变化,用户声音可能因年龄、身体状况、环境等因素发生改变,每次验证时使用注册时的i-vector进行比较,可能导致验证失败的弊端,进而可以在用户每次验证时,都将按照对比和更新的流程进行,即每次符合要求的验证通过,用户在声纹库中的注册信息都将进行更新,可以提升后续声纹验证准确率,且能适应注册人随时间波动的声音变化。附图说明图1是本发明较佳实施例之终端装置的运行环境图;图2是本发明更新声纹数据的语音识别程序一实施例的程序模块图;图3为本发明更新声纹数据的语音识别程序一实施例的流程图;本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。终端装置可以以各种形式来实施。例如,本发明中描述的终端装置可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(PersonalDigitalAssistant,PDA)、便捷式媒体播放器(PortableMediaPlayer,PMP)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字TV、台式计算机等固定终端。后续描述中将以移动终端为例进行说明,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。参阅图1所示,是本发明较佳实施例之终端装置100的运行环境图。电子装置100还包括更新声纹数据的语音识别程序300、存储器20、处理器30和感测单元40等。所述感测单元40可以是各种感测用户语音的传感器,主要用于获取验证语音。所述存储器20至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。所述处理器30可以是中央处理器(CentralProcessingUnit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片等。基于上述终端装置100的运行环境图,提出本发明方法各个实施例。首先,本发明提出一种更新声纹数据的语音识别程序300。参阅图2所示,是本发明更新声纹数据的语音识别程序300第一实施例的程序模块图。本实施例中,所述的更新声纹数据的语音识别程序300包括一系列的存储于存储器109上的计算机程序指令,当该计算机程序指令被处理器110执行时,可以实现本发明各实施例的更新声纹数据的语音识别操作。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,所述更新声纹数据的语音识别程序300可以被划分为一个或多个模块。例如,在图2中,所述的更新声纹数据的语音识别程序300可以被分割成注册模块301、第一比对模块302、获取模块303、第二比对模块304、判断模块305以及更新模块306。其中:所述注册模块301,用于注册预设数目的注册语音,并计算所述预设数目的注册语音中的每条注册语音的特征语音向量。例如,所述注册模块301注册N条注册语音。本实施例中,所述的更新声纹数据的语音识别程序300存储于终端装置100,本实施例的终端装置100可以为具有语音识别功能的任何一个终端,比如手机,便携式电脑、个人数字助理、银行支付终端、门禁设备等等,这些设备通过语音识别技术可以去实现一些具体的功能和应用。另外,终端装置100获取用户进行语音注册时的有效语音,可以从用户点击语音录入的时候开始获取,一直到用户停止语音录入,如此可以避免一些不必要的噪音干扰,提高待处理语音样本的纯净度。另外,上述N条注册语音优选为3条注册语音,当然根据需要,N也可以选择为其他合适的正整数。本实施例中,所述注册模块301通过以下方式分别计算所述预设数目的注册语音中的每条注册语音的特征语音向量:所述注册模块301使用梅尔频率倒谱系数MFCC方法提取每一份语音中每帧语音的MFCC特征并组成一个矩阵,并使用通用背景模型(UBM)和特征语音向量(i-vector)提取器(extractor)筛选出所述矩阵中最核心的特征,组成所述特征语音向量。其中,MFCC是Mel-FrequencyCepstralCoefficients的缩写,包含两个关键步骤:转化到梅尔频率,然后进行倒谱分析。在本实施方式中,先对每一份语音进行语音分帧,获取多个帧的语音频谱;再将上述获取的频谱通过Mel滤波器组得到Mel频谱,其中Mel滤波器组可以将不统一的频率转化到统一的频率;最后在Mel频谱上面进行倒谱分析,获得Mel频率倒谱系数MFCC,这个MFCC就是这帧语音的特征,其中所谓倒谱分析即为对Mel频谱取对数,再做逆变换,其中实际逆变换一般是通过DCT离散余弦变换来实现,并取DCT后的第2个到第13个系数作为MFCC系数。如此,将每一帧语音的MFCC组成一个向量矩阵,并通过背景模型(UBM)和特征语音向量(i-vector)提取器(extractor)筛选出所述矩阵中最核心的向量,将该向量作为所述语音的特征语音向量,其中通过背景模型(UBM)和特征语音向量(i-vector)提取器(extractor)筛选出所述矩阵中最核心的向量属于向量矩阵计算的现有计算方法,本文便不再多做赘述。所述第一比对模块302,用于将所述每条注册语音的特征语音向量进行两两比对打分,并获取第一打分平均值作为第一阈值。具体地,所述第一比对模块302利用向量点积(dot-product)算法和PLDA算法对所述每一份语音的特征语音向量进行两两对比打分。在本实施方式中,向量点积算法和PLDA算法为一种现有算法,本文便不多做赘述。所述获取模块303,用于获取验证语音,并计算所述验证语音的特征语音向量。在本实施方式中,获取模块303在获取验证语音后,同样是利用上述MFCC算法和UBM模型及向量提取器计算出验证语音的特征语音向量。所述第二比对模块304,用于将所述验证语音的特征语音向量分别和注册语音的特征语音向量进行两两比对打分,并获取第二打分平均值。在本实施方式中,通过将验证语音的特征语音向量分别与多个注册语音的特征语音向量进行两两比对打分,进而获取多个相应的第二打分值,并对多个第二打分值取平均值获得第二打分平均值。在本实施方式中,所述注册模块301注册了预设数目的注册语音,比如注册了3条注册语音,此时注册语音相应的特征语音向量即为包括3条语音特征向量的特征语音向量组。此时对于在语音验证的过程中,获取的验证语音只有一条,同时也存在着一条验证语音的特征语音向量。第二比对模块304将所述验证语音的特征语音向量分别和注册语音的特征语音向量进行两两比对打分的过程,具体就是将获取的一条验证语音分别和注册语音的特征语音向量组中的3条特征语音向量分别进行比对打分,得到三个打分值,对三个打分值进行平均进而获取第二打分平均值。所述判断模块305,用于判断所述第二打分平均值是否大于第二阈值。本实施例中,所述第二阈值为所述第一阈值加一预设值。在本实施方式中,第二阈值大于第一阈值,其相差的预设值可以根据用户在反复实验中根据实际情况自定义设定,本发明并不对此预设值大小进行限制。所述更新模块306,用于在所述第二打分平均值大于所述第二阈值时,根据所述验证语音更新注册语音。本实施例中,所述更新模块306通过以下方式更新注册语音:所述更新模块306还进一步判断所述第二打分平均值是否大于第三阈值,所述第三阈值大于所述第二阈值。所述更新模块306将所述第二打分平均值大于所述第三阈值的所述验证语音更新到所述注册语音中,并根据更新后的所述注册语音进行注册。其中,第三阈值可以通过如下步骤确定:所述更新模块306首先,选取所有所述第二打分平均值高于第二阈值的验证语音,并计数为N,然后,将选取后的验证语音对应的所述第二打分平均值进行由高到低排序;最后,选取第N/3的第二打分平均值作为所述第三阈值。通过利用不断验证过程中验证语音对应的第二打分平均值动态设定第三阈值,进而根据第三阈值动态的更新注册语音,及保证注册语音可以根据用户不同时期的变化而产生变化。需要说明的是,上述第一阈值、第二阈值、第三阈值的大小关系分别为第一阈值小于第二阈值,第二阈值小于第三阈值,其中第一阈值也就是第一打分平均值实质上是注册语音之间的一个平均差值,而第二打分平均值实质上反应了验证语音与注册语音的一个差值,如果此时验证语音与注册语音的一个差值比注册语音之间的一个平均差值还大了一个预设值,说明此时验证语音与之前的注册语音的差距比较大,此时就需要对注册语音进行更新。更进一步的,在第二阈值的基础上进一步设定一个第三阈值,可以进一步筛选出与注册语音明显差异的验证语音,进而根据此类验证语音更新注册语音。通过执行上述程序模块301-306,可以解决现有语音识别方法中随时间变化,用户声音可能因年龄、身体状况、环境等因素发生改变,每次验证时使用注册时的i-vector进行比较,可能导致验证失败的弊端,进而可以在用户每次验证时,都将按照对比和更新的流程进行,即每次符合要求的验证通过,用户在声纹库中的注册信息都将进行更新,可以提升后续声纹验证准确率,且能适应注册人随时间波动的声音变化。此外,本发明还提出一种更新声纹数据的语音识别方法。参阅图3所示,是本发明更新声纹数据的语音识别方法第一实施例的实施流程示意图。在本实施例中,根据不同的需求,图3所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。步骤S401,注册预设数目的注册语音,并计算所述预设数目的注册语音中的每条注册语音的特征语音向量。例如,所述终端装置100注册N条注册语音。本实施例中,所述的更新声纹数据的语音识别方法存储于终端装置100,本实施例的终端装置100可以为具有语音识别功能的任何一个终端,比如手机,便携式电脑、个人数字助理、银行支付终端、门禁设备等等,这些设备通过语音识别技术可以去实现一些具体的功能和应用。另外,终端装置100获取用户进行语音注册时的有效语音,可以从用户点击语音录入的时候开始获取,一直到用户停止语音录入,如此可以避免一些不必要的噪音干扰,提高待处理语音样本的纯净度。另外,上述N条注册语音优选为3条注册语音,当然根据需要,N也可以选择为其他合适的正整数。本实施例中,所述终端装置100通过以下方式分别计算所述预设数目的注册语音中的每条注册语音的特征语音向量:所述终端装置100使用梅尔频率倒谱系数MFCC方法提取每一份语音中每帧语音的MFCC特征并组成一个矩阵,并使用通用背景模型(UBM)和特征语音向量(i-vector)提取器(extractor)筛选出所述矩阵中最核心的特征,组成所述特征语音向量。其中,MFCC是Mel-FrequencyCepstralCoefficients的缩写,包含两个关键步骤:转化到梅尔频率,然后进行倒谱分析。在本实施方式中,先对每一份语音进行语音分帧,获取多个帧的语音频谱;再将上述获取的频谱通过Mel滤波器组得到Mel频谱,其中Mel滤波器组可以将不统一的频率转化到统一的频率;最后在Mel频谱上面进行倒谱分析,获得Mel频率倒谱系数MFCC,这个MFCC就是这帧语音的特征,其中所谓倒谱分析即为对Mel频谱取对数,再做逆变换,而逆变换实际一般是通过DCT离散余弦变换来实现,并取DCT后的第2个到第13个系数作为MFCC系数。如此,将每一帧语音的MFCC组成一个向量矩阵,并通过背景模型(UBM)和特征语音向量(i-vector)提取器(extractor)筛选出所述矩阵中最核心的向量,将该向量作为所述语音的特征语音向量,其中通过背景模型(UBM)和特征语音向量(i-vector)提取器(extractor)筛选出所述矩阵中最核心的向量属于向量矩阵计算的现有数据算法,本文便不再多做赘述。步骤S402,将所述每条注册语音的特征语音向量进行两两比对打分,并获取第一打分平均值作为第一阈值。具体地,所述终端装置100利用向量点积(dot-product)算法和PLDA算法对所述每一份语音的特征语音向量进行两两对比打分。在本实施方式中,向量点积算法和PLDA算法为一种现有算法,本文便不多做赘述。步骤S403,获取验证语音,并计算所述验证语音的特征语音向量。在本实施方式中,获取模块303在获取验证语音后,同样是利用上述MFCC算法和UBM模型及向量提取器计算出验证语音的特征语音向量。步骤S404,将所述验证语音的特征语音向量分别和注册语音的特征语音向量进行两两比对打分,并获取第二打分平均值。通过将验证语音的特征语音向量分别与多个注册语音的特征语音向量进行两两比对打分,进而获取多个相应的第二打分值,并对多个第二打分值取平均值获得第二打分平均值。在本实施方式中,所述注册模块301注册了预设数目的注册语音,比如注册了3条注册语音,此时注册语音相应的特征语音向量即为包括3条语音特征向量的特征语音向量组。此时对于在语音验证的过程中,获取的验证语音只有一条,同时也存在着一条验证语音的特征语音向量。第二比对模块304将所述验证语音的特征语音向量分别和注册语音的特征语音向量进行两两比对打分的过程,具体就是将获取的一条验证语音分别和注册语音的特征语音向量组中的3条特征语音向量分别进行比对打分,得到三个打分值,对三个打分值进行平均进而获取第二打分平均值。步骤S405,判断所述第二打分平均值是否大于第二阈值。本实施例中,所述第二阈值为所述第一阈值加一预设值。在所述第二打分平均值大于所述第二阈值时,执行步骤S406,否则,结束流程。在本实施方式中,第二阈值大于第一阈值,其相差的预设值可以根据用户在反复实验中根据实际情况自定义设定,本发明并不对此预设值大小进行限制。步骤S406,根据所述验证语音更新注册语音。本实施例中,所述终端装置100进一步通过以下方式更新注册语音:所述终端装置100首先判断所述第二打分平均值是否大于第三阈值,其中,所述第三阈值大于所述第二阈值。然后,所述终端装置100将所述第二打分平均值大于所述第三阈值的所述验证语音更新到所述注册语音中,并根据更新后所述注册语音进行注册。在本实施方式中,所述第三阈值通过如下步骤进行确定:所述终端装置100首先,选取所有所述第二打分平均值高于第二阈值的验证语音,并计数为N,然后,将选取的所述验证语音对应的所述第二打分平均值进行由高到低排序;最后,选取第N/3的第二打分平均值作为所述第三阈值。通过利用不断验证过程中验证语音对应的第二打分平均值动态设定第三阈值,进而根据第三阈值动态的更新注册语音,及保证注册语音可以根据用户不同时期的变化而产生变化。需要说明的是,上述第一阈值、第二阈值、第三阈值的大小关系分别为第一阈值小于第二阈值,第二阈值小于第三阈值,其中第一阈值也就是第一打分平均值实质上是注册语音之间的一个平均差值,而第二打分平均值实质上反应了验证语音与注册语音的一个差值,如果此时验证语音与注册语音的一个差值比注册语音之间的一个平均差值还大了一个预设值,说明此时验证语音与之前的注册语音的差距比较大,此时就需要对注册语音进行更新。更进一步的,在第二阈值的基础上进一步设定一个第三阈值,可以进一步筛选出与注册语音明显差异的验证语音,进而根据此类验证语音更新注册语音。通过上述步骤S401-406,本发明所提出的更新声纹数据的语音识别方法,可以解决现有语音识别方法中随时间变化,用户声音可能因年龄、身体状况、环境等因素发生改变,每次验证时使用注册时的i-vector进行比较,可能导致验证失败的弊端,进而可以在用户每次验证时,都将按照对比和更新的流程进行,即每次符合要求的验证通过,用户在声纹库中的注册信息都将进行更新,可以提升后续声纹验证准确率,且能适应注册人随时间波动的声音变化。本发明还提供了另一种实施方式,即提供一种存储介质,所述存储介质存储有更新声纹数据的语音识别程序,所述更新声纹数据的语音识别程序可被至少一个处理器执行,以使所述至少一个处理器执行如上所述的更新声纹数据的语音识别方法的步骤。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
:,均同理包括在本发明的专利保护范围内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1