卓嘎,边巴旺堆
(西藏大学工学院电信系,西藏 拉萨 850000)
藏族是我国少数民族之一,人口分布广,使用藏语人数多,主要有卫藏、安多和康三大方言[1]。藏语是拼音语言,有严格的拼读规则。三种方言文字一样,但同一个字发音却有很大的差异。近年来,藏语语音识别研究人数的逐渐增多,藏语语音识别技术取得了一定的成绩,但是与其它语言的语音识别技术相比还是存在很大差距,特别是在连续语音识别研究上需要进一步加强研究深度[2]。
语音的声学特征参数是语音识别的关键参数之一[3],其精确度直接影响语音识别的效率。即使是一段几秒长的语音文件其信息量也是很大的,为了提高语音的识别质量必须有选择性的提取语音中的表征语音特色的有用信息,一般语音声学参数分为语音时域特征参数和频域特征参数。时域参数包括短时幅度、短时能量、短时过零率、短时自相关函数等。频率参数包括语音基音频率、共振峰、MFCC梅尔倒谱系数(Mel Frequency Cepstral Coefficents)参数等。在孤立词语音信号中单独的字或词的语音信号的音强、时长、能量分布等特征比较容易观察和分析,但是日常生活和实际的社会环境中使用的都是连续的语音句子,这些句子根据说话人的说话风格,语速、背景,情绪有很大的差异,因而藏语孤立字和词的声学参数特征提取已经不能满足藏语语音大数据智能化的需求,本论文在Matlab环境下对藏语连续语音数据提取部分时域和频域参数,结合藏语发音特征进行参数特征分析,为藏语连续语音识别、语音合成和语音智能化的提供参考数据。
语音信号是频率随时间变换的一维信号,是一种非平稳信号。为了能够在类似稳定状态下对语音的特征进行分析,需要对原始的语音信号进行短时处理,一般情况下语音在10-30ms时间段内信号相对平稳,因此,在此时段内对原始语音进行分帧加窗处理[4][5]然后计算语音的短时平均能量、短时过零率、短时自相关函数等各种特征参数。
短时能量是经过分帧加窗的连续语音,对各帧计算语音能量,其计算公式如下:
E(i)是语音信号分帧后第i帧的短时能量,各帧的帧长为L,分帧后的总帧数为fn。声带振动的语音短时能量较强[6],如浊音语音信号;声带不震动的语音,短时能量较弱,如清音语音信号。语音短时能量的值受前期分帧加窗时所选择的窗的类型的影响。一般采用Hamming窗[7]。
短时过零率是连续语音采样后的离散语音信号样本值的改变情况或次数。在语音短时分析中,一般用一帧语音信号穿过横州的次数来计算,其计算公式为:
L是短时分帧后各帧的帧长,Z(i)是第i帧样本值的过零次数[8]。公式中sgn[·]是符号函数,表达式如下:
声带振动的浊音语音信号能量较强频率较低,因此短时过零次数少,反之,声带不振动的浊音语音信号能量较弱频率较高,因此短时过零次数多。语音信号处理中,通常用短时能量和短时过零率的这个特点来设置相应的阈值进行语音的端点检测[9],用于清浊音的判断和音节分割等应用[10]。
语音离散信号的自相关函数公式为:
k是时间移位,Ri是第i帧的自相关值,xi是周期性语音信号的样点值。如果信号周期为T,则在第一个周期及其整数倍的延时样点上Ri(k)有最大值。
语音的短时自相关函数[9-12]就是语音信号分帧后各帧离散信号延时后的相关程度或者相似程度。对于具有周期性的语音信号其短时自相关函数也具有周期性。一般用短时自相关的周期或周期的倒数即频率作为语音特征参数之一进行语音基音特征提取[13-14]。语音浊音信号具有周期性,而清音信号的频率变化没有明显的规律,类似于随机噪声信号。在实际语音信号处理过程中由于存在声道影响、频率混合等各种干扰,降低了提取的基音参数的准确性,因此会在计算短时自相关函数之前进行中心削波非线性处理[15],其计算公式如下:
式中,CL是自定义的阈值,是中心削波后的语音样点幅值,x(n)是原始语音的样本幅值。中心削波后,滤掉了原始语音信号中部分干扰峰值信号,提高了基音周期峰值的精确度。
实验对藏语母语话者进行了一段拉萨语(卫藏方言)连续语音的录音,语音内容为(句子意思是“你们的专业是藏语文还是汉语文?”);语音长度为2.0 s,采样频率44 100 Hz,进行短时分析用汉明窗,窗长为20 sm,帧交叉重叠为10 sm,语音文件保存为“a.wave”。在Matlab软件环境下进行仿真实验,实验流程图1如所示,连续语音信号进行单声道处理以后先分帧加窗生成稳定的短时帧,然后计算短时能量、短时过零率和短时自相关函数。计算短时自相关函数之前先进行中心削波处理,最后再绘制连续语音基音轨迹图。
图1 实验流程图
图2 原始藏语连续语音波形
图2是例句语音a.wave的原始时域波形,横轴为语音持续的时间,纵轴是语音的幅度。
图3、图4、图5分别是对原始连续语音信号进行分帧、加窗后计算的短时平均能量、短时过零率和用短时自相关函数法提取的基音波形。图3中纵轴上的值代表语音短时能量强弱值,单位为dB,用虚竖线人工分割了连续句子的各个音节,一共是十个音节。语音例句中的十个音节平均时长在表1中列出,第5个音节时长最短,第7个音节时长最长。在连续语音中,音节之间存在两个或几个音节的连读,有时会有发音延时或者缩短的问题[16],音节之间的停顿很难确定,如图3中的第7和第10两个音节是同一个音节都是疑问词,但由于表达的语气不同,第七个音节延长了音节尾部的发音,带有强调的语调,因此其时长较长,而第10个音节是整句话最后的疑问词,声调短而轻长。同样第6和第9音节在连续语音中与前面的音节连读形成双音节短语其时长、短时能量和短时过零率都有区别。
如图3、图4中虚线划分的每个音节的平均能量和平均过零率值在表1中列出。发音过程中,清音声带不振动能量较小,浊音声带振动能量较大。图3中短时能量值较低的片段是开头读清音的音节,短时能量值较高的片段是开头读浊音的音节,因此第1、2、4、7、9音节的短时能量值较大。
图3 语音短时能量波形
图4 语音短时过零率波形
一般清音过率高,浊音过零率低,因此在音节里,开头发浊音的音节过零率低,开头发清音的音节过零率高。与短时能量相反,从图4语音的短时过零率波形中可以看出,短时能量较高的音节其对应的过零率值反而低,短时能量较低的音节其过零率值较高。
语音清音发音时由于声带不振动能量较弱不具备明显的周期性。而浊音信号具有周期性,可以通过提取基音特征参数跟踪观察语音的基音轨迹。图5是例句语音文件a.wave的连续语音基音频率的仿真波形图。采用了自相关基音提取算法,图中每个虚线片段内是每个音节的基音频率分布曲线。其中基音最高频率在500 Hz左右,最低在100 Hz左右。一般男性声音的基音频率在64~523 Hz左右[17],语音文件a.wave也是男生的录音。纵坐标上的频率值为对应时间该音节的基音频率值,单位为Hz。每个音节的平均基音频率在表1中列出。由于粗略地提取了基音参数,图5中各个音节的基音分布不是很明显。图6是经过语音噪声滤波、中心削波处理后的基音轨迹波形,除了第一共振峰[18]和静音造成的局部噪点和野点外,图6中连续语音基音波形中可以看出比较明显的基音分布规律。藏语语音发音中,一个音节的发音是该音节各个音素加上元音和音调的拼读。图6波形可以看出本实验语音例句中10个音节的基音频率分布情况。连续语音发音过程中存在两个或两个以上的音节的连读,因此其基音频率也具有连续性,比如第1、2音节连读,3、4音节连读,5、6、7音节连读,图6中对应音节的基音波形也具有连贯性,其中发清音的音节由于不具备周期性,其基音频率分布也比较杂乱,如例句中的第8个音节,该音节发清音短而轻是送气的塞音清音。
图5 语音短时自相关基音波形
图6 藏语连续语音基音轨迹
实验中提取短时平均能量、短时过零率、短时自相关函数等声学参数基本上能够很好的表征藏语连续语音中的声学特征,特别是实验中经过滤波、中心削波处理藏语连续语音的基音轨迹波形,能够很好地表征连续语音中各个音节的频率变化。需要说明的是本实验是在无噪音的环境下对语音录音数据进行参数提取,实际情况中可能还存在各种人为噪声和自然环境噪声,因此在以后的研究中,还需要对不同噪声环境下提取藏语连续语音声学特征参数进行更深入的研究。
致谢:本文获得西藏自治区高原通信科研创新团队的支持!