CN114420111B - 一种基于一维假设的语音向量距离计算方法 - Google Patents
一种基于一维假设的语音向量距离计算方法 Download PDFInfo
- Publication number
- CN114420111B CN114420111B CN202210329125.3A CN202210329125A CN114420111B CN 114420111 B CN114420111 B CN 114420111B CN 202210329125 A CN202210329125 A CN 202210329125A CN 114420111 B CN114420111 B CN 114420111B
- Authority
- CN
- China
- Prior art keywords
- phoneme
- voice
- deep learning
- null
- acoustic feature
- 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.)
- Active
Links
- 239000013598 vector Substances 0.000 title claims abstract description 74
- 238000004364 calculation method Methods 0.000 title claims abstract description 40
- 238000013135 deep learning Methods 0.000 claims abstract description 52
- 238000003491 array Methods 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 26
- 238000013528 artificial neural network Methods 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 11
- 238000007781 pre-processing Methods 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 abstract 1
- 238000012549 training Methods 0.000 description 4
- 241001672694 Citrus reticulata Species 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- MQJKPEGWNLWLTK-UHFFFAOYSA-N Dapsone Chemical compound C1=CC(N)=CC=C1S(=O)(=O)C1=CC=C(N)C=C1 MQJKPEGWNLWLTK-UHFFFAOYSA-N 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/10—Speech classification or search using distance or distortion measures between unknown speech and reference templates
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/04—Segmentation; Word boundary detection
- G10L15/05—Word boundary detection
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
- G10L2015/025—Phonemes, fenemes or fenones being the recognition units
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于一维假设的语音向量距离计算方法,以一维数组形式表示声学特征模板和待识别的用户语音深度学习特征;两个一维数组中,从左到右按照音素分类对应的概率分数从高到低排列;设置第一经验数组d_null={d_null(k)},设置第二经验数组α;距离具体为:如果待识别的用户语音深度学习特征音素分类在声学特征模板的音素分类中,则用户语音深度学习特征音素分类和对应的声学特征模板音素分类的距离为α*│i‑j│,否则距离为d_null(k)。本发明通过将语音向量进行一维简化,按照概率分数高低排序,在兼顾识别性的同时将二维数组运算简化为一维数组运算,计算所需内存大幅减少,适合应用于内存较小的语音识别芯片。
Description
技术领域
本发明属于人工智能领域,涉及到人工智能领域语音识别技术,具体涉及一种基于一维假设的语音向量距离计算方法。
背景技术
目前设备端侧语音识别应用越来越普遍,随着以深度神经网络为核心的深度学习技术的应用,语音识别性能也得到大幅提升。使用带语音识别交互功能的用户越来越多。但由于语言的复杂性,世界各地方言发音不同,说法用词也不一定相同。 例如在中国,普通话是一种官方语言,但存在着四大方言区和更多的方言语系;要想在设备端侧实现对全部方言的支持,从成本上和技术难度上都不太现实。而事实上还存在着一部分用户不会讲普通话或不常讲普通话,阻碍了设备端侧语音识别交互进一步的普及。
解决这个困难的一种方法,是采取在设备端按照用户的语言语音习惯的端侧命令词学习和识别技术。这种学习不同于基于大数据标注的学习,而是一种小数据的学习方法。语音设备采集用户命令词发音,同一个待学习的命令词发音通常1次到数次,设备学习到这个发音并记录下来,同时将这个发音映射到一个已知的语义ID上。在识别时,当设备匹配到这个发音,就识别到,然后调用对应的语义ID完成设备操作或相应的功能。
传统端侧命令词自学习过程是,设备记录到用户待学习的命令词发音后,提取并记录该发音的声学特征,典型的声学特征包含但不限于MFCC(梅尔频率倒谱系数),mel-FB(梅尔滤波器组),LPC(线性预测编码),GFCC(gammatone频率倒谱系数)等。识别时,将接收到的语音转化为上述声学特征与所记录的声学特征进行匹配。 匹配时按照每帧语音特征与记录的每帧声学特征进行距离计算。
在进行距离计算时,传统方法计算方式为二维或更高维度的数组相乘除计算,所需内存较高,而对具备语音识别功能的芯片,自带硬件资源有限,进行二维数组运算占用资源量较大,运算速度慢。 利用本发明的距离计算方法进行语音识别的过程记载在另一篇发明专利“一种未知语言端侧命令词小数据学习识别方法”中。
发明内容
为克服现有技术存在的技术缺陷,本发明公开了一种基于一维假设的语音向量距离计算方法。
本发明所述基于一维假设的语音向量距离计算方法 ,以一维数组形式表示声学特征模板:
Xi(t)=[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]
id(i,t)表示声学特征模板的第t帧第i个音素分类,其中(i = 0,1,...K-1);
以一维数组形式表示待识别的用户语音深度学习特征:
Xb(tm)=[id(0,tm), id(1,tm)…id(j,tm)…id(K-1,tm)]
id(j,tm)表示用户语音深度学习特征的第tm帧第j个音素分类,其中(j= 0,1,...K-1);
Xi(t)和Xb(tm)两个一维数组中,从左到右按照音素分类对应的概率分数从高到低排列;K为音素分类总数;
设置第一经验数组 d_null={d_null(k)},k = 0,1,...K-1, K表示使用的分类个数;d_null(k)的初始值全部为大于0的一组经验正数值,并使
d_null(0) ≥d_null(1) ≥...d_null(K-1);
设置第二经验数组α=(α1…αk…αK-1),α1…αk…αK-1为按从大到小顺序排列的值;
在上述设置基础上,计算用户语音深度学习特征Xb(tm)与所有声学特征模板Xi(t)之间的距离Di(t)具体为:
如果待识别的用户语音深度学习特征音素分类在声学特征模板的音素分类中,即id(j,tm) ∈[id(0,t), id(1,t)…id(i,t)…id(K-1,t)],则用户语音深度学习特征音素分类和对应的声学特征模板音素分类的距离为α*│i-j│,如果待识别用户语音深度学习特征音素分类不在声学特征模板的音素分类中,则距离为d_null(k),k=j;
遍历待识别用户语音深度学习特征的音素分类j,j = 0,1,...K-1,求和即可求得距离Di(t)。
优选的,第一经验数组d_null(k) 中全部元素为1 ,第二经验数组α中全部元素为0。
优选的,所述声学特征模板Xi(t)=[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]和待识别的用户语音深度学习特征:Xb(tm)=[id(0,tm), id(1,tm)…id(j,tm)…id(K-1,tm)]取得方法相同;
其中声学特征模板取得方法为:
S1.系统进行语音采集和端点检测,通过端点检测的语音进入步骤S2;
S2.先对语音信号进行预处理得到命令词的语音声学特征向量集合Xf;
Xf={ Xft},t=1,2…N---(1);
其中,Xft为第t帧的语音声学特征向量,上标t表示帧编号, t是1到N之间的任意值,N为帧数;
S3.将语音声学特征向量集合Xf送入深度神经网络进行深度神经网络计算,得到DNN输出向量集合Ot;
集合元素中下标id为DNN输出层音素分类编号,上标t是帧编号;M代表输出层音素分类总数;为第t帧DNN输出层音素分类编号为id,概率分值为的输出向量,将音素分类按照概率分值从高到低排序,得到声学特征模板
Xi(t)=[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]
其中id(0,t), id(1,t)…id(i,t)…id(K-1,t)即为DNN输出向量集合中的音素分类编号,t是帧编号,K=M
本发明通过将语音向量进行一维简化,按照概率分数高低排序,在兼顾识别性的同时将二维数组运算简化为一维数组运算,并采用两个一维经验数组设置,进一步简化了运算,计算所需内存大幅减少,适合应用于内存较小的语音识别芯片。
附图说明
图1为应用本发明在一个具体的语音识别过程示意图,本发明公开的距离计算方法应用在图1的步骤S9中。
具体实施方式
目前端侧自动语音识别(auto speech recognition:简写ASR)技术,主要采用DNN(深度神经网络)-HMM(隐马尔科夫模型)技术,将语音声学特征转化为音素概率,再结合命令词语言模型网络(LM),采用维特比搜索解码,从而识别到命令词。
DNN模型主流包含FCN(前向全连接),TDNN(时延神经网络),RNN(递归神经网络,LSTM(长短时神经网络),CNN(卷积神经网络)等。其主要特点包括以声学特征矢量作为输入的输入层,多层隐含层和输出层。
其中输出层采用单音素,双音素或三音素甚至更多音素进行聚类后的分类节点,一般包含数百个到数千个分类节点。每个节点赋予一个节点ID,代表一个音素分类。识别时,每个节点的值代表该音素分类的概率分数。
神经网络模型参数通过已经标注音素标签的语料大数据训练得到。 这种标注了音素标签的语料通常为采集到的一种或多种已知语言的发音语料。这种语料可以采集自不同环境,含有不同环境的噪声或混响;也可以在安静环境下采集得到,通过添加不同环境的噪声或混响进行语料扩展。目前采用深度神经网络的深度学习方法,用户在使用与训练时对同样语言的语音识别性能很好,具有良好的环境自适应能力。
当用户自定义的命令词语言和用于ASR的DNN模型训练语料的语言相同时,通常总能有一个输出节点的音素与发音相同或接近,因此概率得分较高。但当用户自定义的命令词语言和训练用语料语言不同时,则不一定能找到一个节点音素相同或相近。为进一步简化计算,本发明基于已有定理进行假设。
在空间坐标系中存在以下定理:
在n维空间坐标系中,任意一组n维向量都可以由n维单位向量组线性表示,假设ε1=(1,0…0)…,εn=(0…0,1)为n维单位向量组,则任意一个n维向量可以由其线性表示:
α=α1*ε1+α2*ε2…+αn*εn
基于这一定义,类似的,本发明假设输出向量集合可以用已知音素分类集合中的元素单位向量及其概率分值的乘积加权求和来表示。
下面对本发明的具体实施方式作进一步的详细说明。
以下给出本发明所述距离计算方法应用在语音识别的具体步骤中,本发明主要用于应用在步骤S9中,在基于一维数组假设的基础上,替换现有的距离计算方法,语音识别的具体流程如图1所示。
S1.用户说出待学习命令词,系统进行语音采集和端点检测,通过端点检测的语音进入步骤S2;
S2.先对语音信号进行分帧、加窗、FFT处理,然后提取语音的梅尔滤波 fbank特征,得到命令词的语音声学特征向量集合Xf;
Xf={ Xft},t=1,2…N---(1);
其中,Xft为第t帧的语音声学特征向量,上标t表示帧编号, t是1到N之间的任意值,N为帧数;
S3.将语音声学特征向量集合Xf送入深度神经网络进行深度神经网络计算,得到DNN输出向量集合Ot;
M为输出层音素分类总数,id为DNN输出层音素分类编号,上标t是帧编号
公式(4)是本发明的理论假设基础。
(4)式成立的前提是:空间的任何一个向量都可以由坐标系的单位向量组合而成,而未知声音可以由有限已知音素组合而成,因此可以把已知音素集成的单位量看成坐标系的单位向量,进而表示任意的未知声音;
(4)式代表的是未知的一个声音可以使用已知音素集合的单位向量线性组合而成
采用(4)式假设,未知音素可用已知音素集合线性组合来表达,可以兼容更多没训练过的语种,不需要再针对性重新训练,极大节省开发周期,应用更广泛便捷。
因此,公式(4)可以用一个二维数组表示,即得到公式(5):
则对应的深度声学特征集合Df可以表示如下
S4.对每一音频,按照步骤S1至S3计算DNN输出向量集合Ot;
DNN的输出分类M一般是数百到数千的整数,如果不降低维度,则深度声学特征向量的空间维度太大,导致在嵌入式设备计算上需要消耗较大算力和存储空间。所以本发明进一步提出降低深度声学特征向量维度的方法。
公式(5)描述了第t帧的未知语音音素可以用已知语言大数据训练分类的音素组合来表示;
由于组合中贡献大的音素分类主要是得分较大的音素分类,可依次选取K个最大得分的音素分类来拟合;
为简化后续计算,可设置选择的音素分类数K远小于输出层音素分类总数M。将选择出的K个音素分类按照概率得分从高到低排列,得到筛选出K个最大得分的音素分类后的深度声学向量,令,以(6)式表示筛选音素分类后的深度声学向量,
其中id(k,t)表示第t帧的第k个音素分类,sid(k,t)表示该音素分类id(k,t)对应的概率分数;
由于K小于输出层音素分类总数M,K个音素分类的概率求和不为1,需要重新归一化。
将K个音素分类的概率求和:
sum_scoret为K个音素分类的概率总和;
对集合中每个元素的概率得分进行归一化,对第k个音素分类,归一化后的概率得分:
s_norid(k,t)=sid(k,t)/sum_scoret(8)
由于每帧的前K个分类编号将不再固定,所以分类编号将与帧编号t关联,所以分类编号记为:sid(k,t)表示第t帧,深度特征矩阵中的第k个音素编号。
其中s_norid(k,t)表示sid(k,t)归一化之后的概率分数。
S6.对全部待学习命令词重复步骤S5,得到全部待学习命令词的声学特征模板,完成全部待学习命令词的声学特征模板后,可利用这些声学特征模板进行语音识别,语音识别的具体步骤为:
S7.持续进行语音端点检测,检测到语音端点则执行步骤S8, 否则一直进行语音端点检测;
S9. 计算用户语音深度学习特征Xb(tm)与所有声学特征模板Xi(t)之间的欧氏距离Di(t):
详细计算步骤如下:
当使用完整的DNN分类个数来表述深度声学特征向量,即分类个数K=M时,深度声学特征向量如(5)式。
设语音设备在学习用户自定义命令时,按帧计算通过DNN 得到第t帧的深度声学特征模板
由于人说话语音长短不稳定,学习和识别时的帧数不会严格相同,所以t 不一定等于tm。
第tm帧用户语音深度学习特征Xb(tm)和识别时的第t帧声学特征模板Xi(t)间几何距离D(t, tm)可以用(10)式进行绝对值距离计算:
也可以用(11)式进行欧氏距离计算:
sqrt表示开方,M为最大深度学习特征维度,k为深度学习特征维度,K为筛选后的音素分类总数;
当使用前K个最大得分的音素分类来拟合深度声学特征向量时,即音素分类数K远小于输出层音素分类总数M(K<M),深度声学特征向量如(9)式;
由于K<M , 存在用户训练时,设备学习记录的深度声学特征向量中的音素分类和识别时计算得到的深度声学向量中的音素分类在矩阵单元的序号不同,甚至没有。所以在进行距离计算时,需要先找到相同的音素分类编号对应的分值,再求距离。
第tm帧用户语音深度学习特征为Xb(tm),第t帧声学特征模板为Xi(t),如果待识别特征的音素分类在声学特征模板的音素分类中,则采用待识别特征的音素分类对应的概率得分;否则采用初始值0作为得分;
根据公式(9),可设第tm帧用户语音深度学习特征Xb(tm)为
第t帧声学特征模板Xi(t)为
遍历所有用户语音深度学习特征的音素分类即id(k,tm)是否在模板特征的音素分类即id(k,t)中;
如前所述,更新的第t帧用户语音深度学习特征中,第二行的部分概率分数可能为零。
然后将更新后得到的用户语音深度学习特征Xnew(tm)和第t帧声学特征模板Xi(t)进行几何距离和欧氏距离等的求取,可以使用公式10、11进行计算。
为了再次简化距离的计算,本发明进一步设计了一种不用概率得分,而通过声学特征模板和待识别的用户语音深度学习特征中音素分类的排序来求特征距离的方法。
具体实现思路如下:
在步骤S4的基础上,第t帧声学特征模板缩减为:
Xi(t)=[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]
id(i,t)表示声学特征模板的第t帧第i个音素分类,其中(i = 0,1,...K-1);
类似的,第tm帧待识别的用户语音深度学习特征缩减为:
Xb(tm)=[id(0,tm), id(1,tm)…id(j,tm)…id(K-1,tm)]
id(j,tm)表示用户语音深度学习特征的第tm帧第j个音素分类,其中(j= 0,1,...K-1),
并设置一维的第一经验数组 d_null={d_null(k)},k = 0,1,...K-1, K表示使用的分类个数;
配置一维数组d_null的元素d_null(k)的初始值全部为大于0的一组经验正数值,并使
d_null(0) >= d_null(1) >=...d_null(K-1)。
设置d_null(k)含义为用户语音深度学习特征Xb(tm)中某一维对应的音素分类不在声学特征模板Xi(t)中时,该音素分类对应体现的声学特征模板和用户语音深度学习特征之间的距离。
如果待识别特征的用户语音深度学习特征音素分类在声学特征模板的音素分类中,即id(j,tm) ∈[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]
则待识别特征音素分类和对应的声学特征模板音素分类的距离为α*│i-j│,i为声学特征模板音素分类对应的数组序号,j为用户语音深度学习特征音素分类对应的数组序号, │i-j│表示两者对应的数组序号之间差值的绝对值,其中第二经验数组α=(α1…αk…αK-1)是一组按从大到小顺序排列的经验值,由于S4步骤中设置音素分类按照概率得分从高到低排列,α=(α1…αk…αK-1)中的元素从大到小排序表示靠前的音素分类对整个距离的计算贡献更多,对应一个更高的概率。
如果待识别特征的用户语音深度学习特征音素分类不在声学特征模板的音素分类中则采用初始值d_null(k)作为距离。
从待识别特征的第一个音素id(0, tm )按照上述规则进行遍历,即可求得距离D。
例如,一个较简单的典型设置中,设d_null(k) 中全部元素为1 ,α中全部元素为0,即只要待识别特征的音素分类在声学特征模板的音素分类中,就认为两者距离为0;则上述距离求解过程就变成求Xb(tm)和Xi(t)中音素分类编号相同的交集了。如果交集越多,则距离值就越小,如果待识别的用户语音深度学习特征的音素分类都不在声学特征模板的音素分类,则距离为K(即1*K=K),否则都小于K。
例如:假设K=5,
Xb(tm)=[10、5、30、40、50],Xi(t)=[50、7、20、10、30]
待识别特征的音素分类为10,5,30,40,50,我们依次判断其是否在Xi(t)对应的分类(50,7,20,10,30)中;对于Xb(tm)的第一个(i=0)音素id(0,tm )=10,其在Xi(t)中能找到相同的音素序号id(3,t )=10,因此其对应的距离为α1*│i-j│=α1*│0-3│=3α1
对于Xb(tm)的第二个(i=1)音素id(1,tm )=5,其在Xi(t)中找不到相同的音素序号,因此其距离为d_null(1);遍历Xb(tm)中所有的音素,既可以求得两个向量之间的距离D(t,tm),相应的设立合理的阈值,对低于阈值的判定为识别成功。
进一步假设d_null(k) 中全部元素为1 ,α中全部元素为0,则可以得到上面两个特征的距离D(i)=0+1+0+1+0=2。
这种方法的好处是大幅降低了运算复杂度,由于设置了按照分数从高到低排列,使得概率分数较高的音素分类在最终结果中的权重提升,减少算力的同时仍然可以维持识别正确率,从而可以减少芯片的存储内存。
在使用时,原S9步骤中使用的方法需要存储对应的模板特征,其是由一组二维数组构成(包括音素分类序号和对应的概率得分),而本方法只需要存储一个一维数组即音素分类序号;从而大大降低了芯片的存储。
得到各个帧的距离后,算出整个语音段的累积距离,并按帧数平均如下:
其中DTW表示动态时间弯曲的距离计算方法,为本领域现有技术,在此不再赘述,N为帧数,Dtolal为平均距离。
S10:根据过往经验设置注册命令词阈值th,定义平均距离Dtolal符合Dtolal<th 时,可以判定该语音为在学习过程中记录的用户自定义注册的命令词,设备输出相应的语义,否则就判定未注册命令词,不予响应。
具体实施例1:
学习阶段:
①使用启英泰伦带有深度神经网络 DNN 的芯片,通过语音识别控制进入到学习。
②模式用户说出期望的学习命令词,系统持续进行语音采集,同时进行端点检测。
③通过端点检测后,提取语音的梅尔滤波 fbank特征,滤波器设置为60个,即得到60维向量表示的自定义命令词语音声学特征:
Xf={ Xft},t=1,2…240
其中,上标t表示帧编号, t是1到240之间的任意值,帧长为240
④将Xf送入深度神经网络DNN,进行深度神经网络计算,深度神经网络输入层维度660,隐含层神经元512,隐含层数4层,输出维度3632,得到DNN的输出向量集合Ot
⑤对输出向量集合中的每个元素归一化,则有
并可以使用一组二维数组来简单表示:
按上述步骤②-⑤计算得到输出向量集合Ot,
⑥为了防止突发噪声对用户语音的干扰,提升学习的准确性。重复 ②-⑤步骤两次,分别提取对应输出向量集合并保存。将三次得到的输出向量集合进行平均值计算,并保存为该命令词的声学特征模板Xi(t),完成一个期望命令词的注册。
Xi(t)中的t表示帧数, t=1,2,3,...,N, N是音频的总帧数;Xi(t)的维度是K,一般为10到50;
重复 ②-⑥步骤,得到其他命令词的声学特征模板,直到所有学习命令词语音完成学习,退出学习模式进入识别模式。
识别匹配步骤:
⑦系统处于语音采集状态下持续进行语音端点检测,如果检测到语音端点则执行步骤⑨, 否则一直进行语音端点检测。
⑧提取用户语音深度学习特征为待识别特征Xb(t),提取方式与学习步骤中的③-⑤相同。
⑨计算待识别特征Xb(t) 与学习步骤中得到的每一声学特征模板 Xi(t) ,按照公式(11)计算欧氏距离,
⑩遍历全部帧计算各帧对应的欧氏距离Di(t),求取总距离D=DTW(Di(t)),t=1,2,3,...,N;
对任意一个声学特征模板,如果有 D < th,th为注册命令词阈值,即认为匹配该声学特征模板对应的命令词并识别,否则识别失败。注册命令词阈值th可根据实测经验值确定。
具体实施例2
本实施例与具体实施例1的区别在于,在④步骤中设置音素分类数K=200,即筛选出概率分值最大的前200个音素分类组合作为本次自学习的深度学习声学特征X1(t);
因此,具体实施例1步骤⑤的输出向量计算公式变为:
其中id(k,t)表示第t帧的第k个音素分类,sid(k,t)表示该音素分类id(k,t)对应的概率分数;
将K=200个音素分类的概率求和:
sum_scoret为K个音素分类的概率总和;
对集合中每个元素的概率得分进行归一化,对第k个音素分类,归一化后的概率得分:
s_norid(k,t)=sid(k,t)/sum_scoret(8)
其中s_norid(k,t)表示sid(k,t)归一化之后的概率分数。
具体实施例3
本实施例与具体实施例2的区别在于,
步骤S4中,在(9)式基础上,将第t帧声学特征模板缩减为一维数组:
Xi(t)=[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]
id(i,t)表示声学特征模板的第t帧第i个音素分类,其中(j = 0,1,...K-1);
对应的,步骤S8按照相同方法提取用户语音深度学习特征Xb(tm)时,将第tm帧待识别的用户语音深度学习特征缩减为一维数组:
Xb(tm)=[id(0,tm), id(1,tm)…id(j,tm)…id(K-1,tm)]
id(j,tm)表示用户语音深度学习特征的第tm帧第j个音素分类,其中(j= 0,1,...K-1);
设置一维的第一经验数组 d_null={d_null(k)},k = 0,1,...K-1, K表示使用的分类个数;d_null(k)初始值全部为1 ,设置一维的第二经验数组α=(α1…αk…αK-1),α1…αk…αK-1全部为零;
所述步骤S9中计算用户语音深度学习特征Xb(tm)与所有声学特征模板Xi(t)之间的距离Di(t)具体为:
如果待识别的用户语音深度学习特征音素分类在声学特征模板的音素分类中,即id(j,tm) ∈[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]
则用户语音深度学习特征音素分类和对应的声学特征模板音素分类的距离为0;如果待识别用户语音深度学习特征音素分类不在声学特征模板的音素分类中,则距离为1;
遍历待识别用户语音深度学习特征的音素分类j,j = 0,1,...K-1,求和即可求得距离作为欧氏距离。
本发明的优势主要是减少芯片的内存存储,下表是具体的内存存储(对于该实施例来说,本表使用小乐管家命令词为例(即以小乐管家为模板命令词),在安静、噪音环境(音乐、风噪)等环境下测试识别效果(测试样本数为20,即同样的命令词测试20次),其中测试距离为1m,信噪比为15dB):
具体实施例1 | 具体实施例2 | 具体实施例3 | |
内存(kB) | 3446 | 187 | 93 |
安静环境 | 100% | 100% | 100% |
音乐环境 | 95% | 90% | 85% |
风噪环境 | 100% | 95% | 90% |
从上表可以看出,虽然采用简化的距离计算方法,但由于筛选了概率最大部分的音素分类,识别率并没有明显下降,但计算量大幅降低,具体实施例3采用本发明简化了距离计算方法,识别率在安静环境下也没有降低,同时显著降低了内存占用,使得本发明所述方法可以应用在自有内存很小的语音识别芯片上。
前文所述的为本发明的各个优选实施例,各个优选实施例中的优选实施方式如果不是明显自相矛盾或以某一优选实施方式为前提,各个优选实施方式都可以任意叠加组合使用,所述实施例以及实施例中的具体参数仅是为了清楚表述发明人的发明验证过程,并非用以限制本发明的专利保护范围,本发明的专利保护范围仍然以其权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。
Claims (2)
1.一种基于一维假设的语音向量距离计算方法,其特征在于,
以一维数组形式表示声学特征模板:
Xi(t)=[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]
id(i,t)表示声学特征模板的第t帧第i个音素分类,其中(i = 0,1,...K-1);
以一维数组形式表示待识别的用户语音深度学习特征:
Xb(tm)=[id(0,tm), id(1,tm)…id(j,tm)…id(K-1,tm)]
id(j,tm)表示用户语音深度学习特征的第tm帧第j个音素分类,其中(j= 0,1,...K-1);
Xi(t)和Xb(tm)两个一维数组中,从左到右按照音素分类对应的概率分数从高到低排列;K为音素分类总数;
设置第一经验数组 d_null={d_null(k)},k = 0,1,...K-1, K表示使用的分类个数;d_null(k)的初始值全部为大于0的一组经验正数值,并使
d_null(0) ≥d_null(1) ≥...d_null(K-1);
设置第二经验数组α=(α1…αk…αK-1),α1…αk…αK-1为按从大到小顺序排列的值;
在上述设置基础上,计算用户语音深度学习特征Xb(tm)与所有声学特征模板Xi(t)之间的距离Di(t)具体为:
如果待识别的用户语音深度学习特征音素分类在声学特征模板的音素分类中,即id(j,tm) ∈[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]
则用户语音深度学习特征音素分类和对应的声学特征模板音素分类的距离为
α*│i-j│,
如果待识别用户语音深度学习特征音素分类不在声学特征模板的音素分类中,则距离为d_null(k),k=j;
遍历待识别用户语音深度学习特征的音素分类j,j = 0,1,...K-1,求和即可求得距离Di(t);
所述声学特征模板Xi(t)=[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]和待识别的用户语音深度学习特征:Xb(tm)=[id(0,tm), id(1,tm)…id(j,tm)…id(K-1,tm)] 取得方法相同;
其中声学特征模板取得方法为:
S1.系统进行语音采集和端点检测,通过端点检测的语音进入步骤S2;
S2.先对语音信号进行预处理得到命令词的语音声学特征向量集合Xf;
Xf={ Xft},t=1,2…N---(1);
其中,Xft为第t帧的语音声学特征向量,上标t表示帧编号, t是1到N之间的任意值,N为帧数;
S3.将语音声学特征向量集合Xf送入深度神经网络进行深度神经网络计算,得到DNN输出向量集合Ot;
集合元素中下标id为DNN输出层音素分类编号,上标t是帧编号;M代表输出层音素分类总数;为第t帧DNN输出层音素分类编号为id,概率分值为的输出向量,将音素分类按照概率分值从高到低排序,得到声学特征模板
Xi(t)=[id(0,t), id(1,t)…id(i,t)…id(K-1,t)]
其中id(0,t), id(1,t)…id(i,t)…id(K-1,t)即为DNN输出向量集合中的音素分类编号,t是帧编号,K=M。
2.如权利要求1所述的语音向量距离计算方法,其特征在于,第一经验数组d_null(k)中全部元素为1 ,第二经验数组α中全部元素为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210329125.3A CN114420111B (zh) | 2022-03-31 | 2022-03-31 | 一种基于一维假设的语音向量距离计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210329125.3A CN114420111B (zh) | 2022-03-31 | 2022-03-31 | 一种基于一维假设的语音向量距离计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114420111A CN114420111A (zh) | 2022-04-29 |
CN114420111B true CN114420111B (zh) | 2022-06-17 |
Family
ID=81262887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210329125.3A Active CN114420111B (zh) | 2022-03-31 | 2022-03-31 | 一种基于一维假设的语音向量距离计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114420111B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102664013A (zh) * | 2012-04-18 | 2012-09-12 | 南京邮电大学 | 基于能量选择的离散余弦变换域的音频数字水印方法 |
CN105321525A (zh) * | 2015-09-30 | 2016-02-10 | 北京邮电大学 | 一种降低voip通信资源开销的系统和方法 |
CN105336323A (zh) * | 2015-10-14 | 2016-02-17 | 清华大学 | 维语语音识别方法和装置 |
CN106297828A (zh) * | 2016-08-12 | 2017-01-04 | 苏州驰声信息科技有限公司 | 一种基于深度学习的误发音检测的检测方法和装置 |
CN107438181A (zh) * | 2016-05-27 | 2017-12-05 | 博雅网络游戏开发(深圳)有限公司 | 一种音视频处理方法和装置 |
CN109256142A (zh) * | 2018-09-27 | 2019-01-22 | 河海大学常州校区 | 语音转换基于扩展内核类网格法处理零散数据建模方法及设备 |
CN109448732A (zh) * | 2018-12-27 | 2019-03-08 | 科大讯飞股份有限公司 | 一种数字串语音处理方法及装置 |
CN109887511A (zh) * | 2019-04-24 | 2019-06-14 | 武汉水象电子科技有限公司 | 一种基于级联dnn的语音唤醒优化方法 |
CN110895932A (zh) * | 2018-08-24 | 2020-03-20 | 中国科学院声学研究所 | 基于语言种类和语音内容协同分类的多语言语音识别方法 |
-
2022
- 2022-03-31 CN CN202210329125.3A patent/CN114420111B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102664013A (zh) * | 2012-04-18 | 2012-09-12 | 南京邮电大学 | 基于能量选择的离散余弦变换域的音频数字水印方法 |
CN105321525A (zh) * | 2015-09-30 | 2016-02-10 | 北京邮电大学 | 一种降低voip通信资源开销的系统和方法 |
CN105336323A (zh) * | 2015-10-14 | 2016-02-17 | 清华大学 | 维语语音识别方法和装置 |
CN107438181A (zh) * | 2016-05-27 | 2017-12-05 | 博雅网络游戏开发(深圳)有限公司 | 一种音视频处理方法和装置 |
CN106297828A (zh) * | 2016-08-12 | 2017-01-04 | 苏州驰声信息科技有限公司 | 一种基于深度学习的误发音检测的检测方法和装置 |
CN110895932A (zh) * | 2018-08-24 | 2020-03-20 | 中国科学院声学研究所 | 基于语言种类和语音内容协同分类的多语言语音识别方法 |
CN109256142A (zh) * | 2018-09-27 | 2019-01-22 | 河海大学常州校区 | 语音转换基于扩展内核类网格法处理零散数据建模方法及设备 |
CN109448732A (zh) * | 2018-12-27 | 2019-03-08 | 科大讯飞股份有限公司 | 一种数字串语音处理方法及装置 |
CN109887511A (zh) * | 2019-04-24 | 2019-06-14 | 武汉水象电子科技有限公司 | 一种基于级联dnn的语音唤醒优化方法 |
Non-Patent Citations (2)
Title |
---|
"融入情感表现力的语音合成方法研究与应用";周静;《《中国优秀硕士学位论文全文数据库 信息科技辑》》;20220115;全文 * |
"说话人识别技术研究与改进";田克平;《中国优秀硕士学位论文全文数据库 信息科技辑》;20101231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114420111A (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Padmanabhan et al. | Machine learning in automatic speech recognition: A survey | |
Cui et al. | Multi-view and multi-objective semi-supervised learning for hmm-based automatic speech recognition | |
US5924066A (en) | System and method for classifying a speech signal | |
CN111899766B (zh) | 基于深度特征与声学特征寻优融合的语音情感识别方法 | |
CN117043857A (zh) | 用于英语发音评估的方法、设备和计算机程序产品 | |
Sen et al. | A convolutional neural network based approach to recognize bangla spoken digits from speech signal | |
Vimala et al. | Isolated speech recognition system for Tamil language using statistical pattern matching and machine learning techniques | |
Thamburaj et al. | An Critical Analysis of Speech Recognition of Tamil and Malay Language Through Artificial Neural Network | |
Zhang et al. | Deep Template Matching for Small-Footprint and Configurable Keyword Spotting. | |
Gosztolya et al. | Domain adaptation of deep neural networks for automatic speech recognition via wireless sensors | |
CN114420111B (zh) | 一种基于一维假设的语音向量距离计算方法 | |
CN102237082B (zh) | 语音识别系统的自适应方法 | |
Elenius et al. | Multi-layer perceptrons and probabilistic neural networks for phoneme recognition. | |
CN114420101B (zh) | 一种未知语言端侧命令词小数据学习识别方法 | |
CN113705671B (zh) | 一种基于文本相关信息感知的说话人识别方法与系统 | |
KR100776729B1 (ko) | 결정 트리 기반의 상태 군집화 방법을 사용하는 비핵심어모델링부를 포함하는 화자독립 가변어휘 핵심어 검출시스템 및 그 방법 | |
Anindya et al. | Development of Indonesian speech recognition with deep neural network for robotic command | |
Cai et al. | Deep speaker embeddings with convolutional neural network on supervector for text-independent speaker recognition | |
CN112233668B (zh) | 一种基于神经网络的语音指令及身份识别方法 | |
Fukuda et al. | Generalized knowledge distillation from an ensemble of specialized teachers leveraging unsupervised neural clustering | |
KR100327486B1 (ko) | 스테이트별 가중치를 적용한 음성 인식 장치 및 방법 | |
Xu et al. | Improve Data Utilization with Two-stage Learning in CNN-LSTM-based Voice Activity Detection | |
Poddar et al. | Data capturing and modeling by speech recognition: roles demonstrated by artificial intelligence, A survey | |
Maheswari et al. | SPEAKER INDEPENDENT PHONEME RECOGNITION USING NEURAL NETWORKS. | |
CN114398468B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |