比方說:我在鋼琴上隨便按一個琴鍵,軟體可以識別我按下的是什么音符。這樣識別的方式和原理有哪些,麻煩大神們給講講吧
uj5u.com熱心網友回復:
聲音特色取決于頻率聲音大小取決于響度
你錄音出來的最原始采樣資料為pcm資料(有關pcm是啥你可以自己百度)
pcm實際上是連續的響度的時間序列。這個可以用快速傅里葉變換一類的東西變成頻域資訊,然后用MFCC演算法得到歸一特征
然后再比較歸一特征相似度即可
上面是常規音頻識別原理。
這個google開放了一套幾百萬資料量的自然音特征歸一庫,可以讓你去做識別和人工智能訓練。(下載路徑忘了,你自己百度罷,這塊我只是票友級別,所以不專門收集這種玩意了)
uj5u.com熱心網友回復:
所以與其說是音頻識別,其實不如說是“圖形識別”,他把音頻頻域資訊變成了頻域圖,然后比較頻域圖相似度uj5u.com熱心網友回復:
感謝大神的指教uj5u.com熱心網友回復:
我大概明白實作這種功能的原理了,感謝大神賜教,非常感謝…uj5u.com熱心網友回復:
如果你的軟體是麥克風采集聲音來識別音符那就是#1所說的原理。如果你的樂器是個MIDI設備,那么你的軟體可能采集到的是MIDI信號,MIDI設備就是一個外接輸入輸出設備,按照MIDI規范與宿主軟體通信。你按了哪個鍵,就會發送相應的信號,宿主軟體就知道是哪個音符。
uj5u.com熱心網友回復:
感謝大神的回帖,MIDI接入的方式看起來要簡單的多。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/90662.html
標籤:C#
