比较java中频域中的两个wav文件

时间:2015-03-21 21:59:36

标签: java fft wav

我有两个wav文件(O和X)作为输入,我想在比例[0-1]中找出它们之间的相似性。这是我试图应用的公式:

http://i.imgur.com/OnFDBZo.png

O(t,f)是wav文件O的时间片t的频率f的大小。

我在java中这样做并使用“音频分析”库来计算fft。 我如何在Java中应用此算法?

float[] samplesa = new float[1024];
float[] samplesb = new float[1024];
WaveDecoder decodera = new WaveDecoder( new FileInputStream( "X.wav" ) );
WaveDecoder decoderb = new WaveDecoder( new FileInputStream( "O.wav" ) );
FFT ffta = new FFT(1024, 44100);
FFT fftb = new FFT(1024, 44100);
while( decodera.readSamples( samplesa ) > 0 )
    {
       ffta.forward(samplesa); 
       decoderb.readSamples( samplesb )
       fftb.forward(samplesb); 
    }

以下是“音频分析”库:http://audio-analysis.googlecode.com/svn/trunk/

0 个答案:

没有答案