Audiokodierung durch musikalische Fingerabdrücke
Diplomarbeit (2.041 KB)
Aufgrund der schnellen Informationszunahme beziehungsweise die stetig steigende Nummer von Informationsquellen wird es immer schwieriger im Datenhighway den Überblick zu bewahren. Neue Informationsabfragen müssen also geschaffen werden, um die Suche zu vereinfachen und dazu werden neue Kodierungsverfahren benötigt. Im MPEG-7- Format werden Szenarios aufgezeigt, welche auf „feature extraction“ (Erkennung gewisser Eigenschaften) und „labelling“ (Etikettierung) in der Audiokodierung basieren. Ein Ziel der MPEG-7- Kodierung ist eine Kodierung, welche auf ein paar kleiner, musikalischer Sequenzen (Fingerabdrücke) basiert, um ein Musikstück zu repräsentieren.
Die Dekodierung führt die tabellarisch angeordneten Grundelemente wieder zusammen, um das Originalsignal wieder herzustellen. Das Ziel ist es, herauszufinden wie Musik in kleine Stücke unterteilt werden kann, welche den Informationsfluss verringer können, wenn das (kodierte) Musiksignal von einem Ort zum anderen übertragen wird (zum Beispiel über Internet).
Betrachten wir Musik als Event- basiertes Phänomen, welches konstanten Veränderungen unterliegt, sei es das Einsetzen eines neuen Instrumentes oder einfach eine neue Note, so können wir annehmen, dass eine solche Veränderung auch einen neuen Teil des Musikstückes einleitet. Der erste Schritt wird es also sein, solche Variationen im Musikstück zu finden. Dafür wird ein so genanntes „Onset- detection“- Verfahren verwendet, wobei „Onset“ für den beginn einer neuen Note oder eines neuen musikalischen Teiles steht. „Onset- detection“ kann mittels verschiedener Ansätze bewerkstelligt werden, wobei entweder Änderungen im Zeit- oder Frequenzbereich, beziehungsweise in Veränderungen in den entsprechenden Eigenschaften verwendet werden.
Sind einmal diese „Onsets“ gefunden, welche nun eine Skizze des rhythmischen Geschehens des Musiksignals darstellen, wird zwischen jeweils zwei „Onsets“ ein „Frame“ definiert. Dies ergibt ein in (längere oder kürzere) „Frames“ unterteiltes Musikstück. Für jeden dieser kleinen Teile werden nun Eigenschaften extrahiert, um wiederholte Teile (zum Beispiel Strophe, Refrain) zu finden, welche die größte Reduktion im Datenfluss bringen könnten.
Für diese Suche nach Wiederholungen werden drei Ansätze in Betracht gezogen werden:
• Wiederholung gewisser rhythmischer Muster (zum Beispiel „half- time“ Rhythmus in der Strophe und „full- time“ im Refrain) können identifiziert werden, indem das Timing der „Onsets“ (mit Bezugnahme auf gewisse Ungenauigkeiten) der verschiedenen Teile verglichen wird, ohne weitere Eigenschaften in Betracht zu ziehen. Teile mit ähnlicher Rhythmusstruktur werden als zusammengehörige Teile betrachtet.
• Ein anderer Ansatz sucht nach Ähnlichkeiten in der Klangfarbe innerhalb des Musikstückes. Ein Beispiel für diesen Ansatz sind die „Mel- Frequency Cepstral Coeffitients“ (MFCC). Diese werden für jedes „Frame“ berechnet und liefern ein Set (einen Vektor) von wahrnehmungsbasierten Spektraleigenschaften. Durch Korrelation dieser Vektoren wird eine Ähnlichkeitsmatrix erstellt, anhand welcher Ähnlichkeiten, und damit zusammengehörende Teile innerhalb des Musikstückes gefunden werden können.
• Ein dritter Ansatz, um Ähnlichkeiten innerhalb eines Musikstückes zu finden, verwendet musikalische Ähnlichkeiten, wie zum Beispiel Harmonie oder Tonhöhe. Solch eine Suche kann zum Beispiel anhand der „Chroma“- Eigenschaft durchgeführt werden. Bei diesem zyklischen Maß wird jedem Ton eine gewisse Oktavlage, und innerhalb dieser Oktave eine Tonhöhe (auf einem der zwölf Halbtöne) zugeteilt. Nun werden alle Töne des selben „Chroma“- Levels (das heißt der gleiche Ton über alle Oktaven) aufsummiert um die gesamte Energie in einem Ton zu ermitteln. Auf diesem Wege können zum Beispiel Akkorde identifiziert werden und Anhand ähnlicher Akkordfolgen kann auf zusammengehörende Strukturteile geschlossen werden.
Wenn genug gleiche Teile gefunden wurden, kann eine Komprimierung erreicht werden, indem man den wiederholten Teil nur einmal sendet, und während die Wiederholung gespielt wird bereits den nächsten Teile oder weitere Daten überträgt.