Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   C# Musikanalyse - Was sagen mir die Werte? (https://www.delphipraxis.net/155483-musikanalyse-sagen-mir-die-werte.html)

Mithrandir 25. Okt 2010 21:20

Musikanalyse - Was sagen mir die Werte?
 
Liste der Anhänge anzeigen (Anzahl: 5)
Bezug nimmt dieser Thread auf den Thread "Die Vision eines intelligenten Mediaplayers...". Damit es dort nicht drunter und drüber geht, kümmere ich mich hier um den Teil der Audioanalyse.

Sodila, weiter gehts. :)

Ich habe mich jetzt die letzten Tage mal hingesetzt und eine Klasse geschrieben, die die PCM-Daten aus Audiodateien auslesen kann, diese einer Fourier-Analyse unterzieht und anschließend ein (logarithmisches) Spektogramm ausgibt. Meine Idee ist, die spektografische Analyse einer Musikdatei zu untersuchen.
Derzeit bin ich am experimentieren, was ich mit den Werten anfangen kann. So addiere ich bspw die (logarithmierten) Werte aller Samples zusammen und teile diesen Wert dann durch die Anzahl der Samples * 10000. So bekomme ich einen Wert, der mir (meiner Meinung nach) etwas über die subjektive Lautheit eines Tracks sagt. So hat bspw "American Idiot" von "Green Day" einen sechs mal höheren Wert als "Hallelujah" von "Jeff Buckley". Das kann aber auch kompletter Zufall sein. Allerdings hat der Sound einer Bombenexplosion einen zehnmal höheren Wert als "Hallelujah". :)

Was mir noch fehlt, sind Möglichkeiten, die Geschwindigkeit eines Liedes zu bestimmen. Kann ich mich da nur auf die Beats Per Minute verlassen? Eher nicht, denn "Der Hummelflug" hat, auf der Geige gespielt, vermutlich recht wenig messbare Beats Per Minute - trotzdem ist das Ding verdammt schnell. ;) Was könnte man also tun? Man könnte bspw. in den höheren Frequenzen nach mehreren Samples hintereinander suchen, die ungefähr einen ähnlichen Wert haben. Dies würde bedeuten (imho), das hier ein Ton recht lange gehalten wird, was ja meist ein Indiz für ein langsames, trauriges Lied ist (imho).

Ich habe euch mal ein paar Spektogramme vorbereitet:

Anhang 32427
Clueso - Gewinner

Anhang 32428
Dire Straits - Brothers in Arms

Anhang 32429
Eminem feat. Rihanna - Love The Way You Lie

Anhang 32430
Hurts - Wonderful Life

Anhang 32431
Jeff Buckley - Hallelujah


Alles in allem - was meint ihr dazu?

Sir Rufo 25. Okt 2010 22:19

AW: Musikanalyse - Was sagen mir die Werte?
 
Die Lautstärke absolut betrachtet bringt eigentlich nichts, denn dann würde es davon abhängen, wie die Aufnahme ausgesteuert bzw. für die jeweilige Veröffentlichung abgemischt wurde.

Je nach Ausgabe (LP, Single, Sampler) ist das gleiche Lied anders ausgesteuert und würde völlig andere Werte ergeben.

Besser wäre es den Dynamik-Umfang zu nehmen, obwohl auch an diesen Werten für die jeweilige Ausgabe gedreht wird.

Versuche doch eine Aufteilung in Zeitabschnitte (z.B. 10sec) und Frequenzbereiche (0-100, 100-500, usw.) und ermittele dafür jeweils den Dynamikumfang. Von diesen Teilen bildest du dann den Mittelwert für die jeweiligen Frequenzbereiche sowie Min und Max.

Ein weiteres Kriterium könnte auch der zeitliche Abstand zwischen einem Peak und "Stille" und auch da einen Mittelwert zu bilden.

Mithrandir 25. Okt 2010 22:35

AW: Musikanalyse - Was sagen mir die Werte?
 
Wie komme ich denn an die Werte für den Dynamikumfang? :gruebel: Oder anders gefragt: Was ist der Dynamikumfang? Wikipedia sagt:

Zitat:

Bezeichnet den Quotienten aus Maximum und Minimum einer physikalischen Größe oder Funktion
Bedeutet das, ich sollte aus einem Sample-Array (entspricht bei 44100 Hz 0,3 Sekunden) den höchsten und den Niedrigsten Wert nehmen, dann den Quotienten der Beiden ermitteln und ich hätte den Dynamikumfang für einen Zeitbereich von 0,3 Sekunden? Ggf. könnte ich dann ja auch noch das Array aufsplitten nach Frequenzen.

