Mp3文件的傅里叶变换

时间:2013-03-05 17:00:04

标签: java mp3 fft

我想对Mp3文件进行傅里叶变换。首先,我使用AudioInputStream读取该文件,然后转换为必需的音频格式,

AudioFormat decodedFormat = newAudioFormat(AudioFormat.Encoding.PCM_SIGNED,
        baseFormat.getSampleRate(), 16, baseFormat.getChannels(),
        baseFormat.getChannels() * 2, baseFormat.getSampleRate(), false);

它给了我一个非常庞大的数组字节。现在将这个字节数组分成小块(4096字节)并将其传递给傅立叶变换函数并继续整个数组。这个过程减慢了我的系统。它需要15分钟来处理一首mp3歌曲。那我怎么能解决这个问题呢? 我正在使用此代码进行傅立叶变换 - http://introcs.cs.princeton.edu/java/97data/FFT.java.html

1 个答案:

答案 0 :(得分:1)

如果需要900秒(15分钟)来生成9000个具有4k点的FFT(即每个FFT 100ms),那么您的FFT实现就会被破坏。

您需要找到(更高效)FFT实现。