Erkennen mathematischer Funktionen in Liedern


12

Ich bin neu bei DSP und habe gerade StackExchange entdeckt. Entschuldigen Sie, wenn dies nicht der richtige Ort ist, um diese Frage zu stellen.

Gibt es eine Ressource, die Genres in mathematischen Begriffen beschreibt? Wenn ich zum Beispiel eine FFT für das Signal in diesem Abschnitt des Songs durchgeführt habe (2:09, wenn der Link dort nicht startet), kann ich dann in irgendeiner Weise feststellen, dass dieser Abschnitt diese grobe Sortierung aufweist von Ton? Folgen solche Klänge einer mathematischen Funktion, mit der ich vergleichen kann? http://www.youtube.com/watch?v=SFu2DfPDGeU&feature=player_detailpage#t=130s (Link startet sofort mit der Soundwiedergabe)

Ist die einzige Möglichkeit, betreute Lerntechniken anzuwenden, oder gibt es einen anderen Ansatz (der vorzugsweise keine Betreuung erfordert)?

Vielen Dank für jeden Rat.


Sie könnten eine FFT verwenden, um einen Schlagzeugschlag gegen eine Flöte zu erkennen, aber nicht, um ein Genre zu erkennen. Sehr lokales Sound-Zeug, aber nicht der musikalische Charakter der gesamten Datei.
Endolith

Ist es möglich, die "Rauheit" des Tons zu erkennen? Kommt hier die MFCC ins Spiel?
XSL

Antworten:


10

Ich denke, die Unterscheidung, die Sie suchen, ist eher empirisch als theoretisch (im Gegensatz zu überwacht oder unbeaufsichtigt), aber ich könnte mich darin irren. Mit anderen Worten, das Ideal wäre, eine theoretische Definition verschiedener Genres zu haben und nicht nur eine Reihe von undurchsichtigen Daten, die zur Klassifizierung eines Songs verwendet werden können [ohne wirkliches Verständnis].

Bei der allgemeinen Klassifizierung von Genres müssen Sie jedoch wahrscheinlich zumindest anhand von Beispielen trainieren, auch wenn Sie zunächst nur die Definitionen von Genres erstellen. Überlegen Sie in Bezug auf Ihr Beispiel, wie oft sich die Leute [auf YouTube] darüber streiten, ob ein bestimmter Track wirklich synchron ist (z. B. jeder Track, der mehr synchron und weniger wackelig ist , obwohl das Genre ohne wirklichen Wackeleffekt begann). Die Leute definieren Genres im Laufe der Zeit anhand von Beispielen, daher ist zu erwarten, dass Algorithmen, die dieses Verhalten replizieren, auch einige Beispiele erfordern. Die Art und Weise, wie Menschen Genres beschreiben, ist fast wie ein Merkmalsvektor Auf jeden Fall - sie stellen eine Liste mit Fragen zum Song (z. B. Ist er brüchiger oder wackeliger? Hat er viel Subbass? Wie lange ist er? Wie ist das Tempo? Gibt es einen Gesang? usw.).

Natürlich können Sie möglicherweise eine Liste von Funktionen auswählen, die auch ein intuitives Verständnis des Genres ermöglichen. Eine Funktion wie "Dynamic Range" kann eine Person auch anhand des Ohrs erkennen, aber so etwas wie "Time Domain Zero Crossings" wäre nicht sehr intuitiv - auch wenn es für die Klassifizierung gut funktioniert. Das folgende Papier enthält einige Funktionen, die für Sie interessant sein könnten:

George Tzanetakis, Perry R. Cook: Musikgenreklassifizierung von Audiosignalen. IEEE Transactions on Speech and Audio Processing 10 (5): 293-302 (2002) Link .

Für die Messung der Rauheit ist die psychoakustische Rauheit ein guter Ausgangspunkt, es reicht jedoch möglicherweise nicht aus, beispielsweise zwischen Dubstep-Kabeln und Elektro-Kabeln zu unterscheiden. Für feinkörnigere Unterscheidungen ist eine Sache zu beachten, die die Erkennung der Klangfarbe . Die folgende Arbeit bietet einen guten Überblick über Techniken:

TH Park, "Hin zu einer automatischen Erkennung der Klangfarbe von Musikinstrumenten", Ph.D. Dissertation, Princeton University, NJ, 2004. Link .

Es gibt auch ein Modell für die Wahrnehmungsrauheit in Timbre, Tuning, Spectrum und Scale, mit dem benutzerdefinierte Skalen für beliebige Klangfarben erstellt werden. Die Idee ist, dass Harmonische, die sehr nahe beieinander liegen, Schwebungsfrequenzen erzeugen, die als Dissonanz wahrgenommen werden. Umschreibung aus Anhang F und E ,

Ff1,f2,...,fn

DF=1/2 i=1n j=1n d(|fifj|min(fi,fj))

where

d(x)=e3.5xe5.75x

is a model of the Plomp-Levelt Curve.

It's used for measuring how pleasing a given chord is with respect to a timbre (by minimizing the dissonance). I don't know if either roughness of the psychoacoustic variety, or intrinsic dissonance would be very fruitful for your purposes on their own, but they may be useful in combination with other metrics.

You'll probably have more luck classifying timbres mathematically than genres. For example, strings have even and odd harmonics, but a clarinet has only odd harmonics (cf. Sawtooth wave, Square wave). Dubstep wobble tends to be done with LFO-driven filters (low pass and/or formant filters), so something like Spectral Flux (see [Tzanetakis], above) might be a good starting point as a feature. However, I doubt anyone has studied mathematical classification of wobble yet ;)


2
Excellent response from datageist. I would also suggest isophonics.net/QMVampPlugins if you are looking for more information and a dev platform with source code
Dan Barry

@Dan That looks awesome, thanks for that link.
datageist

I've found a niche subject to study! :D Thanks for the brilliant answer and links. It's pointed me in a direction rather than aimlessly using Google.
XSL

Glad to help :)
datageist
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.