CN116153291A - 一种语音识别方法及设备 - Google Patents

一种语音识别方法及设备 Download PDF

Info

Publication number
CN116153291A
CN116153291A CN202111389446.4A CN202111389446A CN116153291A CN 116153291 A CN116153291 A CN 116153291A CN 202111389446 A CN202111389446 A CN 202111389446A CN 116153291 A CN116153291 A CN 116153291A
Authority
CN
China
Prior art keywords
feature vector
voice
segment
data
voice segment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111389446.4A
Other languages
English (en)
Inventor
杨仁志
江继勇
俞清华
张少永
张建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Device Co Ltd
Original Assignee
Huawei Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Device Co Ltd filed Critical Huawei Device Co Ltd
Priority to CN202111389446.4A priority Critical patent/CN116153291A/zh
Publication of CN116153291A publication Critical patent/CN116153291A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • G10L15/05Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请实施例涉及一种语音识别方法,包括:获取麦克风采集到的音频数据。对获取到的音频数据进行语音端点检测,确定出人声片段。针对人声片段提取嵌入特征向量。将嵌入特征向量与特征向量数据库中的数据依次进行相似度对比。若嵌入特征向量与特征向量数据库中每一项数据的相似度均小于预先设定的相似度阈值,则将该嵌入特征向量存储至特征向量数据库中。并对嵌入特征向量对应的人声片段进行自动语音识别,以执行相应的指令。本申请可以通过特征向量数据库中存储的数据匹配到多个不同说话人,从而达到有效应对存在不同说话人时进行语音识别的情况。

Description

