簡體   English   中英

在C中提取WAV文件的音高

[英]Extract pitch of wav file in C

我正在嘗試提取wav文件(音樂)每一幀的音高。 我正在使用libsnd讀取wav文件。 我也可以使用其他庫

我做了一些研究,發現我們可以使用小吃庫編寫腳本以使用wavsurfer提取音高文件。 小吃庫可在C( 鏈接 )中使用,但我認為我們無法從該庫中提取音高。

我的最終目標是將該庫移植到android。 因此,如果有一個已經移植到android的庫,它將很有用

快速瀏覽一下小吃手冊 ,您似乎會使用聲音對象的pitch方法來提取音高信息。 我不知道點心是否已移植到Android。 如果沒有,則需要付出很多努力。 自己實現音高檢測算法可能要容易得多。 Snack的音高方法記錄為使用AMDF

我相信在過去黑暗中一次構建DTMF(aka音調)檢測器時,我相信我們對樣本數據包使用了FFT,並對結果進行了分箱以尋找與音調頻率中心的接近匹配。 但是DTMF的設計易於檢測。

音樂轉錄很可能完全是另一種動物,容易被器樂聲音的和聲混淆。

aubio實現了幾種音高估計算法。 它主要是純C代碼,因此只要您不關心性能,就可以輕松移植到其他OS / CPU。

也可以看看Sonic Visualizer 它形象化了許多音頻功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM