基于K-SVD算法和组合字典的语音信号清浊音判决研究

2020-05-20 15:05王莲子李钟晓陈倩倩庄晓东

王莲子 李钟晓 陈倩倩 庄晓东

摘要:针对语音中清音和浊音特性的不同,本文提出了一种新的清浊音判别方法,利用K奇异值分解(K singular value decomposition, KSVD),分别对数据样本中的清音和浊音进行字典学习,训练出符合样本信号特性的浊音字典和清音字典,将多个单清音字典组合成组合清音字典,多个单浊音字典组合成组合浊音字典,并将待测信号在组合浊音字典和组合清音字典上进行稀疏表示,通过对比其系数的稀疏性来判别清浊音。研究结果表明,在相同条件下,与传统的清浊音判别方法相比,基于组合字典的判别方法对于多音素的清浊音判决具有更加准确的判决结果。该研究对语音识别和语音编码具有重要作用。

关键词:语音判别; 字典学习; 稀疏表示; 组合字典

中图分类号: TP391.42; TN912.34文献标识码: A

语音是由气流激励声道从嘴唇或鼻孔辐射出来而产生的。根据声带是否振动,发音可分为浊音和清音[1]。浊音和清音有明显的区别,浊音具有周期信号的特征,而清音则具有随机噪声的特征;浊音在频域上具有共振峰结构,其能量主要集中在低频带,清音的振幅值相对较小,在时域和频域没有明显的规律性。清音和浊音的正确判断在语音识别、语音合成、语音编码中具有重要作用[2]。传统的清浊音区分方法有:短时能量法、短时自相关函数法和过零点法等。由于实际语音常有连读以及单音素发音过短的情况,现有的清浊音判断方法也会出现判断不准确的情况。2006年,D. L. Donoho等人[34]提出了壓缩感知,进一步促进了稀疏表示理论的发展,使稀疏表示由最初的数据压缩推广到众多领域中,并在各方面均取得了较好的应用效果。信号需要在字典上进行稀疏表示,合适的字典直接影响信号的稀疏表示效果。因此,本研究将字典学习和稀疏表示与清浊音判断相结合,提出了一种基于组合字典上稀疏表示的清浊音判别方法,实验数据表明,该方法在多音素的清浊音判决上具有较高的准确率。该研究为语音信号的判决提供了理论基础。

1稀疏表示和字典学习方法

1.1信号的稀疏表示

稀疏表示是信号在一组特定的向量组上进行线性分解[21],其线性分解的系数必须尽可能的稀疏。稀疏表示的求解模型[57]为

式中,y表示信号分帧后的矩阵,为n行m列;D表示字典,为n行s列矩阵;di为D的一列原子;C为稀疏系数,C的每一列为语音信号矩阵每一列在字典D上的稀疏系数向量。

正交匹配追踪(orthogonal matching pursuit,OMP)是一种贪婪算法,它是匹配追踪(matching pursuit,MP)的一种改进算法,OMP算法中的当前残差与所有被选入的原子正交。OMP算法的具体模型[8]为

式中,e是每次迭代后的残差;dr0是与索引集合中对应的原子数;r0是下标索引集。OMP算法的具体流程[911]为

OMP算法整个稀疏求解过程的迭代次数减少,收敛速度比MP算法要快,且OMP算法结合了基追踪(basis pursuit,BP)算法和MP算法的优点[12],在保证信号精度的同时,也可以相应的提高运算效率。因此,本研究选择OMP算法作为稀疏求解方法。

1.2K-SVD字典学习算法

字典的构造一般分固定字典和学习字典。字典学习就是对于某一类特定的信号进行学习,训练一组符合样本信号结构特性的过完备向量,并使该信号能够在此字典进行稀疏表示。字典学习一般分为稀疏编码阶段和字典更新阶段。常见的字典学习算法有K-SVD算法和最优方向(method of optimal directions,MOD)算法。K-SVD算法是一种经典的字典学习方法[1316]。K-SVD算法目标优化函数为

K-SVD算法的具体流程[1720]如下:

设信号矩阵为y(n×m),初始字典为D0(n×s),t=1,误差为ε,K为稀疏度。whileC0ε,循环开始:

利用稀疏表示算法,通过字典D得到稀疏系数,对D进行逐列更新:找到dt,t=1,…,s对应的稀疏表示稀疏Ct中非零元的下标,并将下标放入索引集合w中。w=j|C(t,j)≠0,1