一种语音识别方法及设备
技术领域
本申请涉及电子技术领域,尤其涉及一种语音识别方法及终端设备。
背景技术
语音端点检测(voice activity detection,VAD),也可称为语音边界检测,其主要用于识别出一段音频中哪些部分没有说话声,哪些部分存在说话声。其中,没有说话声的部分也可以称为静音期,该部分可以仅包含噪声等。当通过VAD进行检测后,可以有效消除音频中的静音期。在例如网际互联协议(internet protocol,IP)通话或是自动语音识别(automatic speech recognition,ASR)技术中,可以通过VAD可以识别并消除长时间的静音期,以达到不降低业务质量的情况下节省资源。该方式可以节省宝贵的计算资源,有利于减少用户感到端到端的时延。
目前的VAD技术通常应用于语音识别***中,负责从带有噪音的音频数据中准确地定位出语音的开始和结束点。因此,VAD的好坏将直接影响检测结果的效果。正如图1所示出的,当前VAD主要可以采用两种不同方式进行,如门限比较和统计分类两大类。对于采用门限比较这类方式的VAD,具体还可以包括采用单一特征门限进行比较,以及采用多特征门限进行比较。但是目前的VAD方案中采用基于门限进行检测,若音频中的噪声较为复杂时,例如包含播报音乐、播报电子书、多人说话、车载风噪等杂音,则很难对音频进行人声、噪音的识别,显然导致检测结果非常不准。
对于采用统计分类这类方式的VAD,具体还可以包括采用监督分类模型和采用无监督分类模型。在一些方案中,采用监督分类模型可以包括采用支持向量机和采用神经网络。而在另一些方案中,采用无监督分类模型可以包括采用混合高斯模型和采用隐马尔可夫模型。而对于采用了统计分类的VAD,目前方案通常是进行二元分类,也就是说,仅能针对人声片段进行划分,而无法识别到这些人声片段具体是哪些人的。在一些方案中,或是只能识别出某一个人的人声片段,无法应对不同人的语音识别。
因此,目前亟需可以有效识别音频中不同人说话的方案。
发明内容
本申请实施例提供了一种语音识别方法,通过对获取到的音频数据进行VAD划分出人声片段。之后对人声片段进行特征提取后与特征向量数据库中预存的数据进行比对,如果均匹配失败,则可以将该人声片段的特征存储至特征向量数据库中。以便后续进行语音识别时,可以匹配到多个不同说话人,从而达到有效应对存在不同说话人进行语音识别的场景。
第一方面,提供了一种语音识别方法,该方法可以应用于终端设备,方法可以包括:获取麦克风采集到的音频数据。在一些例子中,该音频数据也可以是其它设备采集并发送至该终端设备上的。然后,对获取到的音频数据进行语音端点检测,确定出至少一个人声片段。之后,针对人声片段进行特征提取,确定出该人声片段的嵌入特征向量。在一些例子中,可以针对每个人声片段进行特征提取。然后,将人声片段的嵌入特征向量与特征向量数据库中的数据依次进行相似度对比。可以理解的是,特征向量数据库中存储有一个或多个说话人对应的嵌入特征向量。当然,首次使用时,特征向量数据库中可以不存在数据,此时相似度对比结果可以是0。若嵌入特征向量与特征向量数据库中每一项数据的相似度均小于预先设定的相似度阈值,则该嵌入特征向量存储至特征向量数据库中。之后,对嵌入特征向量对应的人声片段进行自动语音识别,以执行相应的指令。本申请通过对获取到的音频数据进行VAD划分出人声片段,之后进行特征提取后与特征向量数据库中预存的数据进行比对。如果均匹配失败,则可以将该人声片段的特征存储至特征向量数据库中。以便后续进行语音识别时,可以通过特征向量数据库中存储的数据匹配到多个不同说话人,从而达到有效应对存在不同说话人时进行语音识别的情况。
在一个可能的实施方式中,对音频数据进行语音端点检测,确定至少一个人声片段,可以包括:将音频数据输入至包含至少一个长短期记忆人工神经网络(long short-term memory,LSTM)的语音端点检测模型中进行检测,从而确定出至少一个人声片段。本申请,通过采用包含至少一个LSTM的VAD进行检测,相比现有的VAD可以对人声片段划分的更为准确,从而保障后续特征提取时可以提取到更有效的嵌入特征向量。
在一个可能的实施方式中,包含至少一个LSTM的语音端点检测模型中可以包括:至少6层一维卷积神经网络以及至少3层128节点的单向LSTM。
在一个可能的实施方式中,针对人声片段进行特征提取,可以包括:针对人声片段,可以通过该人声片段和与该人声片段相邻的静音片段相结合,确定出该人声片段的信噪比。其中,静音片段可以为音频数据进行语音端点检测得到的或预先配置的。若信噪比大于预设的信噪比阈值,则可以对人声片段进行特征提取。本申请中,通过对人声片段进行信噪比检测,以便可以筛选出干扰小的人声片段进行后续的特征提取,保障了特征提取时可以提取到更为有效的嵌入特征向量。
在一个可能的实施方式中,结合与人声片段相邻的静音片段,确定人声片段的信噪比,可以包括:从人声片段中确定预设时长的片段作为信号片段,以及从与该人声片段相邻的静音片段中确定预设时长的片段作为噪音片段。然后,可以根据信号片段和噪音片段确定出该人声片段的信噪比。
在一个可能的实施方式中,预设时长可以为320毫秒。
在一个可能的实施方式中,确定人声片段的嵌入特征向量,可以包括:将人声片段输入至包含多个隐藏层的嵌入特征提取模型中进行特征提取,从而可以确定出该人声片段的嵌入特征向量。本申请通过包含多个隐藏层的嵌入特征提取模型对人声片段进行特征提取,使得提取出的特征可以更有效的识别到相对应的说话人。
在一个可能的实施方式中,嵌入特征提取模型可以包括至少4个隐藏层。本申请的嵌入特征提取模型中包含至少4个隐藏层,可以保障提取出的嵌入特征向量对说话人可以更好的进行表征。
在一个可能的实施方式中,在将嵌入特征向量存储至特征向量数据库之前,方法还可以包括:将嵌入特征向量对应的人声片段输入至检测指令模型中进行检测。若检测到嵌入特征向量对应的人声片段中包含有指令,则该人声片段对应的嵌入特征向量存储至特征向量数据库中。本申请通过对嵌入特征向量进行执行检测,从而避免了不存在指令的嵌入特征向量被保存至特征向量数据库中,减少资源浪费。
在一个可能的实施方式中,方法还可以包括:若嵌入特征向量与特征向量数据库中的任意一项数据的相似度大于或等于相似度阈值,则可以对嵌入特征向量对应的人声片段进行自动语音识别,以便可以根据语音识别结果执行相应的指令。本申请中当人声片段的嵌入特征向量与特征向量数据库中的某个数据相似度较高时,可以认定匹配成功,从而确定识别出了该说话人,然后可以对该说话人的语音进行ASR并执行相应的指令。
在一个可能的实施方式中,特征向量数据库中的每一项数据对应有匹配成功次数,特征向量数据库中的每一项数据根据匹配成功次数可以由大到小依次排序。方法还可以包括:若嵌入特征向量与特征向量数据库中任意一项数据的相似度大于或等于相似度阈值,则可以进一步确定该数据是否位于上述排序的前n个。其中,n为正整数。当该数据属于上述排序的前n个时,可以对嵌入特征向量对应的人声片段进行自动语音识别,以便可以根据语音识别结果执行相应的指令。本申请中还可以根据特征向量数据库中各个数据的匹配成功次数,确定是否将本次匹配成功的人声片段进行ASR。避免了在匹配次数较少的情况下进行ASR从而导致的用户体验下降情况。
在一个可能的实施方式中,方法还可以包括:若嵌入特征向量与特征向量数据库中任意一项数据的相似度大于或等于相似度阈值,则可以对该数据对应的匹配成功次数进行加一。并且可以再次按照由大到小对特征向量数据库中的每一项数据依次排序。本申请还可以在匹配成功后,对相应数据的匹配成功次数进行加一,从而可以保障动态更新特征向量数据库中允许执行ASR的数据。
在一个可能的实施方式中,方法还可以包括:若人声片段的信噪比小于或等于信噪比阈值,则可以对人声片段进行自动语音识别,并根据语音识别结果执行相应的指令。本申请中,当人声片段信号干扰较强时,则可以直接进行ASR并执行相应指令,不再进行特征提取,从而避免从信号质量不好的人声片段中提取说话人特征,保障了特征向量数据库中的数据均为较好嵌入特征向量。
第二方面,提供了一种用于语音识别的终端设备,终端设备包括:处理器用于与存储器耦合,以及读取并执行存储在存储器中的指令。当处理器运行时执行指令,使得处理器用于获取麦克风采集到的音频数据。对音频数据进行语音端点检测,确定至少一个人声片段;针对人声片段进行特征提取,以确定人声片段的嵌入特征向量。在一些例子中,可以针对每个人声片段进行特征提取。之后,将嵌入特征向量与特征向量数据库中的数据依次进行相似度对比,若嵌入特征向量与特征向量数据库中每一项数据的相似度均小于相似度阈值,则将嵌入特征向量存储至特征向量数据库中,并对嵌入特征向量对应的人声片段进行自动语音识别,以执行相应的指令。本申请通过对获取到的音频数据进行VAD划分出人声片段,之后进行特征提取后与特征向量数据库中预存的数据进行比对。如果均匹配失败,则可以将该人声片段的特征存储至特征向量数据库中。以便后续进行语音识别时,可以通过特征向量数据库中存储的数据匹配到多个不同说话人,从而达到有效应对存在不同说话人时进行语音识别的情况。
在一个可能的实施方式中,处理器还用于:将音频数据输入至包含至少一个LSTM的语音端点检测模型中进行检测,确定出至少一个人声片段。本申请,通过采用包含至少一个LSTM的VAD进行检测,相比现有的VAD可以对人声片段划分的更为准确,从而保障后续特征提取时可以提取到更有效的嵌入特征向量。
在一个可能的实施方式中,包含至少一个LSTM的语音端点检测模型中包括:至少6层一维卷积神经网络以及至少3层128节点的单向LSTM。
在一个可能的实施方式中,处理器还用于:针对人声片段,结合与人声片段相邻的静音片段,确定人声片段的信噪比,其中,静音片段为音频数据进行语音端点检测得到的或预先配置的;若信噪比大于预设的信噪比阈值,则对人声片段进行特征提取。本申请中,通过对人声片段进行信噪比检测,以便可以筛选出干扰小的人声片段进行后续的特征提取,保障了特征提取时可以提取到更为有效的嵌入特征向量。
在一个可能的实施方式中,处理器还用于:从人声片段中确定预设时长的片段作为信号片段,以及从与人声片段相邻的静音片段中确定预设时长的片段作为噪音片段;根据信号片段和噪音片段确定人声片段的信噪比。
在一个可能的实施方式中,预设时长为320毫秒。
在一个可能的实施方式中,处理器还用于:将人声片段输入至包含多个隐藏层的嵌入特征提取模型中进行特征提取,以确定出人声片段的嵌入特征向量。本申请通过包含多个隐藏层的嵌入特征提取模型对人声片段进行特征提取,使得提取出的特征可以更有效的识别到相对应的说话人。
在一个可能的实施方式中,嵌入特征提取模型包括至少4个隐藏层。本申请的嵌入特征提取模型中包含至少4个隐藏层,可以保障提取出的嵌入特征向量对说话人可以更好的进行表征。
在一个可能的实施方式中,处理器还用于:若嵌入特征向量与特征向量数据库中每一项数据的相似度均小于相似度阈值,将嵌入特征向量对应的人声片段输入至检测指令模型中进行检测;若检测到嵌入特征向量对应的人声片段中包含指令,则将嵌入特征向量存储至特征向量数据库。本申请通过对嵌入特征向量进行执行检测,从而避免了不存在指令的嵌入特征向量被保存至特征向量数据库中,减少资源浪费。
在一个可能的实施方式中,处理器还用于:若嵌入特征向量与特征向量数据库中任意一项数据的相似度大于或等于相似度阈值,则对嵌入特征向量对应的人声片段进行自动语音识别,并根据语音识别结果执行相应的指令。本申请中当人声片段的嵌入特征向量与特征向量数据库中的某个数据相似度较高时,可以认定匹配成功,从而确定识别出了该说话人,然后可以对该说话人的语音进行ASR并执行相应的指令。
在一个可能的实施方式中,特征向量数据库中的每一项数据对应有匹配成功次数,特征向量数据库中的每一项数据根据匹配成功次数由大到小依次排序;处理器还用于:若嵌入特征向量与特征向量数据库中任意一项数据的相似度大于或等于相似度阈值,则确定该数据是否位于排序的前n个,其中,n为正整数;当该数据属于排序的前n个,对嵌入特征向量对应的人声片段进行自动语音识别,并根据语音识别结果执行相应的指令。本申请中还可以根据特征向量数据库中各个数据的匹配成功次数,确定是否将本次匹配成功的人声片段进行ASR。避免了在匹配次数较少的情况下进行ASR从而导致的用户体验下降情况。
在一个可能的实施方式中,处理器还用于:若嵌入特征向量与特征向量数据库中任意一项数据的相似度大于或等于相似度阈值,则对该数据对应的匹配成功次数进行加一,并再次按照由大到小对特征向量数据库中的每一项数据依次排序。本申请还可以在匹配成功后,对相应数据的匹配成功次数进行加一,从而可以保障动态更新特征向量数据库中允许执行ASR的数据。
在一个可能的实施方式中,处理器还用于:若人声片段的信噪比小于或等于信噪比阈值,则对人声片段进行自动语音识别,并根据语音识别结果执行相应的指令。本申请中,当人声片段信号干扰较强时,则可以直接进行ASR并执行相应指令,不再进行特征提取,从而避免从信号质量不好的人声片段中提取说话人特征,保障了特征向量数据库中的数据均为较好嵌入特征向量。
第三方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在终端设备上运行时,使得终端设备执行如第一方面中的任意一项方法。
第四方面,提供了一种包含指令的计算机,当其运行时,使得计算机执行如第一方面中的任意一项方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面中任意一项的方法。
本申请公开了一种语音识别方法,通过对获取到的音频数据进行VAD划分出至少一个人声片段。然后对人声片段进行特征提取,并与特征向量数据库中预存的数据进行一一比对。当人声片段与特征向量数据库中的所有数据均匹配失败,则可以将该人声片段的嵌入特征向量存储至特征向量数据库中,从而实现了动态注册说话人信息,以便后续语音识别时,可以匹配到多个不同的说话人,并对应地执行说话人的指令。
附图说明
图1为一种VAD分类示意图;
图2为本申请实施例提供的一种语音识别场景示意图;
图3为一种特定人语音识别流程图;
图4为本申请实施例提供的一种语音识别***架构示意图;
图5为本申请实施例提供的一种语音识别方法流程图;
图6为本申请实施例提供的一种VAD模型结构示意图;
图7为本申请实施例提供的一种embedding模型结构示意图;
图8为本申请实施例提供的一种音频信号示意图;
图9为本申请实施例提供的另一种语音识别方法流程图;
图10为本申请实施例提供的一种终端设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请主要应用于一种语音识别的场景。该场景例如可以在家庭场景、车载场景或是一些多人进行语音识别的场景。正如图2所示出的,该场景下包括有终端设备100,该终端设备100用于应对存在多个说话人情况下的语音识别。可以看出,场景中可以还包括有多个说话人,如说话人A、说话人B、说话人C和说话人D。当然,实际场景中还可以包括更多或者更少的说话人,本申请不做限定。该场景例如可以是家庭场景,如在家中存在的多个家庭成员可能都需要对终端设备进行某种语音操作。
然而在现有的一些方案中,虽然存在终端设备可以匹配任意一个人的语音命令进而执行相关命令,但是通常说话人需要先说一些预先设定好的关键字,例如“小X小X”或者“你好,小X”等等。当终端设备识别到此类预先设定好的关键字后,再触发ASR进行语音识别,从而执行说话人表述的相应指令。可以看出,当说话人在一些情况下没有说出对应的关键字时,则现有的终端设备通常无法进行ASR,因此也将无法执行说话人所表述的相应指令。这对使用者而言非常的不便,造成使用体验严重下降。
在一些方案中,部分终端设备采用结合了嵌入(embedding)的VAD对说话人的音频数据进行检测。例如一些基于统计模型的深度网络进行检测,此类深度网络可以包括多层,如前部分的层采用卷积神经网络(convolutional neural networks,CNN)进行设计,后部分的层采用采用LSTM进行设计,可以通过前部分的CNN层级进行提取特征并连接时域特征,以便后面可以更好的通过LSTM层进行识别,并识别出特定人语音。此类方案的特点是具有较好的抗噪性能。对于不结合embedding的VAD而言对于车载噪声中带有人声特征的场景,其识别性能往往是较差的。而对于结合了embedding的VAD,虽然可以进行特定说话人声音识别,但是其需要在识别开始之前针对特定人声进行注册。
正如图3所示出的,当前针对特定说话人进行声音识别方法可以包括:
S301,输入注册人音频。
S302,对注册人音频进行特征提取,以获取注册人声纹特征。
S303,获取embedding模型。
其中,S301、S302与S303执行并无严格意义上的先后顺序。
S304,根据特性提取后得到的注册人声纹特征和embedding模型,结合初始VAD模型进行训练,以得到个性化VAD模型。
显然,该个性化VAD模型仅可以针对注册人进行人声识别。
之后,S305,可以采用个性化VAD模型进行相应的语音识别。
也就是说,上述方式需要预先提取某一个说话人的音频特征,即S301和S302。然后通过该音频特征结合embedding模型可以提取出该说话人的专属的深度特征。之后,采用该专属的深度特征训练初始的VAD模型,以便得到该说话人专属的VAD模型,即S304。显而易见的是,该专属的VAD模型可以较为准确的识别出该说话人的音频,从而方便后续执行该说话人所说出的指令。但是,该专属的VAD模型对于其它说话人则无法进行有效的识别。因此,在S305的执行过程中,对于非注册人以外的其他人,则没法有效进行语音识别,更无法针对非注册人执行相应的语音指令。
同时,对于图3所示出的方案,仅可以针对某一个说话人进行注册,即注册人的数量为1,无法实现多个说话人注册。显然,若要完成不同说话人的语音识别,则需要生成多个专属的VAD模型以对应不同注册人(即不同说话人)。显然,对于用户而言体验将会大大降低,同时增加***的复杂程度,并增加资源的开销。
因此,本申请提供了一种语音识别方法,通过对获取到的音频数据进行VAD划分出至少一个人声片段,然后对人声片段进行特征提取,并与特征向量数据库中预存的数据进行一一比对。当人声片段与特征向量数据库中的所有数据均匹配失败,则可以将该人声片段的嵌入特征向量存储至特征向量数据库中。使得特征向量数据库中可以存储多个不同说话人的嵌入特征向量,实现了动态注册说话人信息。以便后续对人声片段进行有效的识别,保证了可以匹配到特定的多个不同的说话人,并对应地执行相应说话人的指令。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细描述。
图4为本申请实施例提供的一种语音识别***架构示意图。
如图4所示,本申请提供了一种语音识别***架构,该架构可以应用于终端设备上。其中,终端设备可以是图2中所提到的终端设备100,可以包括但不限于手机、智能电视、智能音响、可穿戴设备、平板电脑、桌面型计算机、电脑一体机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digitalassistant,PDA)、膝上型计算机(laptop)、移动电脑、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificial intelligence,AI)设备和/或车载设备等任意终端设备或便携式终端设备。其中,车载设备可以例如是智能车等。
可以看出,该架构包括有应用(application,APP)层、框架(framework)层和内核(kernel)层。其中,APP层中可以包括有语音识别APP。可以理解的是,用户可以通过该语音识别APP以实现本申请所涉及的语音识别方法。该语音识别APP可以是通过接收到用户的开启指令后执行,或是默认终端设备开启后持续后台执行,本申请不做限定。framework层中可以包括有多种服务(service),例如可以包括ASR服务和说话人识别服务等。其中,说话人识别服务中可以包括有VAD和说话人识别等。以实现可以有效识别出不同说话人,便于对识别出的说话人的语音进行ASR服务。对于内核层,则可以包括麦克风驱动,该麦克风驱动主要用于驱动麦克风,以便获取到麦克风采集的音频信号。然后将音频信号进行模数转换得到音频数据。
可以理解的是,图4所示出的***架构在实现语音识别时,可以通过内核层的麦克风驱动获取到当前的音频数据,具体通过麦克风采集的过程可以参考现有方式,本申请不再赘述。之后,内核层将获取到的音频数据传输至framework层中的说话人识别服务。例如可以通过VAD先对音频数据进行语音检测,以便得到至少一个人声片段。之后,可以针对至少一个人声片段进行说话人识别,以识别出一个或多个注册过的说话人。然后,可以将识别出注册过的说话人的人声片段进行ASR服务,从而方便终端设备执行相应的指令。最终可以通过应用层中的语音识别APP对识别出的指令执行相应操作。
图5为本申请实施例提供的一种语音识别方法流程图。
如图5所示出的,本申请提供了一种语音识别方法。该方法可以应用于一个终端设备或多个终端设备共同协作。其中,一个或多个终端设备上可以运行图4所示出的***。当终端设备启动语音识别APP后,可以执行图5所示出的方法。在一些例子中,该方法可以运行在一个终端设备上。而在另一些例子中,则可以运行在多个终端设备上,并协同完成该方法,多个终端设备例如可以包括车载设备和非车载设备的终端设备。接下来将以一个终端设备为例进行描述。
该方法可以包括以下步骤:
S501,获取麦克风采集到的音频数据。
终端设备可以通过自身设备上的麦克风获取到该麦克风采集到的音频数据。
在一些例子中,终端设备还可以与其它设备进行有线或无线的方式相连接,以便从其它设备上获取到相应的音频数据。例如音频数据可以是预先通过麦克风采集并保存在该其它设备上,或者是其它设备上的麦克风实时采集到的,还可以是其它设备上的麦克风预先采集并存储在该其它设备上。
其中,无线方式可以包括2G/3G/4G/5G/6G等无线通信的解决方案,或是包括无线局域网(wireless local area networks,WLAN)、蓝牙(bluetooth,BT)、全球导航卫星***(global navigation satellite system,GNSS)、调频(frequency modulation,FM)、近距离无线通信技术(near field communication,NFC)、紫蜂(zigbee)和红外技术(infrared,IR)等无线通信的解决方案。其中,WLAN例如可以是无线保真(wireless fidelity,Wi-Fi)网络。
在一个例子中,例如用户可以通过开启图4中所示出的语音识别APP 411,从而开启语音识别流程并获取音频数据。若场景为车辆驾驶场景,则可以表现为开启车载语音,启动语音识别流程。
可以理解的是,本申请并不限定如何采集到音频数据。
在一个例子中,终端设备获取的音频数据可以是梅尔频率倒谱系数(melfrequency cepstrum coefficient,MFCC)特征,该MFCC特征为终端设备上麦克风采集到的音频信号进行MFCC特征提取后得到的。例如,终端设备可以将麦克风采集到的音频信号进行预处理,如预加重、分帧、加窗等。之后,对预处理后的音频信号进行快速傅里叶变换(fast fourier transform,FFT)得到频域上各帧对应的频谱。之后对频谱取模平方以得到音频信号的谱线能量。再通过梅尔(mel)滤波器对音频信号的谱线能量进行滤波,并将mel滤波器输出的对数能量经离散余弦变换(discrete cosine transform,DCT)后,以获取到MFCC特征。可以理解的是,MFCC特征也可以称为MFCC特征参数或MFCC系数等。当然,具体计算MFCC特征的方式可以参考现有方式,本申请在此不再赘述。
S502,对采集到的音频数据进行VAD,确定至少一个人声片段。
在终端设备获取到音频数据之后,可以将S501中获取到的音频数据输入至VAD模型中进行识别。其中,VAD模型为预先训练好的VAD模型。
在一个例子中,如图6所示为本申请提供了一种VAD模型,在该VAD模型中将S501中获取到的音频数据作为输入,可以经过至少一个CNN层601中进行卷积操作,以便提取出音频数据中的深度特征。可以理解的是601中的CNN层个数可以是一个或多个,例如至少一个CNN层601中可以是6个CNN层,当然,对于CNN层的具体数量本申请并不做具体限定。当确定CNN层数为6层时可以在保障VAD模型复杂程度不过于复杂的同时,提取到更为深层的特征,以便后续可以更为精准的确定出音频数据中的人声片段。其中,每个CNN层可以是一维CNN层,即每个CNN层中采用一维卷积核进行卷积操作。当然,具体每个CNN层的算子可以参考现有VAD模型,算子中相应的参数可以根据实际情况进行相应设置调整,本申请不做赘述。
当经过至少一个CNN层601的卷积操作后,可以将提取到的深度特征依次输入至第一LSTM层602、第二LSTM层603和第三LSTM层604中。例如,每个LSTM层可以是包含128节点的单向LSTM层。当然,每个LSTM层中各节点的参数设置可以根据实际情况进行设定。在其它例子中,第一LSTM层602、第二LSTM层603和第三LSTM层604中的节点数量还可以是依次递减的,例如第一LSTM层602为包含768节点的单向LSTM层、第二LSTM层603为包含512节点的单向LSTM层、第三LSTM层604为包含256节点的单向LSTM层。可以理解的是,本申请对各个LSTM层中节点的数量也不做具体限定。针对每个LSTM层中的计算过程类似,因此以第一LSTM层602进行说明,在一个例子中,第一LSTM层接收至少一个CNN层601输出的深度特征进行计算。可以结合深度特征的时间维度,例如输入的深度特征为160毫秒(millisecond,ms)的音频数据对应的深度特征,则可以以10ms为一个单位进行LSTM计算,如第一个10ms记为t0时刻,每次进行LSTM计算均考虑上一时刻的计算结果和状态信息,然后输出本次LSTM的计算结果和状态信息。可以理解的是,LSTM层的状态信息变化较为缓慢,因此可以认为进行了长时间记忆,而每次的计算结果变化较大,则可以认为是进行了短时间记忆。之后,第一LSTM层602将输出的结果输入至第二LSTM层603中进行计算。
当经过三层即第一LSTM层602、第二LSTM层603和第三LSTM层604的计算之后,其输出结果经过全连接层605。可以理解的是,全连接层605可以包括2个神经元,用于表示该音频数据中是否存在人说话。显然,全连接层605中神经元个数与结果数量是相关的,即结果数量与全连接层605中神经元个数相同。之后,归一化函数(softmax)层606将全连接层605中各个神经元输出的结果进行归一化,可以用于表示该结果出现的概率。然后将各个结果的概率进行输出,从而完成VAD模型识别说话人的过程。例如,当存在说话人结果的概率大于或等于预设概率阈值时,则可以认为该音频数据识别到了说话人;反之,若存在说话人结果的概率小于预设概率阈值时,则可以认为该音频数据没有识别到了说话人。可以理解的是,在该VAD模型中两种结果(即存在说话人和不存在说话人)对应概率的和为1。
当然,在一些例子中,图6所示的VAD模型也可以不包括至少一个CNN层601,而是直接将终端设备获取到音频数据输入至第一LSTM层602。再又一些例子中,VAD模型还可以包括更多或者更少的LSTM层。应当理解的是,当包含6个CNN层和3个LSTM层时,VAD模型可以在一定复杂度的同时保证输出结果具有更高的准确率,同时还可保障具有较快的计算速度,便于终端设备进行计算。
在一个例子中,可以按照每帧160ms的方式,对音频数据进行VAD,也就是说,按照160ms对音频数据进行分帧。然后,针对每帧音频数据逐一进行VAD,以便较为准确的确定出音频数据中哪部分存在人声,从而确定出至少一个人声片段。
应当理解的是,图6所示出的VAD模型中各个层中包含的具体参数数值可以根据实际情况进行设定,本申请不做限定。同时在一些例子中,还可以直接采用现有的VAD模型确定人声片段,具体实现过程可参考现有方式,本申请不再赘述。
S503,对人声片段进行特征提取,确定该人声片段的嵌入特征向量。
当终端设备通过S502对音频数据进行VAD确定出至少一个人声片段之后,可以针对人声片段进行特征提取,确定出人声片段对应的嵌入特征向量。在一些例子中,可以针对每个人声片段均进行特征提取,以便确定出每个人声片段对应的嵌入特征向量。
在一个例子中,当终端设备在S502中通过VAD确定出音频数据中哪些部分存在人声后,可以将存在人声的音频数据输入至embedding模型中进行特征提取,即采用embedding模型针对人声片段进行特征提取。图7则示出了一种embedding模型,该embedding模型中包含多个隐藏层,在一个例子中,隐藏层的数量可以是4个。在一些例子中,embedding模型中的4个隐藏层可以是LSTM层,当然,在其它例子中也可以选择CNN层等,每个隐藏层具体的设置可以根据实际情况进行调整,也可以采用现有的embedding模型。对于各个隐藏层中的参数也可以根据实际情况进行设置,本申请不做限定。
终端设备通过embedding模型对人声片段进行特征提取,以提取该人声片段对应的嵌入特征向量,在一个例子中,终端设备将embedding模型最后一个隐藏层的结果作为嵌入特征向量,例如可以是d-vetcor作为嵌入特征向量。可以理解的是,通常embedding模型中还包括全连接层,部分embedding模型还包括softmax层,本申请中所涉及的嵌入特征向量不需要最后一层全连接层或者softmax层的输出,而是采用全连接层或者softmax层之前的最后一个隐藏层的计算结果作为输出,也就是说,该最后一个隐藏层的计算结果即为d-vector。
当然,在一些例子中,终端设备在对人声片段进行特征提取之前,还可以包括步骤S507。
S507,针对人声片段,确定该人声片段的信噪比是否大于信噪比阈值。
终端设备在S502通过VAD确定出至少一个人声片段之后,还可以针对人声片段,确定出该人声片段的信噪比。之后,将人声片段的信噪比与预先设定的信噪比阈值进行比较,当人声片段的信噪比大于预设的信噪比阈值时,则执行S503。否则,当人声片段的信噪比小于或等于预设的信噪比阈值时,则执行S506。在一些例子中,可以针对每个人声片段,确定出该人声片段的信噪比。
在一个例子中,针对人声片段,终端设备可以选取该人声片段中预设时长的片段作为信号片段。同时,可以确定与该人声片段相邻的静音片段,并选取该静音片段中预设时长的片段作为噪音片段。之后,结合信号片段和噪音片段,确定出该人声片段的信噪比(signal-noise ratio,SNR)。由于终端设备通过VAD可以准确的识别出存在人声的人声片段,因此,对于音频数据中非人声片段的部分可以称为静音片段,对于静音片段可以认为仅包含噪声。对于SNR的具体计算过程则可以参考现有方式,本申请不做赘述。
在一些例子中,信号片段可以是选取人声片段中前预设时长的片段,例如若预设时长设定为320ms,则可以选取人声片段的前320ms作为信号片段。当然,在其它例子中,也可以选取人声片段中任意连续的预设时长的片段,本申请不做限定。通常情况下,静音片段可以是在人声片段之前,且与人声片段相邻的静音片段。例如,图8所示出的一种音频信号示意图。可以看出,上半部分的信号表示为原始的音频信号,即图中的①,可以是麦克风采集到的音频信号。下半部分的黑白相间的区域表示为终端设备通过VAD识别出的人声片段,即图中的②。其中,可以选取人声片段的前320ms作为信号片段,以及,从与信号片段相邻的静音片段中选取320ms作为噪音片段。图8中的噪音片段选取的是人声片段之前且与人声片段相邻的320ms片段。当然在其它例子中,还可以选取该人声片段之后,且与人声片段相邻的320ms片段。具体选取哪部分的噪音片段可以根据预先设定的规则进行选取,本申请不做限定。在一些情况下,若按照预设规则无法获取到噪音片段时,则可以不再执行S507这一步骤,即跳过S507直接执行S503。
可以理解的是,S507的目的是为了确定人声片段中的人声是否较为清晰。当信噪比大于信噪比阈值时,可以认为人声片段中信号较强、干扰较弱,因此可以将这部分人声片段进行后续操作,以便当后续注册说话人时,可以保障注册的信息较为准确。而当信噪比小于或等于信噪比阈值时,可以认为人声片段中信号较弱、干扰较强,因此则对此部分人声片段直接进行ASR进行指令识别即可。该步骤保证了后续注册说话人时,注册信息更为准确,便于后期使用时可以准确识别多个不同说话人。
继终端设备执行S503之后,则可以继续执行S504。
S504,将嵌入特征向量与特征向量数据库中的数据依次进行相似度对比。
终端设备在S503中得到了人声片段对应的嵌入特征向量,即d-vector后。可以与特征向量数据库中的所有数据依次进行相似度对比。其中,特征向量数据库中存储有不同说话人对应的d-vector。可以理解的是,特征向量数据库中的每一条数据,均对应了一个d-vector,以用于表示一个说话人。
在一个例子中,相似度可以采用公式1的方式进行计算。
Figure BDA0003364357670000111
其中,n’表示为特征向量的长度,即d-vector的长度。i表示为特征向量中第i个特征,S(cosθ)表示为两个特征向量的余弦距离,即相似度。x和y分别表示为不同的d-vector。
当然,在其它例子中,还可以选择欧氏距离、曼哈顿距离等等方式计算相似度,本申请不做限定。
S505,若嵌入特征向量与特征向量数据库中每一项数据的相似度均小于相似度阈值,将该嵌入特征向量存储至特征向量数据库中。
当终端设备通过S504中的公式1分别计算人声片段对应的嵌入特征向量与特征向量数据库中的每个数据的相似度。当人声片段对应的嵌入特征向量与特征向量数据库中的每个数据的相似度均小于预先设定的相似度阈值时,则可以认为人声片段对应的嵌入特征向量与特征向量数据库中任意一个数据均未匹配成功。然后,可以将该人声片段对应的嵌入特征向量存储至特征向量数据库中。即将人声片段对应的d-vector存储至特征向量数据库中,从而完成了一次说话人的注册。之后,可以继续执行S506。
当然,在一些例子中,若人声片段对应的嵌入特征向量与特征向量数据库中的某一个数据的相似度大于或等于相似度阈值,则可以认为人声片段与特征向量数据库中的该数据匹配成功。此时则无需将人声片段对应的嵌入特征向量进行存储,可以直接执行S506。
在又一些例子中,针对特征向量数据库中的每个数据,可以各自对应一个参数,用于表示该条数据被匹配成功的次数。该参数可以称为匹配成功次数。每当人声片段的嵌入特征向量与特征向量数据库中的某一个数据的相似度大于或等于相似度阈值时,则认为该条数据匹配成功,然后可以对该条数据的匹配成功次数进行加一。终端设备可以根据按照匹配成功次数的大小,对特征向量数据库中的所有数据由大到小进行排序。终端设备可以预先配置为仅当匹配成功的数据为上述排列的前n个时执行S506。否则,可以直接结束流程。其中,n为正整数。该过程主要用于可以仅当识别出部分说话人时执行相应的语音指令。
例如,在车载场景中,n的数量可以设置为2,用于表示2个常用说话人。而终端设备仅当识别到前两个常用说话人的语音时,才执行相应的指令操作。当然,该过程可以根据用户使用的过程中动态变化,例如当某个说话人的匹配成功次数上升至前2个时,相当于完成了常用说话人的动态更新。当然,n的数量可以根据实际情况进行任意设定。例如预先配置好,或者用户可以自行设定,本申请不做限定。
S506,对人声片段进行ASR。
终端设备可以针对相应的人声片段进行ASR,以便执行人声片段中相应指令。例如识别人声片段并转换为文字,与预设的指令关键字进行匹配,从而执行相应的指令。当然,具体执行ASR的过程可以参考现有方式,本申请不再赘述。
在一些例子中,上述所涉及的VAD模型和embedding模型可以是预先训练好的,例如在S501之前,可以对VAD模型和embedding模型进行训练。在一个例子中,可以采用包含10000以上的音频数据的训练数据集对VAD模型和embedding模型进行训练。当然,训练数据集中的每个数据均标记有真实语音的起止时间,以便对VAD模型进行监督训练。对于embedding模型主要用于更有效划分出说话人的特征,因此可以采用无监督训练的方式,通过特征的聚类进行训练。在一个例子中,VAD模型训练时的损失函数可以采用交叉熵损失函数,对于embedding模型训练时则可以采用思昂斯度矩阵作为损失函数,直至对VAD模型和embedding模型收敛。
图9为本申请实施例提供的另一种语音识别方法流程图。
如图9所示,为S505的另一种实现方式,在一些例子中,在S504之后还可以包括以下步骤:
S901,若嵌入特征向量与特征向量数据库中每一项数据的相似度均小于相似度阈值,则将该嵌入特征向量对应的人声片段输入至检测指令模型中进行检测。
终端设备确定若嵌入特征向量与特征向量数据库中每一项数据的相似度均小于相似度阈值是,可以将该嵌入特征向量对应的人声片段输入至检测指令模型中进行检测。在一些例子中,检测指令模型可以是口语理解(spoken language understanding,SLU)模型。
可以理解的是,对人声片段进行SLU是为了进一步确定该人声片段是否包含指令。从而避免对不包含指令的人声片段进行存储,减少资源浪费。当然,SLU的作用仅为识别出人声片段中是否包含指令,因此其输出的结果仅为是或者否,例如输出1(表示存在指令)或0(表示不存在指令),而无法确定出具体包含哪些指令。
S902,确定该人声片段是否包含指令。
终端设备确定SLU检测的人声片段中是否包含指令。若确定人声片段中包含指令,则执行S903;若定人声片段中不包含指令,则执行S501或者直接结束流程。
S903,将该嵌入特征向量存储至特征向量数据库中。
当终端设备确定人声片段中包含指令后,可以将该人声片段对应的嵌入特征向量存储至特征向量数据库中。
可以理解的是,在一些例子中,上述图4至图9中的方案若通过多个终端设备实现时,例如可以通过两个终端设备实现,如车载设备和非车载设备的终端设备。车载设备和非车载设备的终端设备之间可以通过有线或无线的方式相连接,之后,可以通过其中一个设备获取麦克风采集到的音频数据,并传输至另一个设备上进行后续操作。当然,多个终端设备的具体数量,本申请不作限定。同时,多个设备之间如何分配哪些设备执行哪些操作,本申请也不做限定。
图10为本申请实施例提供的一种终端设备示意图。
如图10所示,本申请还提供了一种终端设备1000。该终端设备1000可以是上述图2中的终端设备100,以及图4至图9所提到的终端设备。该终端设备1000可以包括:处理器1010、外部存储器接口1020、内部存储器1021、通用串行总线(universal serial bus,USB)接口1030、充电管理模块1040、电源管理模块1041、电池1042、天线1、天线2、移动通信模块1050、无线通信模块1060、麦克风1070和显示屏1080等。
可以理解的是,本申请实施例示意的结构并不构成对终端设备1000的具体限定。终端设备1000可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器1010可以是高级精简指令集处理器(advanced reduced instruction setcomputing machines,ARM)、X86、无内部互锁流水级的微处理器(microprocessor withoutinterlocked piped stages,MIPS)等架构的处理器。处理器1010可以包括一个或多个处理单元,例如:应用处理器(application processor,AP),调制解调处理器,GPU,图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digitalsignal processor,DSP),基带处理器和/或神经网络处理器(neural-network processingunit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器1010中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器1010中的存储器为高速缓冲存储器。该存储器可以保存处理器1010刚用过或循环使用的指令或数据。如果处理器1010需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器1010的等待时间,因而提高了***的效率。
在一些实施例中,处理器1010可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口、集成电路内置音频(inter-integrated circuitsound,I2S)接口、脉冲编码调制(pulse code modulation,PCM)接口、通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口、移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口、用户标识模块(subscriber identity module,SIM)接口和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本申请终端设备的操作***存储在存储器中,处理器1010通过调用存储在存储器中的操作***以实现上述图4至图9所描述的方法。
充电管理模块1040用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。
在一些有线充电的实施例中,充电管理模块1040可以通过USB接口1030接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块1040可以通过终端设备1000的无线充电线圈接收无线充电输入。充电管理模块1040为电池1042充电的同时,还可以通过电源管理模块1041为终端设备1000供电。
终端设备1000的无线通信功能可以通过天线1,天线2,移动通信模块1050,无线通信模块1060,调制解调处理器以及基带处理器等实现。
移动通信模块1050可以提供应用在终端设备1000上的包括2G/3G/4G/5G/6G等无线通信的解决方案。无线通信模块1060可以提供应用在终端设备1000上的包括WLAN、BT、GNSS、FM、NFC、zigbee和IR等无线通信的解决方案。其中,WLAN例如可以是Wi-Fi网络。
麦克风1070,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当获取音频信号时,用户可以通过人嘴靠近麦克风1070发声,将声音信号输入到麦克风1070。终端设备1000可以设置至少一个麦克风1070。在另一些实施例中,终端设备1000可以设置两个麦克风1070,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,终端设备1000还可以设置三个,四个或更多麦克风1070,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
终端设备1000通过GPU,显示屏1080,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏1080和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器1010可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏1080用于显示图像,视频等。显示屏1080包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)、有机发光二极管(organic light-emittingdiode,OLED)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED)、柔性发光二极管(flex light-emittingdiode,FLED)、Miniled、MicroLed、Micro-oLed和量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,终端设备1000可以包括1个或M个显示屏1080,其中M为大于或等于2的正整数。
外部存储器接口1020可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备1000的存储能力。外部存储卡通过外部存储器接口1020与处理器1010通信,实现数据存储功能。
内部存储器1021可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器1021可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序等。存储数据区可存储终端设备1000使用过程中所创建的数据等。此外,内部存储器1021可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器1010通过运行存储在内部存储器1021的指令,和/或存储在设置于处理器中的存储器的指令,执行终端设备1000的各种功能应用以及数据处理。
本申请所提供的终端设备1000可以实现上述图4至图9中描述的任意一种方法,具体实现方式可以参考述图4至图9的相应描述,在此不再赘述。
本申请通过对获取到的音频数据进行VAD划分出至少一个人声片段。然后对人声片段进行特征提取并与特征向量数据库中预存的数据进行一一比对。当人声片段与特征向量数据库中的所有数据均匹配失败后,将该人声片段的嵌入特征向量进行存储,实现了动态注册说话人信息。本申请通过确定音频数据的信噪比,仅针对信噪比高的音频数据进行特征提取,使得动态注册的说话人信息,可以显著提升车载ASR在高噪场景下的识别效果。本申请可以解决在车载语音识别中无需提前录制声纹,便可自动识别并注册多人声纹到车载语音***,以便在识别场景下可以准确识别到注册成功的多个说话人,有效提升了语音识别准确性。
进一步的,本申请对录音进行SNR评估,并设计VAD模型与embedding模型结构,通过上述结构可以动态声纹检测识别出真实车载指令人(即说话人)并保存其声纹。从而能在后续语音端点检测中可以准确识别出保存的真实车载指令人(即说话人)的人声,并进行对应的ASR,避免了部分未保存的说话人语音识别造成的困扰,提升了语音识别的准确性以及性能。
本申请提供动态注册用户声纹的语音端点检测方法,使得用户无需事先录制声纹的前提下便可自动注册声纹,提高语音识别的用户体验。
可以理解的是,本申请所涉及到的VAD模型和embedding模型适用于端测使用,保证了端测计算速度的同时,具有良好的识别效果。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetic tape),软盘(英文:floppy disk),光盘(英文:optical disc)及其任意组合。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (14)

