AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein C# Musikanalyse - Was sagen mir die Werte?
Thema durchsuchen
Ansicht
Themen-Optionen

Musikanalyse - Was sagen mir die Werte?

Ein Thema von Mithrandir · begonnen am 25. Okt 2010 · letzter Beitrag vom 19. Nov 2010
Antwort Antwort
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#1

AW: Musikanalyse - Was sagen mir die Werte?

  Alt 26. Okt 2010, 10:05
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:

Megadeth - remastered.png
Remastered
Megadeth.png
Original

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

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...
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#2

AW: Musikanalyse - Was sagen mir die Werte?

  Alt 27. Okt 2010, 20:05
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.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
TurboMartin

Registriert seit: 13. Feb 2006
Ort: Bad Honnef
765 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Musikanalyse - Was sagen mir die Werte?

  Alt 27. Okt 2010, 21:02
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.
Tomorrow will be cancelled due to lack of interest.

  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#4

AW: Musikanalyse - Was sagen mir die Werte?

  Alt 27. Okt 2010, 21:13
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.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#5

AW: Musikanalyse - Was sagen mir die Werte?

  Alt 9. Nov 2010, 19:39
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...
Angehängte Dateien
Dateityp: zip AdvancedAudioAnalysis.zip (1,24 MB, 16x aufgerufen)
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#6

AW: Musikanalyse - Was sagen mir die Werte?

  Alt 18. Nov 2010, 19:57
Yes!

*hust*



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

erstes_beispiel.png


Jeff Buckley - Hallelujah vs. Megadeth - The Punishment Due

zweites_beispiel.png
Angehängte Dateien
Dateityp: zip SmallTune Mood Test Source.zip (1,41 MB, 26x aufgerufen)
Dateityp: zip SmallTune Mood Test Bin.zip (472,5 KB, 19x aufgerufen)
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell

Geändert von Mithrandir (18. Nov 2010 um 20:07 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#7

AW: Musikanalyse - Was sagen mir die Werte?

  Alt 18. Nov 2010, 20:30
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

Geändert von BUG (18. Nov 2010 um 20:37 Uhr)
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Musikanalyse - Was sagen mir die Werte?

  Alt 18. Nov 2010, 20:30
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...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz