如何實現兩個聲音相似度匹配演算法?

如我有一個文件記錄聲音「你好」,存在資料庫。

現在我用iPhone記錄用戶的一段聲音,需要到我的資料庫中匹配該聲音是否與「你好」相似。


唐駿的卡拉OK打分不就是干這個的么?

有開源的項目,供參考:

OpenHW--項目


梅爾倒譜把聲音特徵化,然後就怎麼搞都不難了


取決於你想用的特徵值,有了特徵值之後相似度演算法影響不大。

有了聲音文件之後,最常見(或者是全部的?)的預處理是傅里葉變換

傅里葉變換的結果可以提取多種特徵值,比如F0值


有一種演算法叫simhash ,基本原理就是傅里葉變換處理聲波的形狀,向上用1表示,向下用0表示,然後所有的形狀就可以用64位的long 表示,再根據海明距離,算出相似度,這種演算法速度很快,幾百萬的歌曲才用幾十毫秒。


語音相似度評價演算法研究

這個演算法你可以去看一下....


Machine Learning for Audio,
Image and Video Analysis


不管什麼匹配,相似度都是特徵向量夾角,選取特徵值才是關鍵。而這個就要靠樣本餵了,所以樣本才是關鍵!


推薦閱讀:

大家怎麼看待現在市面上的智能語音產品?訊飛語點、智能360、口袋語音助手、小i機器人
搜狗的語音交互引擎「知音」技術水平如何?
訊飛語點和 Siri 在體驗和技術上有哪些區別?
Siri 將通過什麼方式支持中文?

TAG:人工智慧 | 語音識別 |