1.一种语音识别方法,其特征在于,所述方法应用于终端设备,所述方法包括:
获取麦克风采集到的音频数据;
对所述音频数据进行语音端点检测,确定至少一个人声片段;
针对所述人声片段进行特征提取,以确定所述人声片段的嵌入特征向量;
将所述嵌入特征向量与特征向量数据库中的数据依次进行相似度对比,若所述嵌入特征向量与所述特征向量数据库中每一项数据的相似度均小于相似度阈值,则将所述嵌入特征向量存储至所述特征向量数据库中,并对所述嵌入特征向量对应的所述人声片段进行自动语音识别,以执行相应的指令。
2.如权利要求1所述的方法,其特征在于,所述对所述音频数据进行语音端点检测,确定至少一个人声片段,包括:
将所述音频数据输入至包含至少一个长短期记忆人工神经网络LSTM的语音端点检测模型中进行检测,确定出至少一个人声片段。
3.如权利要求2所述的方法,其特征在于,所述包含至少一个LSTM的语音端点检测模型中包括:至少6层一维卷积神经网络以及至少3层128节点的单向LSTM。
4.如权利要求1-3任意一项所述的方法,其特征在于,所述针对所述人声片段进行特征提取,包括:
针对所述人声片段,结合与所述人声片段相邻的静音片段,确定所述人声片段的信噪比,其中,所述静音片段为所述音频数据进行所述语音端点检测得到的或预先配置的;
若所述信噪比大于预设的信噪比阈值,则对所述人声片段进行特征提取。
5.如权利要求1-4任意一项所述的方法,其特征在于,所述确定所述人声片段的嵌入特征向量,包括:
将所述人声片段输入至包含多个隐藏层的嵌入特征提取模型中进行特征提取,以确定出所述人声片段的嵌入特征向量。
6.如权利要求5所述的方法,其特征在于,所述嵌入特征提取模型包括至少4个隐藏层。
7.如权利要求1-6任意一项所述的方法,其特征在于,在将所述嵌入特征向量存储至所述特征向量数据库之前,所述方法还包括:
将所述嵌入特征向量对应的所述人声片段输入至检测指令模型中进行检测;
若检测到所述嵌入特征向量对应的所述人声片段中包含指令,则将所述嵌入特征向量存储至所述特征向量数据库。
8.如权利要求1-7任意一项所述的方法,其特征在于,所述方法还包括:
若所述嵌入特征向量与所述特征向量数据库中任意一项数据的相似度大于或等于相似度阈值,则对所述嵌入特征向量对应的所述人声片段进行自动语音识别,并根据语音识别结果执行相应的指令。
9.如权利要求1-8任意一项所述的方法,其特征在于,所述特征向量数据库中的每一项数据对应有匹配成功次数,所述特征向量数据库中的每一项数据根据所述匹配成功次数由大到小依次排序;
所述方法还包括:
若所述嵌入特征向量与所述特征向量数据库中任意一项数据的相似度大于或等于相似度阈值,则确定该数据是否位于所述排序的前n个,其中,n为正整数;
当该数据属于所述排序的前n个,对所述嵌入特征向量对应的所述人声片段进行自动语音识别,并根据语音识别结果执行相应的指令。
10.如权利要求9所述的方法,其特征在于,所述方法还包括:
若所述嵌入特征向量与所述特征向量数据库中任意一项数据的相似度大于或等于相似度阈值,则对该数据对应的匹配成功次数进行加一,并再次按照由大到小对所述特征向量数据库中的每一项数据依次排序。
11.如权利要求1-10任意一项所述的方法,其特征在于,所述方法还包括:
若所述人声片段的信噪比小于或等于所述信噪比阈值,则对所述人声片段进行所述自动语音识别,并根据语音识别结果执行相应的指令。
12.一种用于语音识别的终端设备,其特征在于,所述终端设备包括:
处理器用于与存储器耦合,以及读取并执行存储在所述存储器中的指令;
当所述处理器运行时执行所述指令,使得所述处理器用于执行上述权利要求1-11所述的方法。
13.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-11任意一项所述的方法。
14.一种包含指令的计算机,当其运行时,使得所述计算机执行如权利要求1-11中的任意一项所述的方法。
CN202111389446.4A 2021-11-19 2021-11-19 一种语音识别方法及设备 Pending CN116153291A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111389446.4A CN116153291A (zh) 2021-11-19 2021-11-19 一种语音识别方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111389446.4A CN116153291A (zh) 2021-11-19 2021-11-19 一种语音识别方法及设备