Sir Rufo 25. Okt 2010 22:43

AW: Musikanalyse - Was sagen mir die Werte?
 
Dynamik bei Musik ist der Unterschied zwischen der leisesten und lautesten Passage.

Eine gute Bolera-Aufnahme die man direkt am Anfang gut aus den Boxen kommt, zerfetzt dir zum Schluss die Kalotten.

Dafür gibt es dann aber wieder einen Dynamik-Kompressor, der die leisen Passagen lauter macht und die lauten leiser. Sinnvoll, wenn man sich von der Musik berieseln lassen und keinen Schockeffekt gebrauchen kann. Ansonsten audiophil ein NoGo

omata 26. Okt 2010 00:00

AW: Musikanalyse - Was sagen mir die Werte?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich stehe ja mehr auf konkrete Dinge (Sourcecode) und nicht nur auf Bilder...

Namenloser 26. Okt 2010 03:01

AW: Musikanalyse - Was sagen mir die Werte?
 
Lautheit und Dynamik kannst du imo beides vergessen, weil die, wie bereits gesagt wurde, bei jeder Ausgabe unterschiedlich sind (siehe auch Loudness War). Es gibt sogar ein sehr nützliches Tool, um solche Unterschiede zu kompensieren, namens ReplayGain. ReplayGain analyisiert mithilfe eines speziellen Algorithmus die durchschnittliche sowie den Peak (und noch einige andere Statistken) eines Tracks, um zu berechnen um wie viel dB der Track leiser abgespielt werden müsste, um der Norm (üblicherweise 89dB wenn ich mich nicht irre) und schreibt einen ID3-Tag mit eben diesem Wert in die Datei. Da sich hierbei die Stimmung des Liedes ja auch nicht verändert, eignen sich Lautstärke und Dynamik als Anhaltspunkte für die "Stimmung" eines Liedes wohl eher nicht.

Das war jetzt natürlich alles stark vereinfacht dargestellt, was auch daran liegt, dass ich selbst praktisch keine Ahnung davon habe. Vielleicht findest du bei ReplayGain trotzdem ein paar Ansätze, die du gebrauchen kannst, denn es werden ja mehrere Algorithmen verwendet und verrechnet.

Mithrandir 26. Okt 2010 08:48

AW: Musikanalyse - Was sagen mir die Werte?
 
Hm, naja. Ich habe mir MP3Gain heruntergeladen. Ein Track wurde um 3 dB angepasst. Wie zu erwarten war, hat sich der von mir errechnete Durchschnittswert um 2 Punkte verändert. Bei einer Skala von 0 bis 100 ist das, zugegebenermaßen, nicht viel. Hat vielleicht jemand zufällig einen Track, bei dem MP3Gain noch agressiver zuschlagen muss? Mich würden mal Vergleichswerte interessieren.

@Omata: Danke für den QT. :) Ich veröffentliche meinen, sobald er a) vernünftig implementiert ist und b) die neue Version von SmallTune fertig ist. :)

//Edit: Die Spektogramme sind übrigens immernoch fast identisch. Hätte mich auch gewundert, wenn nicht. :) Die Dynamik-Analyse von Sir Rufo habe ich noch nicht implementiert. Ggf. müsste man hier noch ein wenig mit der Mathematik spielen.

Namenloser 26. Okt 2010 09:11

AW: Musikanalyse - Was sagen mir die Werte?
 
Zitat:

Zitat von Mithrandir (Beitrag 1057811)
Hm, naja. Ich habe mir MP3Gain heruntergeladen. Ein Track wurde um 3 dB angepasst. Wie zu erwarten war, hat sich der von mir errechnete Durchschnittswert um 2 Punkte verändert. Bei einer Skala von 0 bis 100 ist das, zugegebenermaßen, nicht viel. Hat vielleicht jemand zufällig einen Track, bei dem MP3Gain noch agressiver zuschlagen muss? Mich würden mal Vergleichswerte interessieren.

Ich meinte eigentlich etwas anderes - ich habe z.B. in meiner Playlist einige Tracks doppelt, einmal das Original und einmal Remastered. Die Remastered-Versionen sind wegen des Loudness Wars insgesamt lauter gemastert als die Originale. Wenn dein Programm die Lautstärke miteinbezieht, würden die errechneten Stimmungen für beide Lieder doch auseinander gehen, obwohl das Lied eigentlich das selbe ist.

