李永宏
(西北民族大學(xué)中國民族語言文字信息技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,甘肅蘭州730030)
基于MATLAB的呼吸和氣流信號分析系統(tǒng)
李永宏
(西北民族大學(xué)中國民族語言文字信息技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,甘肅蘭州730030)
呼吸是語言產(chǎn)生的動(dòng)力基礎(chǔ),通過呼吸帶傳感器和氣流氣壓計(jì)可以實(shí)時(shí)地對發(fā)音過程進(jìn)行信號采集.文章在大量分析和深入研究的基礎(chǔ)上,利用matlab編程語言設(shè)計(jì)并實(shí)現(xiàn)了呼吸氣流信號分析程序,功能包括常規(guī)的語音信號處理功能、呼吸和氣流信號語言學(xué)標(biāo)記功能、呼吸和氣流參數(shù)的提取和保存等.系統(tǒng)的開發(fā)為言語動(dòng)力的研究提供了方便的工具.
氣流信號;呼吸信號;分析系統(tǒng);MATLAB
呼吸在語言產(chǎn)生過程中發(fā)揮了重要作用,言語產(chǎn)生是一個(gè)復(fù)雜的生理過程,語言中樞下達(dá)命令,這些命令表現(xiàn)為神經(jīng)脈沖信號,指揮發(fā)音器官的肌肉產(chǎn)生運(yùn)動(dòng),因此出現(xiàn)了氣流氣壓的變化、聲門的動(dòng)作和聲腔共鳴系統(tǒng)的調(diào)節(jié),最終輸出可懂的語言[1].國外有大量的文獻(xiàn)研究發(fā)音的呼吸和氣流問題,國內(nèi)從上世紀(jì)80年代還進(jìn)行發(fā)音氣流的研究[2].國內(nèi)最早采用呼吸帶進(jìn)行的研究是針對不同文體朗讀的呼吸韻律研究[3].目前呼吸帶信號的氣流氣壓信號的研究逐漸地?cái)U(kuò)展到了漢語方言和民族語的研究中.通過呼吸帶傳感器和氣流氣壓計(jì)可以實(shí)時(shí)地對發(fā)音過程進(jìn)行信號采集.采集的信號通過程序處理得到研究所需的各項(xiàng)參數(shù).Matlab是一個(gè)高度集成的語言環(huán)境,在該環(huán)境下既可以進(jìn)行交互式的操作,又可以編寫程序、運(yùn)行程序并跟蹤調(diào)試程序.除了在理工方面Matlab比較普及外,在言語科學(xué)研究方面,Matlab也發(fā)揮了比較重要的作用,開發(fā)了大量的面向語言研究的程序和軟件[4].本文設(shè)計(jì)呼吸氣流信號分析程序,利用Matlab編程語言在Windows平臺上進(jìn)行了實(shí)現(xiàn),主要用于發(fā)音動(dòng)力相關(guān)的各項(xiàng)研究.
發(fā)音人佩戴面罩采集發(fā)音時(shí)的氣流氣壓信號,同時(shí)利用采集呼吸帶信號.PAS6600系統(tǒng)由帶有雙手柄的面罩、氣流面具、壓力傳感器、測試管和麥克風(fēng)等組合而成.麥克風(fēng)主要用于采集語音信號,氣流管用于氣流的采集,入口管用來采集發(fā)音時(shí)的氣壓信號.文件保存格式為系統(tǒng)默認(rèn)的nsp格式,信號采樣率為22 kHz.將兩根呼吸帶傳感器分別系在發(fā)音人的胸部和腹部,呼吸帶傳感器可以感應(yīng)到胸圍和腰圍收縮擴(kuò)張所引起的呼吸帶長度變化,并由壓電設(shè)備將呼吸帶長度的變化轉(zhuǎn)變?yōu)殡娦盘?通過Powerlab采集器采集兩個(gè)通道的呼吸信號,同時(shí)采集語音和嗓音信號,采樣率為40 kHz.具體的信號采集過程和設(shè)備連接關(guān)系見圖1.
圖1 呼吸氣流信號采集框架圖
由于呼吸帶信號和氣流氣壓信號都是獨(dú)立采集的,而且采樣率也不同,所以,要同時(shí)進(jìn)行研究,就需要對信號進(jìn)行同步計(jì)算,并合并成同一組信號.信號處理的過程主要包括以下幾個(gè)步驟:
1) 氣流氣壓計(jì)采集的信號格式為nsp格式,編寫信號讀取程序區(qū)分文件頭和文件數(shù)據(jù),然后把文件數(shù)據(jù)轉(zhuǎn)換成三通道的矩陣向量,并保存成wav文件格式.
2) 利用Powerlab采集器采集的四通道信號的采樣率是40 kHz,可以通過利用重采樣函數(shù)改變采樣率,也可以利用一些語音編輯的軟件進(jìn)行采樣率的變化,最終把四通道信號的采樣率降低為22 kHz,這樣頻譜能量的分量可以到11 kHz,采樣率能夠滿足語音參數(shù)的分析.
3) 兩組設(shè)備采集的數(shù)據(jù)并不對齊,主要是因?yàn)閮商缀茈y同時(shí)采集數(shù)據(jù),而且兩組數(shù)據(jù)的采樣率也不同,氣流氣壓計(jì)采集的聲音也比較悶.所以,以兩組信號中的聲音信號為標(biāo)準(zhǔn)信號,利用模板匹配的方法進(jìn)行信號對齊,這樣就可以把兩組不同設(shè)備采集的信號組合在一起.
4) 呼吸信號和氣流氣壓帶有很多細(xì)微的高頻噪聲,所以需要利用低通平滑濾波的方法進(jìn)行減噪,例如濾波器可以采用零相位數(shù)字濾波filtfilt(b,a,x),這樣提高了標(biāo)注和參數(shù)提取的準(zhǔn)確性.
5) 提供對呼吸信號和氣流氣壓信號進(jìn)行導(dǎo)數(shù)的功能,這樣可以準(zhǔn)確地找到信號變化比較極端的拐點(diǎn),這些點(diǎn)是信號物理意義的關(guān)鍵點(diǎn).
6) 利用局部最大值法或Matlab信號處理工具箱中的findpeaks函數(shù)找出一段呼吸信號和氣流氣壓信號的準(zhǔn)確峰值位置,便于后期的參數(shù)提取,在數(shù)據(jù)量比較大的情況下此函數(shù)耗時(shí)較長.
不同信號同步研究的目的就是為從聲學(xué)或生理的不同角度來觀察聲音的特性,主要是通過提取的參數(shù)來表征.
1) 語音信號是最基本和最重要的信號,其他信號的采集和分析都要以語音信號作為統(tǒng)一標(biāo)準(zhǔn).語音信號主要提取的聲學(xué)參數(shù)有:基頻、振幅、時(shí)長、前五階共振峰及其帶寬、頻譜和語圖等.基頻的提取已采取自相關(guān)和倒譜法等多種方法,共振峰主要采用對數(shù)譜的算法和協(xié)方差相結(jié)合的方法.
2) 不同類型的音位氣流氣壓特征差異很大,例如輔音主要的參數(shù)有:平均氣壓(cmH2O)、呼出氣流量(Liters)、平均氣流率(Lit/Sec)、輔音成阻時(shí)間(ms)、輔音時(shí)長(ms) 、氣動(dòng)阻力(ds/cm5)等參數(shù).元音參數(shù)主要包括平均聲壓(dB)、平均氣流率(Lit/Sec)、發(fā)聲效率(ppm)、氣動(dòng)阻力(ds/cm5)、基頻(Hz)和發(fā)聲功率(Watts)等.
3) 呼吸信號Powerlab公司的Chart7軟件采集,提取吸氣相參數(shù)和呼氣相參數(shù),包括不同層級的幅度、時(shí)長、呼吸斜率、呼吸節(jié)奏時(shí)長等參數(shù).呼吸重置時(shí)長是指從開始吸氣到開始呼氣之間持續(xù)的時(shí)間.呼吸重置幅度是指一次吸氣過程中呼吸信號數(shù)值的變化幅度.
3.1 文件處理
1) 文件的讀入.此處的文件指已經(jīng)經(jīng)過信號預(yù)處理和合并的wav文件.文件包括語音信號、嗓音信號或者語圖(可選)、氣流信號、氣壓信號、胸呼吸信號和腹呼吸信號(可選).文件頭使用原始的國際RIFF標(biāo)準(zhǔn)定義的wav文件頭,數(shù)據(jù)為6列的矩陣數(shù)據(jù).
2) 文件的保存.可以對編輯過的信號或者用鼠標(biāo)選定一部分信號進(jìn)行保存,保存的格式6通道的wav文件.
3) 帶標(biāo)記文件的保存.程序提供了對信號進(jìn)行標(biāo)記的功能,在保存文件的同時(shí)可以把標(biāo)記的位置也保存在文件信號數(shù)據(jù)的后面,這樣方便隨時(shí)查看標(biāo)記的準(zhǔn)確性.所有的標(biāo)記參數(shù)都按國際RIFF標(biāo)準(zhǔn)定義,保留在原始wav文件的后面.
4) 帶標(biāo)記文件的打開.帶標(biāo)記的wav文件結(jié)構(gòu)比較復(fù)雜,文件的前半部分是6通道信號數(shù)據(jù),后半部分是標(biāo)記的類型和位置.
3.2 編輯與查看功能
1) 刪除功能.利用鼠標(biāo)左鍵選中一段信號,點(diǎn)擊剪切菜單可以對6個(gè)通道的信號同步刪除掉選中的信號.
2) 縮放功能.縱向放大和縮小信號,利用鼠標(biāo)左鍵點(diǎn)擊要操作的坐標(biāo),可以對該通道的信號進(jìn)行能量的放大和縮小,并制定放大和縮放的倍數(shù).
3) 顯示功能.橫向放大和縮小信號,利用鼠標(biāo)左鍵選中一段信號,點(diǎn)擊放大菜單,可以讓6個(gè)通道的選中信號同步填滿窗口,點(diǎn)擊縮小菜單,可以讓6個(gè)通道的信號完整地在窗口中顯示.
4) 信號疊加功能.為了更好地對信號之間進(jìn)行比較,系統(tǒng)設(shè)計(jì)了信號疊加功能,可以對任意選擇的多個(gè)信號進(jìn)行疊加顯示.
5) 播放功能.可以播放整個(gè)語音信號,也可以播放鼠標(biāo)左鍵選中部分的語音信號.
3.3 標(biāo)記功能
標(biāo)記功能主要是為參數(shù)提取做準(zhǔn)備,不同通道的標(biāo)記都是相通的,這樣便于不同信號關(guān)鍵位置的比較.標(biāo)記分自動(dòng)標(biāo)記和人工標(biāo)記兩種.
1) 自動(dòng)標(biāo)記是利用求導(dǎo)數(shù)或者局部最大法對呼吸信號和氣流氣壓信號的波峰和波谷位置及拐點(diǎn)位置進(jìn)行標(biāo)記.
2) 人工標(biāo)記是根據(jù)研究的需要,在必要的位置,例如輔音的開始和結(jié)束位置,元音的開始和結(jié)束位置等進(jìn)行標(biāo)記,這樣便于后續(xù)的音位分析.
3) 標(biāo)記刪除.用鼠標(biāo)左鍵選中錯(cuò)誤的或者不需要的標(biāo)記,然后點(diǎn)擊刪除標(biāo)記菜單進(jìn)行刪除.
3.4 參數(shù)提取與保存
對標(biāo)記好的信號進(jìn)行有選擇的參數(shù)提取,不同的信號提取的參數(shù)不同,也可以根據(jù)需要臨時(shí)增加參數(shù)提取的函數(shù)到系統(tǒng)中.提取的參數(shù)值臨時(shí)存儲在txt文件中.另外,系統(tǒng)也提供了批量提取參數(shù)的功能,對于標(biāo)記模式相同的同類型的文件,可以統(tǒng)一存放到某一個(gè)文件夾下,批量對這些帶有標(biāo)記的文件進(jìn)行參數(shù)提取,并統(tǒng)一保存到Excel中.
程序的主界面如圖2所示,分為菜單部分、操作按鈕部分和信號顯示部分.菜單包括文件、標(biāo)記、查看、播放、參數(shù)提取和幫助.軟件界面共分為6個(gè)通道,從上到下分別為語音、語圖、氣流信號、氣壓信號、胸呼吸信號和腹呼吸信號,如圖2所示.橫坐標(biāo)按時(shí)間顯示,單位為毫秒.圖中的信號分別是[ba]和[pa].
言語發(fā)聲過程的研究一直是言語科學(xué)研究的重點(diǎn),進(jìn)行比較系統(tǒng)的空氣動(dòng)力學(xué)測量和研究,找出基于氣流氣壓的生理參數(shù)和聲學(xué)參數(shù)之間的對應(yīng)關(guān)系,有著深刻的理論意義和廣泛的應(yīng)用價(jià)值.本軟件在Matlab環(huán)境下進(jìn)行編寫,采用GUI框架結(jié)構(gòu)編寫,具有交互性強(qiáng)、操作簡單的特點(diǎn).使用者經(jīng)簡單的學(xué)習(xí)之后,可以熟練掌握軟件操作.數(shù)據(jù)保存為表格結(jié)構(gòu),便于后期進(jìn)一步的統(tǒng)計(jì)和分析.該軟件可以應(yīng)用于語音生理研究、語音教學(xué)和言語工程研究.呼吸氣流信號的分析程序還不夠完善.隨著研究的深入,參數(shù)的設(shè)計(jì)也要不斷地更新,氣流氣壓信號、呼吸帶信號和語音信號之間的關(guān)系還需要進(jìn)一步的深入探討.另外,隨著信號種類的增多,信號之間的同步也是需要解決的問題.
[1] 吳宗濟(jì),林茂燦.實(shí)驗(yàn)語音學(xué)概要[M].北京:高等教育出版社,1987.5.
[2] 吳韓娜.生理語音學(xué)儀器—?dú)饬鳉鈮河?jì)[J].北大語音樂律報(bào)告,2008,12.
[3] 譚晶晶,李永宏,孔江平.漢語普通話不同文體朗讀時(shí)的呼吸重置特性[J].清華大學(xué)學(xué)報(bào),2008.4.
[4] 李永宏,馬強(qiáng),趙琦.語言科學(xué)研究的MATLAB實(shí)現(xiàn)[M].北京:國防工業(yè)出版社,2013.4.
Analysis Sustem of Respiration and Airflow Signals Based on MATLAB
LI Yong-hong
(Key Lab of China's National Linguistic Information Technology, Northwest University for Nationalities, Lanzhou 730030, China)
Breath process is the dynamics bases of language production. The signals of pronunciation course could be real-timely collected with respiratory sensor and air pressure gauge. On the bases of massive analyses and researches, in this study the signal analysis procedure of breathing airflow were designed and realized by utilizing Matlab programming language. The functions of the analysis procedure included the voice signal processing, linguistic markers of respiration and airflow signals, extraction and preservation of respiration and airflow indexes. Our findings could provide a convenient tool for further studying language dynamics.
Airflow signal; respiration signal; analysis system; MATLAB
2015-11-20
國家自然基金項(xiàng)目資助(No.11564035).
李永宏(1979—),男,山西臨汾人,博士,副教授,主要從事實(shí)驗(yàn)語音學(xué)方面的研究.
TP391
A
1009-2102(2015)04-0019-04