MOD算法构造简单,但计算复杂,并没有得到广泛地应用。K-SVD算法是对MOD算法的一种改进,其计算速度快于MOD算法[18]。因此,本研究选择K-SVD算法作为字典学习算法。

2基于组合字典的清浊音判决的实现

2.1基于组合字典的单音素清浊音判决

本研究选择OMP算法来实现稀疏求解,并利用K-SVD算法对清音样本和浊音样本进行字典学习。通过字典学习,训练出单个清音字典和浊音字典,将多个清音字典组合起来构成组合清音字典,多个浊音字典组合起来构成组合浊音字典,将待测信号分别通过组合浊音字典和组合清音字典进行稀疏表示,得到两组不同的稀疏系数,比较两个组合字典下稀疏系数的稀疏性,进而判别出清浊音。实验主要分3个阶段:即组合字典训练阶段、稀疏表示阶段及清浊音判别阶段。

实验的运行环境为:Windows 7和matlab2014a,研究所采集的样本数据以及测试数据是在安静的环境下录制,采样频率为16 kHz。语音帧长为128 ms,因为单音音素较短,为了获取数量较多的帧数,选取帧移为32 ms。

在组合字典训练阶段中,选取英文单词中常见的单音素,清音音素有[s],[],[h]等,浊音音素有[a],[o],[u],[i:],[e]。先利用K-SVD算法对以上单音素进行字典训练,以清音[s],[],[h]为样本,训练出相应的Ds清音字典、Dsh清音字典和Dh清音字典,并将上述几个清音字典组合起来,构成组合清音字典Dunvoiced=[Ds,…Dh]。同时,以浊音[a],[o],[u],[i:],[e]为样本,训练出相应的Da浊音字典、Do浊音字典和Du浊音字典等多个浊音字典,并将其组合起来,构成组合浊音字典Dvoiced=[Da,Do,…Du]。在稀疏表示阶段,将待测信号通过OMP算法分别在Dunvoiced和Dvoiced上稀疏表示,得到不同的稀疏表示系数,即:组合清音字典系数Sunvoiced和组合浊音字典系数Svoiced。

在清浊音的判决阶段,以帧为单位,比较每一帧Sunvoiced和Svoiced稀疏性的强弱来判决当前时刻的清浊音。在进行比较之前,需先计算每一帧Sunvoiced和Svoiced的稀疏性,稀疏性是指稀疏系数的l0范数,因为l0范数计算繁琐,本研究为了获取比较准确的结果和较低的计算复杂度,选择稀疏系数的l05范数作为稀疏性比较的依据。Sunvoiced和Svoiced稀疏性的强弱,则是由比较Sunvoiced和Svoiced的l05范数的大小来确定,l05范数较小的系数视为稀疏性较强。当Svoiced的稀疏性强于Sunvoiced的稀疏性时,此帧判决为浊音;当Sunvoiced的稀疏性强于Svoiced的稀疏性时,此帧判决为清音。由于实际语音发音的复杂性,一些帧的稀疏系数不足以准确区分浊音和清音,为了解决这一问题,在进行Sunvoiced和Svoiced的稀疏性比较之前,需对每一帧稀疏系数向量的l05范数进行中值滤波。为了验证本方法的有效性,先对单音素语音进行判决测试,单音素浊音波形图如图1所示,单音素清音波形图如图2所示,单音素浊音判决结果如图3所示,单音素清音判决结果如图4所示。

图4单音素清音判决结果由图1和图2可以看出,浊音与清音具有明显不同的结构,其中浊音表现有周期信号的特性,振幅较大,而清音的特性与随机噪声相似,振幅值较小;由图3和图4可以看出,基于组合字典的稀疏表示方法,對单音素的清浊音识别是有效的。当Svoiced的l05范数小于Sunvoiced的l05范数时,此帧判决为浊音。由图3还可以看出,[a],[o],[u]这3个浊音音素Svoiced的l05范数均小于Sunvoiced的l05范数,即组合浊音字典上系数的稀疏性强于组合清音字典上系数的稀疏性。当Sunvoiced的l05范数小于Svoiced的l05范数时,此帧判决为清音;由图4还可以看出,[sh],[s],[h]这3个清音音素的Sunvoiced的l05范数均小于Svoiced的l05范数,即组合清音字典上系数的稀疏性比组合浊音字典上系数的稀疏性强。

为进一步证明基于组合字典清浊音判决的有效性,现将清浊音判决方法应用于多音素单词中,并将判决结果与传统的清浊音判决方法作比较。在判决过程中,为了更加直观的观察判决结果,每一帧的判决结果用0或者1表示,其中1代表此帧判决为清音,0代表此帧判决为浊音。分别对[statistics],[face],[show]这3个语音单词进行分割实验,其多音素的语音信号波形及其判决结果如图5~图7所示。