Konkretes Beispiel aus meiner Playlist:
"Holy Wars...The Punishment Due" vom Album "Rust in Peace" von Megadeth:
Original von 1990: -2.57dB
Remastered von 2004: -10.06dB

Mithrandir 26. Okt 2010 10:05

AW: Musikanalyse - Was sagen mir die Werte?
 
Liste der Anhänge anzeigen (Anzahl: 2)
Ok, nun habe ich sehr deutlich gesehen, was du meinst: Der Wert (= Durchschnitt aller Samples) der remasterten Version ist dreimal so groß wie der des Originals. Was mich wieder zum Ausgangspunkt zurück führt: Was für Werte sollte ich analysieren?

Wenn man sich die beiden Spektogramme ansieht, erkennt man ja durchaus charakteristische Eigenschaften:

Anhang 32435
Remastered
Anhang 32436
Original

(Ich bin kein Musiker, von daher hab ich so mit den Fachtermini meine Probleme. :stupid: )

Wenn man bspw. die niedrigen Frequenzen betrachtet, fällt eine Art "Basslinie" auf. Generell fällt auf, dass die Werte über alle Frequenzen stark fluktuieren. Man erkennt sogar, dass ab dem 2. Fünftel des Liedes eine Stimme einsetzt. Betrachtet man die schnellen Änderungen der Amplituden, kann man eigentlich sagen, dass es sich um ein recht schnelles Lied handelt, das, aufgrund der "gefüllten" Frequenzbänder, auch einen recht "lauten" Eindruck macht. (Laut = Lautheit != Lautstärke).

Ich hoffe, dass war so ein bisschen verständlich, was ich damit sagen wollte. Wie gesagt, auch ich bin ein absoluter Laie...

Mithrandir 27. Okt 2010 20:05

AW: Musikanalyse - Was sagen mir die Werte?
 
Sodila - *hust* - kleiner Durchbruch.

Ich habe noch etwas weiter gegraben, und bin in meiner Browserhistory auf MFCC gestoßen. Ich denke nicht, dass es alle meine Probleme lösen wird, aber zumindest kann es mir helfen. Dank MFCC kann ich den Typus eines Liedes ungefähr einordnen. Wie sooft werde ich natürlich Vergleichswerte benötigen. Das sollte aber machbar sein. Nehme ich noch die Beats Per Minute hinzu, sollte ich eigentlich ein Lied einigermaßen gut charakterisieren können. Ich werde jetzt versuchen, eine entsprechende Klasse zu schreiben.

Sollte ich Erfolg haben, poste ichs hier. Wenn nicht, dann auch. :mrgreen:

TurboMartin 27. Okt 2010 21:02

AW: Musikanalyse - Was sagen mir die Werte?
 
Vielleicht ist für dich noch der mufin player eine hilfe für dich. Auf welcher Technik das genau funktioniert weiß ich nicht genau, steht aber glaube ich ein wenig in den FAQ, entwickelt wurde die Technik, wenn ich mich nicht stark täusche von einem Fraunhofer.

Mithrandir 27. Okt 2010 21:13

AW: Musikanalyse - Was sagen mir die Werte?
 
Danke, dass Ding kenne ich schon. Es nutzt die AudioID-Technik des Frauenhofer Instituts. Und wirklich herausfinden, wie es funktioniert, war mich bislang nicht möglich. Dennoch danke für den Hinweis. ;)

Mithrandir 9. Nov 2010 19:39

AW: Musikanalyse - Was sagen mir die Werte?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hmm - irgendwie sind meine Mathekenntnisse arg beschränkt.

Basierend auf dieser Doktorarbeit (pdf) ist Mirage entstanden. Mirage ist ein Banshee-Plugin, was Lieder auf ihre Ähnlichkeit zueinander untersucht und daraus Playlisten erstellen kann.

Zitat:
Zitat:

Mirage is an implementation of the latest research in automatic playlist generation and music similarity. Mirage analyzes your music collection and computes acoustic similarity models for each song. After your music collection has been analyzed, Mirage is able to automatically generate playlists of similar music.

Mirage uses the latest artificial intelligence/music information retrieval techniques to compute a similarity model for each song. This process includes the computation of

