![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Erfahrener Benutzer
Registriert seit: 02.02.2005
Beiträge: 515
|
Ich denke mal, dass das JMF ist, hab aber noch nichts damit gemacht, deswegen bin ich mir nicht ganz sicher! Auf jeden Fall:
Wie vergleiche ich am besten zwei Musikdateien? Also auf Spielzeit, größe, Qualität, des komische Dingenskirchensteilens, des ich jetzt vergessen hab wies heißt (die lustigen Strichle die auch was mit der Lautstärke zu tun ham), oooooooooooh wie heißt das jetzt gleich wieder (ach ihr wisst was ich mein) |
|
|
|
|
|
Nach oben #3 |
|
Sesselkleber
Registriert seit: 17.01.2005
Beiträge: 567
|
Was ist denn der Sinn deines Vergleichs?
Möchtest du nur doppelte Musikdateien finden, oder mußt du die von dir aufgeführten Daten wirklich haben? Also: Track1 (Marsch) Track2 (Symphonie) Track3 (Marsch) Möchtest du jetzt wissen dass Track1 != Track 2 Track1 == Track3 oder Track1 ist lauter als Track2 Track1 ist länger als Track2 Gruß Sparow |
|
|
|
|
|
Nach oben #5 |
|
Benutzer
Registriert seit: 29.05.2004
Beiträge: 45
|
Willst du also quasi den Inhalt der beiden Stücke vergleichen?
Das dürfte etwas schwer werden, je nachdem wie gross der maximale unterschied sein darf... Spontan würde ich auf irgendwas mit "ungenaues frequenz-spektrogramm" erzeugen und vergleichen tippen, was allerdings imho nicht gerade trivial ist.
__________________
Jabber: melsi@amessage.de |
|
|
|
|
|
Nach oben #6 |
|
Erfahrener Benutzer
Registriert seit: 02.02.2005
Beiträge: 515
|
Ja genau. Der Inhalt soll u. a. verglichen werden. Die Dateigröße und den Namen kann ich ja einfach so vergleichen. Nur bei dem Rest wirds kompliziert. Hat jemand sowas schon gemacht? Oder ne Idee, wo ich anfangen soll zu suchen
|
|
|
|
|
|
Nach oben #7 |
|
Sesselkleber
Registriert seit: 17.01.2005
Beiträge: 567
|
N, ehrlich gesagt keine Ahnun
Es gibt zwar tools um verschiedene Eigenschaften vom mp3s auszulesen (ID3-Tag, max. Volume, länge, format, ...), aber um den tatsächlichen klang eines files mit einem anderen zu vergleichen... Das geht über mein können Gruß Sparrow |
|
|
|
|
|
Nach oben #9 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
Du kannst Dir die beiden Files ja anhören und dann entscheiden .. *hust*
Ähm. Ich wollte nur sagen, dass ich auch an einer Lösung interessiert wäre. Ich brauch das jetzt nicht irgendwo .. die Problemstellung hört sich aber super an Grüße Ben. |
|
|
|
|
|
Nach oben #10 |
|
Benutzer
Registriert seit: 29.05.2004
Beiträge: 45
|
Wie schon gesagt, eine Frequenzanalyse ([F]FT) und ein anschliessender Vergleich der beiden Muster klingt für mich am praktikabelsten (was nicht heisst das es einfach ist
Nur ein paar spontane Gedanken: Code:
- Songs durchlaufen, pro sekunde? eine Frequenzanalyse erstellen - Pegel-"peaks" finden (Höchststand der Pegel mit grossem Abstand zum Grundpegel, pro Frequenz?) - Position und Frequenzpegel der Peak-Stellen beider Songs miteinander vergleichen
__________________
Jabber: melsi@amessage.de |
|
|
|
|
|
Nach oben #12 |
|
Erfahrener Benutzer
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 503
|
also sachen wie bitrate, länge, id3 tags etc sind relativ einfach (mann muss nur wissen, an welcher stelle das steht).
aber den inhalt der songs vergleichen ist, wenn überhaupt, eher was für ne ultimative pro-software. außerdem kann man das eh schlecht nen computer machen lassen, da das hörempfinden subjektiv und von mensch zu mensch unterschiedlich ist! |
|
|
|
|
|
Nach oben #14 |
|
Benutzer
Registriert seit: 25.10.2004
Beiträge: 38
|
hallo,
du meinst wahrscheinlich die amplitude-werte. Mir fällt folgende möglichkeit ein: voraussetzungen: 1. beide Tracks sind prinzipiel gleich 2. unterscheiden sich nur durch die Lautstärke, bzw bei dem zweitem Track ist ein Filter wie z.B. echo angewandt worden 3. die länge der stille vor dem Track und danach ist bei beiden Tracks gleich (--> == die länge der beiden Tracks ist gleich) weg: 1. man bildet die differenz der aplitudenwete zu jedem abtastwert 2. man addiert diese differenzbeträge 3. man teilt die summe der differenzbeträge durch die anzahl der abtastwerte jetzt hat man eine mittlere abweichung der amplitudenwerte, und man kann dann definieren, dass solange diese abweichung unter einem bestimmten wert ist die beiden tracks übereinstimmen und sonst eben nicht. eine weitere möglichkeit wäre es natürlich die amplitude-werte in kleinen intervallen zu interpolieren/approximieren und dann diese funktionen miteinander zu vergleichen mfg, alekz |
|
|
|
|
|
Nach oben #15 |
|
Erfahrener Benutzer
Registriert seit: 02.02.2005
Beiträge: 515
|
Genau, amplitude-werte meine ich! Das was du da sagst, war von beginn an meine Idee, konnt mich nur ma wieder net ausdrücken, weil ich net gewusst hab, dass des amplitude-werte heißt
Jetzt ist nur die Frage: Wie mache ich das? Wie kann ich sie auslesen? |
|
|
|
|
|
Nach oben #16 |
|
Benutzer
Registriert seit: 29.05.2004
Beiträge: 45
|
Die Methode, die Amplituden-Werte miteinander zu vergleichen funktioniert natürlich nur in einem sehr begrenzten Ramen. Je nachdem was du vergleichen willst kann das natürlich reichen.
Fall 1: Die 2 Stücke sind exakt gleich, mit exakt der gleichen Abtastrate etc. Eigendlich ist nur der Name anders. In diesem Fall reicht eine Prüfsumme. Fall 2: Die 2 Stücke sind leicht verschieden. Wenn die Stücke auch nur um ein paar Byte verschoben sind bzw eine "Welle" etwas länger Dauert zieht die Methode mit dem Amplituden-Vergleich nicht mehr. Ausser man vergleicht nicht die einzelnen Amplituden-Werte sondern die Hüllkurve, am besten noch mit einem groben Zeit-Raster. Fall 3: Die 2 Stücke sind recht verschieden was Lautsärke und ein wenig den Klang angeht, u.U. variiert die Lautstärke auch innerhalb des Stückes. In diesem Fall ziehen beide Methoden nicht mehr. Was noch gehen würde wäre ein Frequenzspektrogramm zu vergleichen. In Fall 2 und 3 müsste man auch beachten das die Stücke eben verschoben sein können bzw gedehnt/gestaucht sein könnten. In Fall 3 spielen Abtastrate und Lautstärke nur insofern eine Rolle als das sie die Frequenzen nicht zu sehr verändern. Am Zuverlässigsten wäre wohl Methode 3 falls die Frequenzen nicht durch Filter oder schlechte Bitrate zu sehr verändert sind. Problem bei Fall 3 ist: wie komme ich vom Klang zu den enthaltenen Frequzen? Also was genau willst du vergleichen? (mp3, wav, Abtastraten, Unterschieds-Typ (siehe Fall 1-3)) edit: http://sepwww.stanford.edu/oldsep/hale/FftLab.html Nettes kleines Beispiel für eine Frequenzanalyse so wie ich das seh
__________________
Jabber: melsi@amessage.de |
|
|
|
|
|
Nach oben #17 |
|
Benutzer
Registriert seit: 29.05.2004
Beiträge: 45
|
Das hier ist auch sehr schön:
http://www.falstad.com/fourier/ Das heisst die Datei Stückweise einlesen, durch die Analyse laufen lassen und Verschiebungen kompensieren... alles nicht unbedingt trivial. Es kommt also darauf an wiviel es "dir wert" ist
__________________
Jabber: melsi@amessage.de |
|
|
|
|
|
Nach oben #18 | |
|
Erfahrener Benutzer
Registriert seit: 02.02.2005
Beiträge: 515
|
Zitat:
|
|
|
|
|
|
|
Nach oben #19 |
|
Benutzer
Registriert seit: 29.05.2004
Beiträge: 45
|
Also wie gesagt, prinzipiell ists möglich, die Frage ist eher wiviel Aufwand es dir wert ist. Will sagen, ist das zum einfach mal was lernen, willst du ne profi-software schreiben und damit Geld verdienen?
Ich würde in etwa mit diesen Schritten herangehen: - mp3 einlesen können (Amplituden-Werte), alternativ erst Umwandlung in WAV (rel. einfaches Format zum Einlesen) - Fourier-Analyse - einen Wert Bilden (z.B. durchschnitts-Frequenz) - Aligning der durchschnitts-Werte Aligning bedeutet: Code:
Werte 1: 1233323454623 Werte 2: 21234325454231 ergibt aligned: 1233323454623 ||| || ||| || 21234325454 231
__________________
Jabber: melsi@amessage.de |
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [MySQL] Tabellen | ||||