由图5可以看出,开始时语音发音是清音[s]和[t],在判决结果图中判决为1;当浊音[ˊ]发音时,Svoiced的稀疏性强于Sunvoiced,此时判决结果为0。清音[t]发音时,Svoiced的稀疏性弱于Sunvoiced,判决结果为1;当浊音[]发音时,判决结果又一次为0;由图6可以看出,开始时语音发音为清音[f],在判决结果图中判决为1;当浊音[e]发音时,此时判决结果为0;清音[s]判决结果为1。由图7可以看出,开始时语音发音为清音[],判决结果为1,当浊音[]发音时,其判决结果为0。由图5~图7表明,[statistics],[face],[show]的判决结果与其发音一致,基于组合字典的清浊音判决方法对于多音素的清浊音判决具有显著的效果。

图6[face]基于组合字典的清浊音判断图7[show]基于组合字典的清浊音判断本研究利用短时过零点法和短时能量法,分别对清音音素和浊音音素进行测试,经过大量实验数据得出,清音音素的短时过零点次数一般在一帧20次以上,因此短时平均过零点法的判决阈值为20,短时平均过零点次数大于20的帧判决为清音,小于20的帧判决为浊音。而清音的短时能量幅值一般在0.15以下,因此短时能量法的清浊音判决阈值为0.15,短时能量幅值小于0.15判决为清音,短时能量幅值大于0.15的判决为浊音。对[face],[statistics],[show]这3个单词分别进行清浊音判决,现只展示部分判别情况,[face]基于短时能量法和短时平均过零点法的清浊音判决结果如图8和图9所示。

图8[face]基于短时能量法的清浊音判决结果图9[face]基于短时平均过零点法的清浊音判决结果由图8和图9可以看出,对于一些位于浊音和清音重叠区域的音素,短时平均过零点法和短时能量法的判决效果并不准确。短时能量法并没有很好的区分出语音中存在的爆破音;而清音的特性与噪声特性类似,噪声的平均过零率也比较高,当待测语音中出现噪声时,短时平均过零法较容易将噪声误判为清音。此外,短时过零点法和短时能量法的阈值是根据大量实验测试得出,在判决过程中也会有个别点出现,导致一些帧的判别结果并不准确。在判决过程中,阈值的选取极为重要,而阈值的选取依赖于大量的实验数据,这就要求对样本实验数据有着极高的准确率,才能达到比较准确的判决效果。因此,这两种传统的清浊音判别方法表1传统方法与组合字典的清浊音判决正确率对比

判决音素准确率/%短时过零法短时能量法组合字典法face85.9887.2399.07statistics49.6693.10100.00show97.0699.73100.00在多音素的判决中并没有得到理想的检测效果。

传统方法与组合字典的清浊音判决正确率对比如表1所示。由表1可以看出,在相同条件下,与传统的判别方法相比,新提出的方法在多音素清浊音判决上具有更加准确的判别结果。这是因为基于组合字典的清浊音判决方法并不依赖于阈值,排除了个别点的干扰,只将组合清音字典上和组合浊音字典上系数的稀疏性做比较,比较方法具有相对性,而且清音和浊音具有很大的结构差异,不同字典上系数的稀疏性差别较大,清浊音的区分程度更大,因此新方法对于清浊音的判决也更加明显。

3结束语

本文将字典学习和稀疏表示与清浊音判决相结合,提出了一种新的清浊音判决方法。利用K-SVD算法对清音音素和浊音音素进行字典学习,分别训练出符合清音特性的清音字典和符合浊音特性的浊音字典,并将多个单音素的清音字典组合成组合清音字典,多个单音素的浊音字典组合成组合浊音字典,将待测信号在组合清音字典和组合浊音字典上稀疏表示,得到相应的稀疏系数,比较清浊音组合字典上系数的稀疏性强弱,进而实现清浊音判决。与传统的清浊音判决方法相比,基于组合字典的清浊音判决方法并不依赖于阈值,受其他样本数据测试结果的影响较小,排除了一些偶然性的干扰,在多音素的判决上具有较高的准确性。

参考文献:

[1]赵力. 语音信号处理[M]. 北京: 机械工业出版社, 2016.

[2]闫润强, 朱贻盛. 基于定量递归分析的清浊音判决[J]. 电子与信息学报, 2007, 29(7): 17031706.