* an FFT,
* the Mel Cepstrum Frequency Coefficients for psycho-acoustic modeling
* and a multidimensional Gaussian Model to finally represent a song with a timbre/similarity model.

After your whole music collection is analyzed each song has a similarity/timbre model attached to it. You can then start generating playlists by selecting a song (the seed song) you want the playlist to start with and Mirage searches all its models for similar songs. To do so the Gaussian models computed in the previous step are compared using the an optimized Kullback Leibler divergence.
Eigentlich genau das, was ich brauche. Nur stelle ich mich etwas dämlich bei der Umsetzung an. Der Quelltext ist für Mono geschrieben, in C#. Eigentlich perfekt, nur wird an vielen Stellen unsafe-Code genutzt, den ich nicht 1:1 übernehmen kann, ohne eine Fehlermeldung zu bekommen, dass sich der Array-Index außerhalb des gültigen Bereichs befindet. Es ist also noch einiges zu tun. Wer Ideen hat, darf sich gerne äußern. Ich stecke momentan in einer Sackgasse... :? Im Anhang findet sich mein aktueller Stand der Dinge...

Das Projekt muss kompilliert werden, bevor es genutzt werden kann, da ihr im Quelltext die Pfade zu zwei Musikdateien angeben müsst - njoar, und dann braucht ihr zwischen 2 und 3 Minuten Geduld, um einen Wert zu bekommen, der irgendwie nixsagend ist... :gruebel:

Mithrandir 18. Nov 2010 19:57

AW: Musikanalyse - Was sagen mir die Werte?
 
Liste der Anhänge anzeigen (Anzahl: 4)
Yes!

*hust*

:mrgreen:

Meine Implementation des MIRAGE-Plugins ist fertig. Das Testprogramm ist kompiliert und verlangt die Auswahl zweier Lieder. Das Programm unterstützt noch kein Threading, daher friert die Anwendung ein. Der ganze Vorgang dauert auf meinem Core2Duo mit 1.66 Ghz nur 5 - 10 Sekunden.

Wichtig: Das Lied muss länger als 2 Minuten sein. Alles andere wird noch nicht geprüft.

Als Ergebnis bekommt ihr einen Wert. Je kleiner der Wert ist, desto näher sind sich die beiden Lieder. Zwischen 0 und 10 bedeutet, dass sich die Lieder recht ähnlich sind. Werte größer >50 stehen für komplett unterschiedliche Lieder.

Angehängt hab ich euch das kompillierte .NET-Projekt sowie den Visual Studio 2010 Source. Es wird .NET Version 4 vorausgesetzt.

//Edit: Nochmal zwei Beispiele für euch:


Hurts - Wonderful Life vs. B.O.B - Airplanes

Anhang 32615


Jeff Buckley - Hallelujah vs. Megadeth - The Punishment Due

Anhang 32614

BUG 18. Nov 2010 20:30

AW: Musikanalyse - Was sagen mir die Werte?
 
Stichprobenartig sieht das gut aus, zumindest wird Ähnlichkeit gut erkannt.

Manche scheinen aber zu ähnlich bewertet zu werden, obwohl sie vom Stil relativ unterschiedlich sind:

Wert: 9,349607
Fixing my Brain
Listen To Me

Wert: 7,148081
Overreacting
Listen To Me

Namenloser 18. Nov 2010 20:30

AW: Musikanalyse - Was sagen mir die Werte?
 
