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

2024-04-21

我想比较两个音频文件,例如 mp3 和 wav。我用musicg https://code.google.com/p/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,因此我使用将 mp3 转换为 wavJAVE http://www.sauronsoftware.it/projects/jave/manual.php

    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 时效果很好,但是当我比较必须转换的两个不同音频时,它总是返回两个音频相同。Wave create record1相同的频谱图record2当我给它两个不同的音频时。


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

两个 Wave 均由同一文件支持。 :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