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
Seite 1 von 3  1 23      
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

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

Musikanalyse - Was sagen mir die Werte?

  Alt 25. Okt 2010, 22:20
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:

clueso-gewinner.jpg
Clueso - Gewinner

dire-straits-brothers-arms.jpg
Dire Straits - Brothers in Arms

eminem-feat.-rihanna-love-way-you-lie.jpg
Eminem feat. Rihanna - Love The Way You Lie

hurts-wonderful-life.jpg
Hurts - Wonderful Life

jeff-buckley-hallelujah.jpg
Jeff Buckley - Hallelujah


Alles in allem - was meint ihr dazu?
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Musikanalyse - Was sagen mir die Werte?

  Alt 25. Okt 2010, 23:19
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.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

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

AW: Musikanalyse - Was sagen mir die Werte?

  Alt 25. Okt 2010, 23:35
Wie komme ich denn an die Werte für den Dynamikumfang? 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.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Musikanalyse - Was sagen mir die Werte?

  Alt 25. Okt 2010, 23:43
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
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: Musikanalyse - Was sagen mir die Werte?

  Alt 26. Okt 2010, 01:00
Ich stehe ja mehr auf konkrete Dinge (Sourcecode) und nicht nur auf Bilder...
Angehängte Dateien
Dateityp: zip Sound2D.zip (268,9 KB, 35x aufgerufen)
  Mit Zitat antworten Zitat
Namenloser

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

AW: Musikanalyse - Was sagen mir die Werte?

  Alt 26. Okt 2010, 04:01
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.
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

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

AW: Musikanalyse - Was sagen mir die Werte?

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

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

AW: Musikanalyse - Was sagen mir die Werte?

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

AW: Musikanalyse - Was sagen mir die Werte?

  Alt 27. Okt 2010, 21: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
Antwort Antwort
Seite 1 von 3  1 23      


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 21:48 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