Autor Beitrag
Hack Gott
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 409

Windows Vista
Delphi 2005 Personal, Delphi 7
BeitragVerfasst: Mo 06.02.06 20:59 
Also, da ich mit Google und hier im Forum nix gefunden hab, muss ich einfach mal nachfragen:
Ist es möglich 2 Audiodateien (im selben Format) miteinander vergleichen zu lassen und einen Unterschiedsfaktor (am liebsten in %, aber nicht unbedingt) herauszubekommen? Hier hab ich eine Routine gefunden mit der man sowas mit Bildern machen kann, aber ich wollte das halt mit einer Tonspur durchführen.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mo 06.02.06 21:17 
Darüber denke ich auch seit einiger Zeit nach. Ne wirkliche Lösung habe ich noch nicht gefunden. Noch nichtmal nen Ansatz.

Eine Idee ist es, über die FFT-Daten, die man z.B. über fmod oder bass kriegen kann, erstmal den Bassrhythmus herauszubekommen. Und da fängts schon an. Was ist ein Rythmus? Und wie unterscheidet man Itz Itz Itz von bumm bumm bumm? Und wie kommt man an ein "Bumm"? Und dann muss man den Rest auch noch irgendwie mit berücksichtigen.

Es wäre wohl am besten, wenn du dir erstmal darüber klar wirst, was genau es bedeutet, dass sich zwei Lieder ähnlich anhören. Du musst quasi eine Norm auf der Menge aller Lieder definieren, so dass |Lied1|-|Lied2| < epsilon <=> "Lied1 klingt ähnlich wie Lied2". Wenn du das raus hast, hast du wahrscheinlich 75% geschafft.

_________________
We are, we were and will not be.
Hack Gott Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 409

Windows Vista
Delphi 2005 Personal, Delphi 7
BeitragVerfasst: Mo 06.02.06 21:34 
Hmm...
Also mein Lösungsansatz wäre, dass man beide musik spuren analysieren lässt, dabei kann man also für jede 1/4 sek. (oder so...) eine Info erstellen mit verschiedenen Höhen, diese Vergleicht man dann. Der Prozeß wurde halt in Echtzeit ablaufen, d.h. das lohnt sich eigentlich nur für kleinere dateien, wie z.B. 10sek.
Einloggen, um Attachments anzusehen!
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mo 06.02.06 22:18 
Das halte ich auf die Art für keine gute Idee, da du in den 1/4-Sec-Takt möglicherweise bei einem Lied immer zwischen die Bässe kommst, und bei einem anderen immer die Bässe triffst, obwohl sie denselben Rhytmus haben - nur etwas zeitversetzt.

Diese Daten, die die Anzeige bestimmen, muss man aber nicht unbedingt in Echtzeit bestimmen. Soweit ich weiss, liefern die gängigen dlls Methoden mit, die Dateien zu analysieren, ohne sie wirklich abzuspielen.

Aber das Problem bleibt ja: Wenn du diese Daten vergleichst - wie interpretierst du das Ergebnis?

_________________
We are, we were and will not be.
DarkHunter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 477

Win XP
D3 Prof, D2005 PE
BeitragVerfasst: Mo 06.02.06 22:34 
Vielleicht sollte man sich mal anschauen in welcher Form die Töne abgelegt sind, weil bei unkomprimierten Files, wäre es dann nicht vielleicht möglich, einen direkten Vergleich über Bytes/Byteblöcke zu starten.

Wäre aber wahrscheinlich zu hardwarehungrig

_________________
I believe that every human has a finite number of heart-beats. I don't intend to waste any of mine running around doing exercises.
- Neil Armstrong