Sound-Dateien vergleichen, wenn nicht vollständig identisch
Gibt es eine Möglichkeit, programmgesteuert vergleichen Sie zwei sound-Dateien, um festzustellen, ob Sie identisch oder fast identisch? Diese sind nicht mit mp3-Dateien und haben keine ID3 oder andere meta-Daten, aber nur wav-Dateien. Vergleich der soll-Werte von Prüfsummen kann nicht arbeiten, weil Sie nicht ganz identisch sind.
InformationsquelleAutor der Frage Tai Squared | 2009-01-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den wikipedia-Artikel über akustische Fingerabdruck nennt eine Reihe von Produkten, einschließlich der opensource-libfooid. Du bist im Grunde auf der Suche zu gehen in der Frequenz-Domäne, wobei groben Ebenen über eine relativ kleine Anzahl von bands (z.B. 32), geben Sie eine Zeichenfolge, stellt so etwas wie 25ms Klang, tun, die für die gesamte Datei, dann tut ein fuzzing-Vergleich der strings für die verschiedenen Dateien. Es ist ziemlich Komplex, aber getan werden muss - einen Vergleich der tatsächlichen Proben nicht bekommen Sie überall als etwas so einfaches wie eine volume-Verschiebung um ein paar Prozent werfen das ganze match.
InformationsquelleAutor der Antwort U62
Den Prozess für den Vergleich einer Reihe von sounds für Gemeinsamkeiten genannte Content-Based Audio IndizierungAbrufund Fingerprinting in computer-science-Forschung.
Einer Methode, dies zu tun ist, um:
1) Führen mehrere bits des signal-Verarbeitung, die auf jedes audio-Datei zu extrahieren-Funktionen, wie z.B. pitch im Laufe der Zeit -, Frequenz-Spektrum, Autokorrelation, Dynamik, Transienten, etc.
2) Setzen Sie alle Funktionen, die für jede audio-Datei in ein multidimensionales array, und Müllkippe-jeder multi-dimensionales array in eine Datenbank
3) Nutzen-Optimierung Techniken (wie gradient Abstieg) zu finden, die die beste übereinstimmung für eine bestimmte audio-Datei in Ihre Datenbank von multi-dimensionalen Daten.
Der trick, diese Arbeit gut ist, welche Funktionen
Gibt es mehrere Projekte, die Sachen wie diese, einschließlich MusicBrainzund EchoNest.
Echonest hat eine der einfachste APIs ich habe gesehen, dass in diesem Raum. Sehr einfach, um loszulegen.
P. S. Nein, ich arbeite nicht für Echonest, noch weiß ich, wer dort arbeitet.
InformationsquelleAutor der Antwort Nick Haddad
Eine Sache, die Sie könnten versuchen, die Ihnen würde eine ziemlich anständige Fingerabdruck der Datei wird unter einem Fourier-Transformation und Blick auf die Verteilung der verschiedenen Frequenzen in der Datei vorhanden. Es ist immer noch sehr gut möglich, um zwei sehr unterschiedliche sound-Dateien, die haben die gleichen Fourier-Transformation, aber das ist etwas unwahrscheinlich, wenn Sie Ihre Dateien kommen aus einem nicht-erfundenen Quelle...
InformationsquelleAutor der Antwort rmeador
Könnte man vergleichen die beiden WAV-Dateien sample-by-sample, und berechnen einer durchschnittlichen pro-Stichprobe Unterschied. Um die Dinge zu beschleunigen, können Sie mit der gleichen Methode, aber vergleichen jeder 10te Probe, oder jedes 100ste Probe und kommen mit im wesentlichen den gleichen Wert (zwei Dateien, die nicht der gleichen oder sogar in der Nähe wird ein riesiges pro-Probe-Durchschnitt-Differenz).
InformationsquelleAutor der Antwort MusiGenesis