Publications (1)

Publication Number Publication Date
CN116153291A true CN116153291A (zh) 2023-05-23

Family

ID=86339464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111389446.4A Pending CN116153291A (zh) 2021-11-19 2021-11-19 一种语音识别方法及设备

Country Status (1)

Country Link
CN (1) CN116153291A (zh)

Similar Documents

Publication Publication Date Title
WO2021082941A1 (zh) 视频人物识别方法、装置、存储介质与电子设备
CN107799126B (zh) 基于有监督机器学习的语音端点检测方法及装置
CN110310623B (zh) 样本生成方法、模型训练方法、装置、介质及电子设备
JP6309615B2 (ja) ターゲットキーワードを検出するための方法および装置
EP2994911B1 (en) Adaptive audio frame processing for keyword detection
CN108346427A (zh) 一种语音识别方法、装置、设备及存储介质
US11715480B2 (en) Context-based speech enhancement
WO2019233228A1 (zh) 电子设备及设备控制方法
CN109272991B (zh) 语音交互的方法、装置、设备和计算机可读存储介质
WO2022033556A1 (zh) 电子设备及其语音识别方法和介质
US11676571B2 (en) Synthesized speech generation
US11626104B2 (en) User speech profile management
CN115312068B (zh) 语音控制方法、设备及存储介质
WO2014173325A1 (zh) 喉音识别方法及装置
CN114067782A (zh) 音频识别方法及其装置、介质和芯片***
WO2022199405A1 (zh) 一种语音控制方法和装置
CN116631380B (zh) 一种音视频多模态的关键词唤醒方法及装置
CN116229962A (zh) 终端设备及语音唤醒方法
CN116153291A (zh) 一种语音识别方法及设备
CN117063229A (zh) 交互语音信号处理方法、相关设备及***
CN115841814A (zh) 语音交互方法及电子设备
CN116030817B (zh) 语音唤醒方法、设备及存储介质
CN115331672B (zh) 设备控制方法、装置、电子设备及存储介质
CN116705017B (zh) 语音检测方法及电子设备
WO2022233239A1 (zh) 一种升级方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination