Design of speech recognitionsystem based on CFCC and application in the Internet ofThings
Abstract
Feature extraction is one of the key technology in Automatic Speech Recognition(ASR). In recent years, feature extraction combined with auditorycharacteristics is a hotspot. With the extensive popularization of the Internet of Things (IoT), the design and realization of ASR for IoT is attracting more and moreattention from researchers.
This paper summarizes the research and development of feature extraction and its appli- cation on IoT. And a feature based on auditory model called CochleaFeature Cepstral Coeff- ieients(CFCC) is implemented. The CFCC is applied to the speaker-independent and voice interactive smart home system which isone of the important branch of IoT. The main work are as follow:First, the mathematical definition and realization method of CFCC is introduced in this paper, and the simulation study in MATLAB is implemented. MFCCand GFCC are also extracted to compared with CFCC under different level of Signal to Noise Ratio(SNR). The clean testing condition recorded under a quietenvironment in the laboratory has a high SNR, the accuracy of all features are more than 90%. After adding white noise, the SNR of the testing conditiondrops to 6dB, the performance of MFCC drops to 67.5%, GFCC is 86.8%, and CFCC is 90.4%. If the SNR is 0dB, the MFCC accuracy is less than 20%,GFCC is
45.0%, and CFCC is 65.2%, but it is still higher than the other two. The experiments shows that CFCC has better noise immunity.
Second, design an ASR based on CFCC which is integrating CFCC into the Sphinx to replace its default feature MFCC. Then ported it to embedded platform. The embedded plat- form based on OMAP3530 and installed Linux. What’s more, the QT graphical library, ALSA library, NRF24L01 wireless moduleand its driver are added which can guarantee the imple- mentation of ASR effectively.
Finally, applied the ASR based on CFCC into smart home system. This system liberate users from the traditional way of hands and eyes interaction. Userscould operate the smart home system in non-contact way without fixd place and interrupting their current behavior
Keywords:Internet of Things; smart home; CFCC; Sphinx; linux; OMAP3530
目录
独创性声明............................................................................................................................ I
摘 要 ...................................................................................................................................... II Abstract............................................................................................................................... III 第1章 绪论........................................................................................................................ 1
但 A 矩阵还决定不了初始分布,即由 A 求不出 q1 si 的概率,为了完全描述马尔可夫链,
除 A 矩阵之外,还必须引入初始概率 1 , 2 ,, n ,这样 Markov 链的特性可以由 状态转移概率矩阵 A 和初始概率矢量 π 来描述。
(二) HMM 模型
HMM 是在 Markov 链的基础上发展起来的。由于实际问题比 Markov 链模型所描述 的更为复杂,观测到的观察值并不是与状态一一对应,而是通过一组概率分布相联系的, 这样的模型就称为 HMM。它是一个双重随机过程,其一是 Markov 链,这是基本随机 过程,它描述状态的转移,另一个随机过程描述状态和观察值之间的统计对应关系,这 样,作为一个观察者只能看到状态关系,不像 Markov 链模型中的观察值与状态一一对 应,对于状态,是通过一个随机过程去感知状态的存在及其特性的[1]。
在语音识别中,所谓的观测序列就是通过特征提取得到的一帧帧的语音参数,而状 态是在训练阶段事先规定好的不同的语音单元。对于汉语来说,语音单元可以是一个完
整的音节,也可以是声母或韵母,还可以是更为精细的音素。
图 2.6 单词“识别”的 HMM 表示及其与特征参数的关系
Fig. 2.6 The HMM represent of word “shibie” and the relationship with features
如图 2.6 所示,一个 HMM 模型由若干个状态组成,随着时间的变化,各个状态之 间可以发生转移,也可以在一个状态内驻留。每个观测向量对不同的状态都有相应的输
文相关音素模型的建立可以捕捉协同发音,从而提高系统的性能。综合考虑模型精度和
运算速度,可是使用上下文相关三元音素模型(triphone)。SphinxTrain 是 CMU 提供的声 学模型训练工具,可以为 Sphinx 各个版本生成所需格式的声学模型。本文采用声母、 韵母为基本训练单元,上下文相关的三元音素方式进行声学模型的训练。以下以训练包 含:前进、后退、左转、右转和停止五条命令的语音识别系统声学模型为例,讲解训练 声学模型的具体步骤[29][6]。
(1) 字典文件:在训练之前,要指明将每一个单词发音如何拆解成声学模型。本文 采用的识别单元为声韵母,故每个汉字发音可拆解成两部分。字典文件的内容为:
前进 Q IAN J IN
后退 H OU T UI
左转 Z UO ZH UAN 右转 Y OU ZH UAN 停止 T ING ZH IB
如果上述发音中存在多音字,则多音字的所有可能发音必须全部列出,否则系统将 不能识别未列出的发音。除此文件外还需要建立一个过滤字典来表示语音中的停顿,当 解码器识别出该文件中的识别单元时,将直接忽略,一般用于表示静音(或停顿)。
(2) 音素文件:音素文件中保存着 HMM 的最小训练单元,可以从字典文件中提取。 本例的音素文件中包括 16 个单元:H、IAN、IB、IN、ING、J、OU、Q、SIL、T、UAN、 UI、UO、Y、Z、ZH。其中 SIL 表示句子的停顿或静音,或者是录音环境的背景噪声。
(3) 控制文件:详细列出语音文件的存放路径,包括训练用和测试用语音。
表示词 wi 跟其之前的 i-1 个词相关,即表示了在前面 i-1 个词出现的条件下 wi 出现
的概率。这个想法的假设条件为马尔可夫假设。满足这个假设的模型成为 i-1 阶马尔可 夫模型;而在语言模型里,称之为 i 元模型,即为常用的 N-gram 模型。N 表示了在这 句中出现的词的个数。当 i 太大时,参数空间变得非常巨大,需要的训练数据也相当大, 所以一般假设当前的这个词只依赖于前面有限几个词,n 通常取值 1、2、3 分别对应一 元文法: p(wi ) ,二元文法: p(wi | wi 1 ) 和三元文法: p(wi | wi 1 , wi 2 ) 。其中三元文法是 非常有用的,几乎所有的词都跟前两个词有很大程度的依赖性,并且这个概率可以通过
一个大小可以接受的语料库中估计得到[7]。
Cmuclmtk(Carnegie Mellon University Statistical Language Modeling toolkit)是 CMU 提供的语言模型训练工具,可以为 Sphinx 各个版本训练生成所需格式的语言模型,它 可以通过统计大量文本数据得到以单个词建立的 N-gram 模型。由于 N 较大时,需要的 存储空间和运算时间也会相应的变大,所以本文主要采用 2-gram 和 3-gram 模型,即某 个词出现的概率仅依赖于前两个或者前三个词。
图 2.9 使用 CMUCLMTK 训练语言模型过程
Fig. 2.9 Use CMUCLMTK training language model process
本文以智能家居系统中的语音识别系统为例,介绍其语言模型训练过程。所使用的 命令在图 2.9 中利用方框表示,需要准备的文件或者工具生成的文件利用椭圆表示。训 练集和测试集文本是 text 格式,文件中列出训练和测试音频数据所对应的文本文件即
表 3.1 Bark 尺度滤波器中心频率划分
Table 3.1 filter’s center frequency distribution by Bark scale
根据以上划东分,则可以计北算出各滤波器大的尺度因子 a学。在计算耳蜗滤波器系数时,
本文设置 b 的值始终为零,滤波器系数的平移通过其他方式实现,将在 3.2.2 节详细介
绍。
根据以上参数,获得 18 通道的耳蜗滤波器频率响应波形如图 3.5 所示:
听觉变换东系数提取的北实现大学
在 a,b = 0 (t) 中,b 称为时移因子,b 的不同取值关系到耳蜗滤波器函数在原语音信号
的不同位置进行内积。每平移一个单位,进行一次耳蜗基底膜滤波器函数与原信号的内 积。然而,根据不同的 b,重复计算 a, b (t) 会耗费大量的时间,严重影响程序执行效率。 从式(3.27)可以看出,积分范围是(-,+),但是由 a,b = 0 (t) 的定义可以看出,当 t<0 时
a,b=0 (t)=0 ,而当 t 趋于 时 a,b=0 (t)=0 ,所以在进行计算时,只需要计算 a,b = 0 (t) 的非零
部分即可。因此在计算过程中,令 b 始终为 0,即第 3.2.1 节计算出的 m 通道滤波器系 数始终不变,而对原始信号进行平移,这样就可以以较高的效率完成对语音的分解计算, 获得听觉变换系数[38]。程序流程图如图 3.6 所示:
图 3.6 听觉变换系数提取流程图
Fig. 3.6 Auditory transform coefficient extraction flow
假设原始语音为 x(n) ,0 n N ,则经过听觉变换后,将获得 m 个通道 N 点的听 觉变换系数T (a,b) ,1 a m ,1 b N ,其中 a 表示不同的通道,对应着不同的中心 频率,b 表示不同的位置,对应着语音信号不同时间的处理结果。
本文首先以 487.5Hz 正弦信号分别通过中心频率为 188.7Hz,487.5Hz,1000.0Hz
的耳蜗滤波器,观察其输出是否可以达到预期目标。
图 3.7 487.5Hz 正弦信号在耳蜗滤波器不同中心频率下的响应
Fig. 3.7 The cochlear filter response of 487.5Hz sinusoidal signal u der different center frequency
由图 3.7 可以看出,当信号频率和耳蜗滤波器中心频率相等时,信号可以通过滤波 器且其输出幅度最大,当信号频率和耳蜗滤波器中心频率不等时,输出信号会很快衰减 为零,且中心频率不同其衰减速率不一样。因此,本文实现的耳蜗滤波器及听觉变换算 法可以满足需求。
下图是发音‘a’的经过五通道耳蜗滤波器后的听觉变换结果如图 3.8 所示:
(b)
发音’a’的 AT 变换系数
a) 5 个通道的对比结果 b) 单一通道细节波形
Fig. 3.8 AT transform coefficients of 'a'
a) Comparative results in 5 channels b) Details of a single chann el waveform