簡體   English   中英

是使用FFT比較兩個音頻文件的唯一方法嗎?

[英]Is comparing two audio files using FFT the only way?

我是信號處理的新手,並嘗試使用FFT比較兩個音頻文件。 將文件讀取為字節,然后轉換為復數,然后將其發送到fft。 然后計算復數的大小(從fft輸出)。 試圖比較幅度,但它們不匹配。

如果我想念什么,請告訴我。

還有其他比較兩個音頻文件的方法嗎?

通常,整個文件的FFT將不相等-請考慮40秒。 包含四個10秒的文件。 分別在20Hz,40Hz,60Hz和80Hz的正弦波段。

整個文件的相應頻譜將在這四個頻率處顯示峰值,但任何10秒。 摘錄最多會有兩個。 因此,它們不匹配。

現在,您嘗試做的事情聽起來有點像Shazam,而且幸運的是,他們已經發布有關其工作原理的研究論文 也許那可以解決您的問題。

對於另一種方法(盡管可能無法處理音調和速度變化),請考慮上面示例的含義:您不應嘗試匹配在40秒內創建的頻譜圖。 到只代表10秒的時間 因此,您必須找到第二個文件取自原始文件的哪個10秒段。

為此,您可以使用一個簡單的滑動窗口(從1到10秒,然后是2到11秒,以此類推)開始,或者可以將第二個文件切成更小的塊,然后將初始滑動窗口與字符串搜索技術。

暫無
暫無

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

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