本文主要是實現(xiàn)了一個簡單的命令詞識別程序,算法核心一是提取音頻特征,二是用DTW算法進行匹配。當然,這樣的代碼肯定不能用于商業(yè)化,大家做出來玩玩娛樂一下還是不錯的。
轉(zhuǎn)載請保留本文鏈接,謝謝。
設計思路
就算是個小東西,我們也要先明確思路再做。音頻識別,困難不小,其中提取特征的難度在我聽歌識曲那篇文章里能看得出來。而語音識別難度更大,因為音樂總是固定的,而人類說話常常是變化的。比如說一個“芝麻開門”,有的人就會說成“芝麻---開門”,有的人會說成“芝麻開門--”。而且在錄音時說話的時間也不一樣,可能很緊迫的一開始錄音就說話了,也可能不緊不慢的快要錄音結(jié)束了才把這四個字說出來。這樣難度就大了。
算法流程:
特征提取
和之前的聽歌識曲一樣,同樣是將一秒鐘分成40塊,對每一塊進行傅里葉變換,然后取模長。只是這不像之前聽歌識曲中進一步進行提取峰值,而是直接當做特征值。
看不懂我在說什么的朋友可以看看下面的源代碼,或者看聽歌識曲