[3]Donoho D. L. Compressed sensing[J]. IEEE Transactions on Information Theory, 2006, 52(4): 12891306.

[4]于俊凤, 曹俊兴. 基于组合参数的清浊音判决方法[J]. 太原理工大学学报, 2004, 35(4): 467469.

[5]谭晓冰. 基于稀疏编码的语音去噪技术研究[D]. 成都: 电子科技大学, 2015.

[6]Barchiesi D, Plumbley M D. Dictionary learning of convolved signals[C]∥2011 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). Prague, Czech Republic: IEEE, 2011, 58125814.

[7]郑思龙, 李元祥, 魏宪, 等. 基于字典学习的非线性降维方法[J]. 自动化学报, 2016(7): 10651076.

[8]李彬. 基于稀疏表示的自适应语音增强方法研究[D]. 厦门: 厦门大学, 2015.

[9]吴小龙, 伍松. 一种改进的变步长OMP图像重建算法[J]. 广西科技大学学报, 2019, 30(4): 6469.

[10]莫长鑫, 毕宁. OMP算法对稀疏信号准确重构的一个充分条件[J]. 复旦学报: 自然科学版, 2019, 58(1): 1924.

[11]周思源, 赵锦航, 刘健均, 等. 基于优化字典矩阵设计的OMP改进信道估计算法[J]. 电子技术, 2018(10): 102106.

[12]鲍光照. 基于稀疏表示与联合字典学习的语音增强算法研究[D]. 合肥: 中国科学技术大学, 2015.

[13]郭欣. 基于K-SVD稀疏表示的语音增强算法[D]. 太原: 太原理工大学, 2016.

[14]金卯亨嘉. 压缩感知中字典学习算法的研究及应用[D]. 天津: 天津大学, 2014.

[15]Zhou Y, Zhao H, Shang L, et al. Immune K-SVD algorithm for dictionary learning in speech denoising[J]. Neurocomputing, 2014, 137(15): 223233.

[16]Rosas-Romero R, Remote detection of forest fires from video signals with classifiers based on K-SVD learned dictionaries[J]. Engineering Applications of Artificial Intelligence, 2014, 33: 111.

[17]许根鹏. 字典学习算法研究及其在语音增强中的应用[D]. 广州: 广东工业大学, 2017.

[18]刘雅莉, 马杰, 王晓云, 等. 一种改进的K-SVD字典学习算法[J]. 河北工业大学学报, 2016(2): 18.

[19]牛彪, 李海洋. 低字典相干性K-SVD算法研究[J]. 计算机与数字工程, 2019, 47(1): 97103.

[20]罗友. 基于联合字典学习和稀疏表示的语音降噪算法研究[D]. 合肥: 中国科学技术大学, 2016.

[21]Song L J, Peng J Y. Dictionary learning research based on sparse representation[C]∥2012 International Conference on Computer Science and Service System. Nanjing, China: IEEE, 2012, 1417.Judgement of Voiced and Unvoiced Sounds Based on

K-SVD and Combined-Dictionary WANG Lianzi, LI Zhongxiao, CHEN Qianqian, ZHUANG Xiaodong

(College of Electronic Information, Qingdao University, Qingdao 266071, China)Abstract:  According to the difference between voiced and unvoiced sounds, a new method has been proposed to judge them in this paper. The study selects enough voiced and unvoiced sounds as the object of dictionary learning and employs K-SVD algorithm to construct voiced dictionary and unvoiced dictionary respectively. And multiple single-voiced dictionaries are combined into a combined-voiced dictionary, while multiple single-unvoiced dictionaries are combined into a combined-unvoiced dictionary. Then the signals to be judged are sparse represented in combined-voiced dictionary and combined-unvoiced dictionary. The way to distinguish the voiced and unvoiced sounds is comparing the sparsity of coefficients in two dictionaries. The results have showed that comparing with the traditional methods by a large number of experimental results, the method based on combinatorial-dictionary is more accurate in the judgement of multiple phonemes under the same condition. This research is important for speech recognition and speech coding.

Key words:  speech judgement; dictionary learning; sparse representation; combined-dictionary

收稿日期: 2019-12-18; 修回日期: 2020-02-13

基金項目:国家自然科学基金资助项目(41804110)

作者简介:王莲子(1995-),女,山东人,硕士研究生,主要研究方向为语音信号处理。

通信作者:庄晓东(1977-),男,博士、副教授,硕士生导师,主要研究方向为语音信号与图像处理。 Email: xdzhuang@qdu.edu.cn