Hab's gerade mal an ein paar Liedern getestet. Also grob scheint die Einschätzung des Programms meist zu stimmen. Allerdings hatten bei mir zwei verschiedene Lieder einen Albums einen geringeren Abstand (2,irgendwas) als zwei mal das selbe Lied von einmal Original und einmal Remastered (5,irgendwas).
Aber solange man die Werte mit Schwellenwerten von 5-10 vergleicht, denke ich, ist der Algorithmus durchaus brauchbar. Wenn ich mich nicht irre, geht es dir ja eh nur um eine grobe Vorsortierung, da die ursprüngliche Idee ja war, dass das Programm aus dem Nutzerverhalten lernt.
Wobei es natürlich auch bei recht schnellen 5-6 Sekunden, die der Algorithmus braucht, nicht praktikabel ist, eine komplette Musiksammlung auf diese Weise zu scannen. Da müsste man sich wohl noch irgendeine Optimierungsstrategie überlegen (z.B. nur stichprobenartig zu scannen und den Rest zu interpolieren, also z.B. wenn bekannt ist: A ist ähnlich zu B, und B ist ähnlich zu C; dann ist A vermutlich auch ein bisschen ähnlich zu C. Aber wahrscheinlich hast du dir dazu auch schon Gedanken gemacht...

Mithrandir 18. Nov 2010 21:34

AW: Musikanalyse - Was sagen mir die Werte?
 
Zitat:

Zitat von NamenLozer (Beitrag 1062446)
Aber wahrscheinlich hast du dir dazu auch schon Gedanken gemacht...

Wenn man das runterrechnet, braucht man pro Lied 3 Sekunden. Macht bei 100 Liedern 5 Minuten, bei 1000 Liedern 50 Minuten, bei 10.000 Liedern 500 Minuten, vielleicht eher 600, was 10 Stunden entspricht.
Das ist etwas, das kann man imho im Hintergrund berechnen lassen, das sollte nicht das Problem sein. Es wird eine Trefferwahrscheinlichkeit von 75 - 80% angegeben. Die Differenzen können recht schnell berechnet werden. Also alles im machbaren Bereich. ;)

BUG, das Lied ist natürlich sehr - speziell. :mrgreen: Ich werde mir das mal ansehen, vielleicht kann man da noch was optimieren. ;)

Namenloser 18. Nov 2010 22:21

AW: Musikanalyse - Was sagen mir die Werte?
 
Zitat:

Zitat von Mithrandir (Beitrag 1062452)
Zitat:

Zitat von NamenLozer (Beitrag 1062446)
Aber wahrscheinlich hast du dir dazu auch schon Gedanken gemacht...

Wenn man das runterrechnet, braucht man pro Lied 3 Sekunden. Macht bei 100 Liedern 5 Minuten, bei 1000 Liedern 50 Minuten, bei 10.000 Liedern 500 Minuten, vielleicht eher 600, was 10 Stunden entspricht.

Ich war davon ausgegangen, dass immer zwei Dateien miteinander verglichen werden. In diesem Fall wäre die Laufzeit ja quadratisch zur Anzahl der Dateien.

Medium 18. Nov 2010 22:26

AW: Musikanalyse - Was sagen mir die Werte?
 
Du musst schon bei der Zeitberechnung bedenken, dass du immer paarweise Vergleiche hast ;). Das ist dann O(n*(n+1)/2), und bei 100 Liedern schon 3sek*100*(101/2) = 15150 sek = 252,5 min ~= 4,21 std.

BenjaminH 19. Nov 2010 10:37

AW: Musikanalyse - Was sagen mir die Werte?
 
Zitat:

Zitat von Medium (Beitrag 1062458)
Du musst schon bei der Zeitberechnung bedenken, dass du immer paarweise Vergleiche hast ;). Das ist dann O(n*(n+1)/2), und bei 100 Liedern schon 3sek*100*(101/2) = 15150 sek = 252,5 min ~= 4,21 std.

Nicht unbedingt, wenn man weiß, dass Lied1 und Lied2 in derselben Gruppe liegen, dann kann man Lied2 auslassen bei der Überprüfung. Dann ist nurnoch ein Lied aus jeder Klasse zu prüfen. Das können zwar immernoch 100 verschiedene sein, ist aber z.b. deutlich besser als 1000.
Damit liegt der Zeitgewinn bei einigen wenigen Liedern natürlich bei 0. Je mehr du aber hast, desto mehr Zeit gewinnst du gegenüber einem Vergleich mit allen Liedern.

omata 19. Nov 2010 10:45

AW: Musikanalyse - Was sagen mir die Werte?
 
Zitat:

Zitat von BenjaminH (Beitrag 1062523)
Nicht unbedingt, wenn man weiß, dass Lied1 und Lied2 in derselben Gruppe liegen

Und woher weiss man das? Wann ist denn klar, dass zwei Lieder in der selben Gruppe liegen? Sorry, aber das verstehe ich nicht. Oder meinst du den Interpreten? Aber selbst dann macht das keinen Sinn, weil es hier ja um ähnliche Lieder geht und man nicht davon ausgehen kann, dass alle Lieder eines Interpreten gleich sind (schnell/langsam, anderer Stil).

Also sorry, aber dein Argument erschließt sich mir nicht wirklich.

Vielleicht kannst du das nochmal für doofe (also mich) erklären.

BenjaminH 19. Nov 2010 11:22

AW: Musikanalyse - Was sagen mir die Werte?
 
