簡體   English   中英

Java中使用FFT算法的音頻頻譜分析

[英]Audio spectrum analysis using FFT algorithm in Java

我想分析 Java (ME) 中的音頻文件的頻譜。 我想像一些媒體播放器一樣繪制頻譜。 但我不明白一些觀點:

  1. FFT 算法的輸入,我必須從音頻文件中獲取。 我現在不知道它叫什么,它是什么,更重要的是,我不知道如何得到它。
  2. Output:如果輸入是一個數組(范圍?)我得到其他數組,它有范圍:0-1,對(或沒有)? 那我和它有什么關系?

除了 FFT 之外,您還需要一些額外的步驟。 這已經在之前關於 SO 的類似問題中多次介紹過,您可以通過搜索“dsp”、“fft”、“spectrum”、“spectrogram”等找到其他材料,但基本上您需要執行以下操作:

  • window function應用於輸入數據(例如Hann(ing)
  • 將 FFT 應用於加窗輸入數據(對於復數 FFT,虛輸入應全部為零)
  • 計算第一個N / 2 FFT output 箱的平方幅度( re * re + im * im
  • 將平方幅度轉換為 dB 刻度 ( 10 * log10(squared_magnitude) )

暫無
暫無

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

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