Pure Data教程五
來自專欄 Pure Data入門教程8 人贊了文章
在上一期教程中Pure Data教程四我們給大家講了「人是怎麼聽到聲音的?」,這期我們教大家如何用pure data做母音識別。
聲音穿透人的鼓膜,在耳蝸中的淋巴液中行進,分別激活識別不同頻率的感受器,感受器將機械能轉換為電磁脈衝傳遞到大腦中,以完成聲音的識別。
在之前的教程中,我們知道類在說話時存在特定頻率區間內高能量輸出,我們按照順序稱其為第一共振峰、第二共振峰...以此類推。比起其他能量密度低同時信息密度的區域,對高能高信息密度區域做特別的測量可以讓我們事半功倍。假設我們只測量一個人說話的第一第二共振峰的話,能不能識別出這個人在發出什麼聲音呢?
答案當然是可以的,不然我寫這個教程幹什麼?
在識別母音之前,我們首先應該知道:母音是什麼?
母音,也叫母音,是音素的一種,與輔音相對。具體是指在發音過程中由氣流通過口腔而不受阻礙發出的聲音,氣流從聲門發出衝擊聲帶,然後震音氣流不受阻礙地通過口腔&鼻腔,僅通過舌和唇的調節而發出不同的聲音。因為母音的限制條件如此之少,所以我們僅需要設定好舌唇的位置,設定好發聲位置,就能表現出人嘴所能發出的一切原因。
講到這裡就不得不提一句傳說中的IPA,也就是國際音標系統(International Phonetic Alphabet)。國際音標系統。這個音標系統由國際語音學會根據人嘴發音的形式對所有音素進行標定,因而能夠為這世界上的一切語言進行標音:
這國際音標圖中間靠右的位置就是母音發音方式圖,縱軸方向是嘴唇的開閉,橫軸方向是發聲的位置,我們畫一張簡易的圖為一會的母音識別備用:
講完國際音標之後,我們再接著講上面提到的兩個共振峰。語音學家發現,僅僅測量兩個共振峰的位置就足以辨識人們在發哪個母音:
橫軸是第一共振峰,縱軸是第二共振峰。看到這裡大家可能會想了,這一片亂七八糟的都是什麼啊?還有沒有點規律可言啊?當場氣到去世:
然而事實真的如此嗎?
我們把這張圖轉一下:
再轉一下:
再關於Y軸對稱一下:
最後再把上面的IPA中的母音部分重疊進來:
你會發現,這不就是傳說中的規律嗎!
人的發出不同母音的共振峰構成的分布圖,正好和國際音標圖相吻合!
那這麼一來就好辦了,我們只要能夠測量出我們發的聲音的第一第二共振峰,並且把數字處理成坐標,就能直接顯示在國際標準音標圖上了!
首先我們把鍋燒熱,假如適量的油滑鍋。
呸,首先我們打開puredata,創建一個新文檔,配置如下:
這時候對著麥克風飆出母音即可在左側的圖中顯示出具體的位置。
formant trackervowels.jpg同樣的,我們也可以造出一個完全相反的系統,讓pure data發出對應的母音:
母音合成器如此我們就能成功的識別或合成母音了。
本期教程到此結束
以上
推薦閱讀:
※使用新技術讓播客市場指數增長
※基於金融大數據的用戶畫像
※10行Python代碼實現語音識別
※深度神經網路DNN的多GPU數據並行框架 及其在語音識別的應用
※語音識別中的CTC演算法的基本原理解釋