比较两个不同的音频文件不起作用

Comparing two different audio files doesn't work

我想比较两个音频文件,例如 mp3 和 wav。我用musicg指纹比较

Wave record1 = new Wave(music1.toString());
Wave record2 = new Wave(music2.toString());
FingerprintSimilarity Similarity=record1.getFingerprintSimilarity(record2);
System.out.println(Similarity.getSimilarity());

musicg 只能在 wav 上工作,所以我使用 JAVE

将 mp3 转换为 wav
    File temp = new File("temp.wav");
    AudioAttributes audio = new AudioAttributes();
    audio.setCodec("pcm_s16le");
    audio.setBitRate(new Integer(128000));
    audio.setChannels(new Integer(2));
    audio.setSamplingRate(new Integer(44100));
    EncodingAttributes attrs = new EncodingAttributes();
    attrs.setFormat("wav");
    attrs.setAudioAttributes(audio);
    Encoder encoder = new Encoder();
    encoder.encode(source, temp, attrs);

现在的问题是,当我尝试比较两个我不转换指纹的 wav 时,指纹工作完美,但是当我比较两个我必须转换的不同音频时,总是 return 两个音频相同。 Wave 当我给它两个不同的音频时,创建 record1record2 相同的频谱图。

File temp = new File("temp.wav");

两个 Waves 都由同一个文件支持。 :)