2015-07-24 10 views
6

Ich möchte zwei Audiodateien zum Beispiel MP3 und WAV vergleichen. Ich benutze musicg, um durch Fingerabdrücke zu vergleichen.Vergleichen zweier unterschiedlicher Audiodateien funktioniert nicht

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

musicg Arbeit nur auf wav so wandle ich mp3 JAVE

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); 

in wav mit Und jetzt das Problem, wenn ich versuche, zwei wav vergleichen, die ich nicht konvertieren Fingerabdrücke perfekt funktionieren, aber wenn ich Vergleichen Sie zwei verschiedene Audio, die ich konvertieren muss, es gibt immer wieder, dass beide Audio sind gleich. Wave erstellen record1 das gleiche Spektrogramm wie record2, wenn ich ihm zwei verschiedene Audio geben.

+1

nur eine idee: ich sehe sie verwenden "temp.wav" - sind zwei dateien abgedeckt wav mit der gleichen temp-datei? so dass beide Dateien tatsächlich nur die gleiche Datei referenzieren und sich tatsächlich selbst vergleichen? – slipperyseal

+0

danke Mann, ich weiß nicht, wie ich das vermisse .. verbringen 6h + und sah nicht so einfach Fehler. Ich bin blind ... – patrio2

+0

kein Problem. Ich habe eine Antwort hinzugefügt, die du ankreuzen kannst :) – slipperyseal

Antwort

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

beide Waves werden von derselben Datei gesichert. :)

Verwandte Themen