Man kann eventuell davon ausgehen, dass wenn Lied1 zu Lied2 ähnlich ist und Lied2 zu Lied3 ähnlich ist, auch Lied1 zu Lied3 ähnlich ist. Wenn man das weiß, braucht man nicht zu prüfen, ob Lied1 auch zu Lied3 ähnlich ist. Wenn man jetzt eine Gruppe von Liedern hat, die sich ähnlich sind, dann braucht man, um herauszufinden, zu welchen Liedern ein neues Lied Y ist aus dieser Gruppe nur eines davon mit dem neuen Lied vergleichen.
Das ganze ist natürlich nur in gewissen Maßen praktikabel, aber ich denke das könnte in vielen Fällen gut gehen.

p80286 19. Nov 2010 12:12

AW: Musikanalyse - Was sagen mir die Werte?
 
Ähm, wenn ich #13 richtig verstanden habe, wird für jedes Musikstück so etwas wie ein "Fußabdruck" erstellt. Und je nachdem was er für eine Aussage beinhaltet können die Ähnlichkeiten durch simples Sortieren festgestellt werden. Zeit fällt also nur für das einmalige Einlesen an.

Gruß
K-H

Highttower 19. Nov 2010 12:26

AW: Musikanalyse - Was sagen mir die Werte?
 
Ich habe ein paar kleinigkeiten Ausprobiert:

ACDC - Thunderstruck vs Ich und Ich - So soll es bleiben

Wert: 6,069492

ACDC - Thunderstruck vs ACDC - Who Made Who

Wert: 6,664665

ACDC - Thunderstruck vs The White Strips - Offend in Every Way

Wert: 6,495523

ACDC - Thunderstruck vs Silbermond - Meer sein

Wert: 5,758114

------------

Silbermond - Meer sein vs Ich und Ich - So soll es bleiben

Wert: 13,36255

-----

Man kann also nicht davon ausgehen das sich die Lieder die zu einem Lied ähnlich sind, zu einander ähnlich ähnlich sind.

Viele Grüße,

Tobi

Namenloser 19. Nov 2010 16:29

AW: Musikanalyse - Was sagen mir die Werte?
 
Zitat:

Zitat von BenjaminH (Beitrag 1062536)
Man kann eventuell davon ausgehen, dass wenn Lied1 zu Lied2 ähnlich ist und Lied2 zu Lied3 ähnlich ist, auch Lied1 zu Lied3 ähnlich ist. Wenn man das weiß, braucht man nicht zu prüfen, ob Lied1 auch zu Lied3 ähnlich ist. Wenn man jetzt eine Gruppe von Liedern hat, die sich ähnlich sind, dann braucht man, um herauszufinden, zu welchen Liedern ein neues Lied Y ist aus dieser Gruppe nur eines davon mit dem neuen Lied vergleichen.
Das ganze ist natürlich nur in gewissen Maßen praktikabel, aber ich denke das könnte in vielen Fällen gut gehen.

Danke, dass du noch mal #16 paraphrasiert hast... ;)

Mithrandir 19. Nov 2010 17:22

AW: Musikanalyse - Was sagen mir die Werte?
 
Zitat:

Zitat von Medium (Beitrag 1062458)
Du musst schon bei der Zeitberechnung bedenken, dass du immer paarweise Vergleiche hast ;). Das ist dann O(n*(n+1)/2), und bei 100 Liedern schon 3sek*100*(101/2) = 15150 sek = 252,5 min ~= 4,21 std.

Ich muss aber den Fingerprint pro Lied nur einmal berechnen. Die eigentliche Rechenoperation, die zwei Lieder miteinander vergleicht, braucht gerade mal 0,002 Sekunden. Da dauert das Laden der Daten aus der DB fast länger. ;)

Highttower, danke für deine Testreihe. Man sieht, denke ich, gut, dass man nicht pauschal sagen kann, dass Lied1 ähnlich Lied3 ist, auf der anderen Seite ist der Abstand jetzt aber auch nicht sooooo groß... Hier sind sicherlich Optimierungen möglich/nötig.

Zur Genauigkeit der Bestimmung des Fingerprints habe ich auch noch einzuwerfen, dass ich Stille am Anfang der Lieder noch nicht ignoriere. D.h., sollte man bspw. 5 Sekunden am Beginn nichts hören, fließt das auch in die Berechnung ein. Das kann natürlich die Ergebnisse verfälschen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz