檢信智能ALLEMOTION OS 語音情感識(shí)別——語音(聲音的預(yù)處理)
1. 語音信號(hào)(聲音是什么)
聲音是由物體振動(dòng)產(chǎn)生的聲波,是通過介質(zhì)(空氣或固體、液體)傳播并能被人或動(dòng)物聽覺器官所感知的波動(dòng)現(xiàn)象,最初發(fā)出振動(dòng)的物體叫聲源。聲音(語音消息)的基本模擬形式是一種稱為語音信號(hào)的聲學(xué)波。語音信號(hào)可以通過麥克風(fēng)轉(zhuǎn)化成電信號(hào),轉(zhuǎn)換成語音波形圖,如下圖為消息"should we chase"的波形圖。橫坐標(biāo)表示時(shí)間,縱坐標(biāo)表示振幅。文本"should we chase"按照發(fā)音可以表示成音素的形式[SH UH D - W IY - CH EY S],聲波圖中的每一段表示一個(gè)音素,在ARBAbet音素集中包含近64 = 2^6個(gè)符號(hào)。
聲音作為波的一種,頻率(聲源在一秒內(nèi)振動(dòng)的次數(shù))和振幅是描述波的重要屬性,頻率的大小與我們通常所說的音高對(duì)應(yīng),而振幅影響聲音的大小。聲音可以被分解為不同頻率不同強(qiáng)度正弦波的疊加,正弦波是頻率成分最為單一的一種信號(hào),任何復(fù)雜信號(hào)都可以看成由許許多多頻率不同、大小不等的正弦波復(fù)合而成。這種變換(或分解)的過程,稱為傅立葉變換,通過這種分解我們可以把時(shí)域圖轉(zhuǎn)為頻域圖。
正弦信號(hào)表達(dá)式為y=Asin(ωx+φ)y=Asin?(ωx+φ)。其中A表示振幅。
ω/2πω/2π表示頻率。
對(duì)于(空氣中的)聲振動(dòng)而言,振幅是聲壓與靜止壓強(qiáng)之差的最大值。其中聲壓是聲波在空氣中傳播時(shí)形成壓縮和稀疏交替變化的壓力增值。麥克風(fēng)錄制聲音的原理就是將空氣中的壓力變動(dòng)波轉(zhuǎn)化成電信號(hào)的變動(dòng)。
而我們平常說的聲音強(qiáng)度(響亮程度)就是由振幅決定的,聲音強(qiáng)度的單位是分貝(dB),計(jì)算公式如下,用實(shí)測聲壓和參考聲壓之比的常用對(duì)數(shù)(常用對(duì)數(shù)lg以10為底,自然對(duì)數(shù)ln以e為底)的20倍來表示。下式中分母是參考值的聲壓,通常為20微帕,人類能聽到的最小聲壓。
分貝表示功率量之比時(shí),等于功率強(qiáng)度之比的常用對(duì)數(shù)的10倍。
分貝表示場量之比時(shí),等于場強(qiáng)幅值之比的常用對(duì)數(shù)的20倍。
語音鏈(聲音是怎么發(fā)出的)
從語音信號(hào)的產(chǎn)生到感知的過程稱為語音鏈,如下圖所示:
2 下面是語音信號(hào)產(chǎn)生的四個(gè)步驟:
文本:消息以某種形式出現(xiàn)在說話者的大腦中,消息攜帶的信息可認(rèn)為有著不同的表示形式,例如最初可能以英語文本的形式表示。假設(shè)書面語有32個(gè)符號(hào),也就是2^5,用5個(gè)bit表示一個(gè)符號(hào)。正常的平均說話速率為15個(gè)符號(hào)每秒。上圖例子中有15個(gè)字母“should we chase”,持續(xù)了0.6秒,信息流的速率為15x5/0.6 = 125 bps。
音素:為了"說出"這條消息,說話者隱式地將文本轉(zhuǎn)換成對(duì)應(yīng)口語形式的聲音序列的符號(hào)表示,即文本符號(hào)轉(zhuǎn)成音素符號(hào),音素符號(hào)用來描述口語形式消息的基本聲音及聲音發(fā)生的方式(即語速和語調(diào))。ARBAbet音素集中包含近64 = 2^6個(gè)符號(hào),用6個(gè)bit表示一個(gè)音素,上圖例子中有8個(gè)音素,持續(xù)了0.6秒,信息流的速率為8x6/0.6 = 80 bps,考慮描述信號(hào)韻律特征的額外信息(比如段長,音高,響度),文本信息編碼成語音信號(hào)后,總信息速率需要再加上100bps。
發(fā)音:神經(jīng)肌肉系統(tǒng)以一種與產(chǎn)生口語形式消息及其語調(diào)相一致的方式,移動(dòng)舌頭,唇,牙齒,頜,軟腭,使這些聲道發(fā)聲器官按規(guī)定的方式移動(dòng),進(jìn)而發(fā)出期望的聲音。
刺激共振:聲道系統(tǒng)產(chǎn)生物理生源和恰當(dāng)?shù)臅r(shí)變聲道形狀,產(chǎn)生上圖所示的聲學(xué)波形。
前兩個(gè)階段的信息表示是離散的,用一些簡單假設(shè)就可以估計(jì)信息流的速率。
但是后兩個(gè)階段信息是連續(xù)的,以關(guān)節(jié)運(yùn)動(dòng)的形式發(fā)出,想要度量這些連續(xù)信息,需要進(jìn)行恰當(dāng)?shù)牟蓸雍土炕@得等效的數(shù)字信號(hào),才能估計(jì)出數(shù)據(jù)的速率。事實(shí)上,因?yàn)檫B續(xù)的模擬信號(hào)容易收到噪聲的影響,抗噪能力弱,通常會(huì)轉(zhuǎn)為離散的數(shù)字信號(hào)。
在第三階段,進(jìn)行采樣和量化后得到的數(shù)據(jù)率約為2000bps。
在最后一個(gè)階段,數(shù)字語音波形的數(shù)據(jù)率可以從64kbps變化到700kbps。該數(shù)據(jù)是通過測量“表示語音信號(hào)時(shí)為達(dá)到想要的感知保真度”所需要的采樣率和量化計(jì)算得到的。
比如,“電話質(zhì)量”的語音處理需要保證寬帶為0~4kHz,這意味著采樣率為8000個(gè)樣本每秒(根據(jù)香農(nóng)采樣定理,為了不失真地恢復(fù)模擬信號(hào),采樣頻率應(yīng)該不小于模擬信號(hào)頻譜中最高頻率的2倍),每個(gè)樣本可以量化成8比特,從而得到數(shù)據(jù)率64000bps。這種表示方式很容易聽懂,但對(duì)于大多數(shù)傾聽者來說,語音聽起來與說話者發(fā)出的原始語音會(huì)有不同。
另一方面,語音波形可以表示成“CD質(zhì)量”,采用44100個(gè)樣本每秒的采樣率,每個(gè)樣本16比特,總數(shù)據(jù)率為705600bps,此時(shí)復(fù)原的聲學(xué)波聽起來和原始信號(hào)幾乎沒有區(qū)別。
現(xiàn)在在音樂app上下載歌曲的時(shí)一般有四種音樂品質(zhì)選擇,標(biāo)準(zhǔn)(128kbps),較高(192kbps),極高(320kbps),無損品質(zhì)。
將消息從文本表示轉(zhuǎn)換成采樣的語音波形時(shí),數(shù)據(jù)率會(huì)增大10000倍。這些額外信息的一部分能夠代表說話者的一些特征比如情緒狀態(tài),說話習(xí)慣等,但主要是由簡單采樣和對(duì)模擬信號(hào)進(jìn)行精細(xì)量化的低效性導(dǎo)致的。因此,處于語音信號(hào)固有的低信息速率考慮,很多數(shù)字語音處理的重點(diǎn)是用更低的數(shù)據(jù)率對(duì)語音進(jìn)行數(shù)字表示(通常希望數(shù)據(jù)率越低越好,同時(shí)保證重現(xiàn)語音信號(hào)的感知質(zhì)量滿足需要的水平)。
3 語音信號(hào)中的Analog-Digital Converter,“模-數(shù)”變換(聲音是怎么保存的)
預(yù)濾波(反混疊濾波):語音信號(hào)在采樣之前要進(jìn)行預(yù)濾波處理。目的有兩個(gè),一是抑制輸入信號(hào)各頻率分量中頻率超過fs/2的所有分量(fs為采樣頻率),以防止混疊干擾;二是抑制50Hz的電源工頻干擾。
1.采樣:原始的語音信號(hào)是連續(xù)的模擬信號(hào),需要對(duì)語音進(jìn)行采樣,轉(zhuǎn)化為時(shí)間軸上離散的數(shù)據(jù)。
采樣后,模擬信號(hào)被等間隔地取樣,這時(shí)信號(hào)在時(shí)間上就不再連續(xù)了,但在幅度上還是連續(xù)的。經(jīng)過采樣處理之后,模擬信號(hào)變成了離散時(shí)間信號(hào)。
采樣頻率是指一秒鐘內(nèi)對(duì)聲音信號(hào)的采樣次數(shù),采樣頻率越高聲音的還原就越真實(shí)越自然。
在當(dāng)今的主流采集卡上,采樣頻率一般共分為22.05KHz、44.1KHz、48KHz三個(gè)等級(jí),22.05KHz只能達(dá)到FM廣播的聲音品質(zhì),44.1KHz則是理論上的CD音質(zhì)界限(人耳一般可以感覺到20-20K Hz的聲音,根據(jù)香農(nóng)采樣定理,采樣頻率應(yīng)該不小于最高頻率的兩倍,所以40KHz是能夠?qū)⑷硕犚姷穆曇暨M(jìn)行很好的還原的一個(gè)數(shù)值,于是CD公司把采樣率定為44.1KHz),48KHz則更加精確一些。
對(duì)于高于48KHz的采樣頻率人耳已無法辨別出來了,所以在電腦上沒有多少使用價(jià)值。
2.量化:進(jìn)行分級(jí)量化,將信號(hào)采樣的幅度劃分成幾個(gè)區(qū)段,把落在某區(qū)段的采樣到的樣品值歸成一類,并給出相應(yīng)的量化值。根據(jù)量化間隔是否均勻劃分,又分為均勻量化和非均勻量化。
均勻量化的特點(diǎn)為“大信號(hào)的信噪比大,小信號(hào)的信噪比小”。缺點(diǎn)為“為了保證信噪比要求,編碼位數(shù)必須足夠大,但是這樣導(dǎo)致了信道利用率低,如果減少編碼位數(shù)又不能滿足信噪比的要求”(根據(jù)信噪比公式,編碼位數(shù)越大,信噪比越大,通信質(zhì)量越好)。
通常對(duì)語音信號(hào)采用非均勻量化,基本方法是對(duì)大信號(hào)使用大的量化間隔,對(duì)小信號(hào)使用小的量化間隔。由于小信號(hào)時(shí)量化間隔變小,其相應(yīng)的量化噪聲功率也減小(根據(jù)量化噪聲功率公式),從而使小信號(hào)時(shí)的量化信噪比增大,改善了小信號(hào)時(shí)的信噪比。
量化后,信號(hào)不僅在時(shí)間上不再連續(xù),在幅度上也不連續(xù)了。經(jīng)過量化處理之后,離散時(shí)間信號(hào)變成了數(shù)字信號(hào)。
3.編碼:在量化之后信號(hào)已經(jīng)變成了數(shù)字信號(hào),需要將數(shù)字信號(hào)編碼成二進(jìn)制?!癈D質(zhì)量”的語音采用44100個(gè)樣本每秒的采樣率,每個(gè)樣本16比特,這個(gè)16比特就是編碼的位數(shù)。
采樣,量化,編碼的過程稱為A/D轉(zhuǎn)換,如下圖所示。反過程為D/A轉(zhuǎn)換,因?yàn)锳/D之前進(jìn)行了預(yù)濾波,D/A轉(zhuǎn)換后面還需要加一個(gè)平滑濾波器。A/D轉(zhuǎn)換,D/A轉(zhuǎn)換,濾波這些功能都可以用一塊芯片來完成,在市面上能買到各種這樣的芯片。
4 語音信號(hào)的預(yù)處理(聲音的預(yù)處理)
語音信號(hào)的預(yù)處理一般包括預(yù)加重,分幀,加窗,端點(diǎn)檢測。
預(yù)加重:求語音信號(hào)頻譜(頻譜是指時(shí)域信號(hào)在頻域下的表示方式,關(guān)于頻域和時(shí)域的理解如下圖所示),頻率越高相應(yīng)的成分越小,高頻部分的頻譜比低頻部分的難求,為此要在預(yù)處理中進(jìn)行預(yù)加重(Pre-emphasis)處理。預(yù)加重的目的是提高高頻部分,使信號(hào)的頻譜變得平坦,以便于頻譜分析或者聲道參數(shù)分析。預(yù)加重可在語音信號(hào)數(shù)字化時(shí)在反混疊濾波器之前進(jìn)行,但一般是在語音信號(hào)數(shù)字化之后。
短時(shí)分析:語音信號(hào)從整體來看是隨時(shí)間變化的,是一個(gè)非平穩(wěn)過程,不能用處理平穩(wěn)信號(hào)的數(shù)字信號(hào)處理技術(shù)對(duì)其進(jìn)行分析處理。但是,由于不同的語音是由人的口腔肌肉運(yùn)動(dòng)構(gòu)成聲道某種形狀而產(chǎn)生的響應(yīng),這種運(yùn)動(dòng)對(duì)于語音頻率來說是非常緩慢的,所以從另一方面看,雖然語音信號(hào)具有時(shí)變特性,但是在一個(gè)短時(shí)間范圍內(nèi)(一般認(rèn)為在10-30ms)其特性基本保持相對(duì)穩(wěn)定,即語音具有短時(shí)平穩(wěn)性。所以任何語音信號(hào)的分析和處理必須建立在“短時(shí)”的基礎(chǔ)上,即進(jìn)行“短時(shí)分析”。
分幀:為了進(jìn)行短時(shí)分析,將語音信號(hào)分為一段一段,其中每一段稱為一幀,一般取10-30ms,為了使幀與幀之間平滑過渡,保持連續(xù)性,使用交疊分段的方法,可以想成一個(gè)指針p從頭開始,截取一段頭為p,長度為幀長的片段,然后指針p移動(dòng),移動(dòng)的步長就稱為幀移,每移動(dòng)一次都截取一段,這樣就得到很多幀。
加窗:加窗就是用一定的窗函數(shù)w(n)來乘s(n),從而形成加窗語音信號(hào)sw(n)=s(n)?w(n),常用的窗函數(shù)是矩形窗和漢明窗,用矩形窗其實(shí)就是不加窗,窗函數(shù)中有個(gè)N,指的是窗口長度(樣本點(diǎn)個(gè)數(shù)),對(duì)應(yīng)一幀,通常在8kHz取樣頻率下,N折中選擇為80-160(即10-20ms持續(xù)時(shí)間)。
端點(diǎn)檢測:從一段語音信號(hào)中準(zhǔn)確地找出語音信號(hào)的起始點(diǎn)和結(jié)束點(diǎn),它的目的是為了使有效的語音信號(hào)和無用的噪聲信號(hào)得以分離。對(duì)于一些公共的語音數(shù)據(jù)集可以不做這步操作,因?yàn)檫@些語音的內(nèi)容就是有效的語音信號(hào)(可以認(rèn)為研究人員已經(jīng)對(duì)數(shù)據(jù)做過端點(diǎn)檢測)。
語音信號(hào)的特征(聲音的特征)
特征的選取是語音處理的關(guān)鍵問題,特征的好壞直接影響到語音處理(比如語音識(shí)別)的精度。然而在語音領(lǐng)域中,沒有一個(gè)所謂的標(biāo)準(zhǔn)特征集,不同的語音系統(tǒng)選取的特征組合不盡相同。
語音的特征一般是由信號(hào)處理專家定義的,比較流行的特征是MFCC(梅爾頻率倒譜系數(shù))。
5 語音情感識(shí)別算法
常用的機(jī)器學(xué)習(xí)分類器:模式識(shí)別領(lǐng)域的諸多算法(傳統(tǒng))都曾用于語音情感識(shí)別的研究,比如GMM(高斯混合模型),SVM,KNN,HMM(隱馬爾可夫模型)。用LLDs(low level descriptors)和HSFs(high level statistics functions)這些手工設(shè)計(jì)特征去訓(xùn)練。
聲譜圖+CRNN:最近很多人用聲譜圖加上CNN,LSTM這些深度學(xué)習(xí)模型來做。還有手工特征加聲譜圖一起作為特征放進(jìn)深度學(xué)習(xí)模型。也有人用DBN,但是不多。
3.手工特征+CRNN:也有人用手工特征加CRNN做。
————————————————
版權(quán)聲明:本文為CSDN博主「醒了的追夢人」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。