Hier laufen ja einige Musiker herum, daher interessiert sich vielleicht jemand für meine Idee: Wie hört ein Mensch ohne absolutes Gehör (so wie ich) die Akkorde eines Songs heraus? Er spielt "=probiert" verschiedene Akkorde, bis er den Richtigen gefunden hat. Dass ein Akkord zur aktuellen Stelle in einem laufenden Song passt, hört der Mensch ganz schnell. Viel schneller als bei einem einzelnen Ton. Lässt sich so etwas automatisieren? Das Erzeugen von Akkorden dürfte ganz einfach sein. Dann müssen die Akkorde mit einem möglichst geeigneten Synthesizer in Audio umgewandelt werden. Auch hier ist der Aufwand überschaubar. Nun aber: Wie lassen sich zwei Audioschnipsel harmonisch vergleichen? Wie lässt sich Dissonanz und Konsonanz in einem Algorithmus abbilden? Die Gefahr besteht, dass der Mensch hier viel mithilfe seiner Erfahrung & Erwartungshaltung macht. Es muss doch was dran sein, dass es für den Menschen (wenigstens für mich) viel einfacher ist, einen ganzen Akkord zum Song einzuschätzen, als einen einzelnen Ton. Vor allem in Anbetracht der Tatsache, dass im Song einiges an unbrauchbaren Daten enthalten ist (Drums, Melodietöne, Auslassungen) wird diese Konsonanzmessung rauschbehaftet sein. Später fragt sich auch, wie lange die Songfetzen werden, über die man da mittelt (Größe der Fensterung)
A. S. schrieb: > Wie lässt > sich Dissonanz und Konsonanz in einem Algorithmus abbilden? Das hängt von den Intervallen ab, also dem Verhältnis der Frequenzen zwischen den verschiedenen Tönen, die in einem Akkord vorkommen. Die Musiktheorie handelt in einem ziemlich mathematischen Konzept (nur merken das nicht alle Musiker) ab, was passt und was nicht, sowie welche Stimmung ein Akkord ausstrahlt. Am besten liest du dir mal den Wikipedia-Artikel durch: http://de.wikipedia.org/wiki/Intervall_(Musik) Wie bestimmte Intervalle und Akkorde klingen, wird dadurch beschrieben. Warum das so ist, das geht dann wohl tiefer in die Psychologie und Neurologie. Für die Musikpraxis spielt es keine Rolle.
Ich muss nochmal neu formulieren. Ich habe einen Ausschnitt aus einem Musikstück (z.B. ca 500msec) als Mix aus Schlagzeug, Rhythmusinstrumenten, Melodieinstrumenten, Gesang, Effekten und/oder Störgeräuschen. Ich gehe davon aus, dass sich der aktuelle Akkord über diese 500msec nicht ändert. Dreiklänge sollte man mit dem System schon abbilden können. Mehr wäre natürlich toll, aber vermutlich muss man mal mit dem Grundton anfangen. Anstelle, dass ich mithilfe einer Frequenzanalyse im Sinne eines absoluten Gehörs alle Töne herausextrahiere (Melodyne scheint das so zu machen), möchte ich eher den Weg eines Matchingfilters gehen: Ich gebe einen Referenzakkord in das Filter (z.B. G-Dur) und erwarte als Ausgang ein Qualitätsmaß - also "wie wahrscheinlich ist es, dass dieser Ausschnitt in G-Dur ist?". Wie hilft mit da der Wiki-Artikel weiter? Der Rauschanteil im Audio ist ja enorm!
:
Bearbeitet durch User
Hallo, habe mal einen Geräuscherkenner gecoded, der sollte verschiedene Geräusche wie z.B. Musik, Staubsaugen, menschliche Sprache auseinanderhalten. Mein Ansatz war damals so: Habe von dem jeweiligen Geräusch eine gemittelte FFT erstellt über eine Aufnahmedauer von paar Sekunden und habe alle errechneten FFT Punkte gespeichert (und nicht nur an bestimmten Frequenzen, sonder eben den kompletten Output der FFT. Wenn du dann erkennen willst, um was für ein Geräusch es sich handelt, habe ich dann immer eine Sekunde Audio aufgenommen, eine gemittelte FFT über die eine Sekunde berechnet und bin dann jeden einzelnen Wert der FFT durchgegangen um mit den vorherigen Aufnahmen zu vergleichen welcher Punkt der FFT einem anderen Punkt einer anderer FFT am meisten ähnelt. Und dann kannst du auch deine Wahrscheinlichkeit daraus berechnen. Wenn deine FFT z.B. 1024 Punkte hat und 956 Punkte hatten die geringste Distanz zur FFT von Geräusch x, dann ist es zur (956/1024)*100 % Geräusch x. Ich hoffe du weißt worauf ich hinaus will... sowas könntest du mal probieren. Den Code darf ich dir leider nicht zusenden :(
Dann würde ich ganz klar eine FFT machen. Du solltest klare Spitzen bei den gespielten Tönen erkennen können. FFT ist recht schnell implementiert, dann würde ich mal schauen, wie sauber/unsauber das aussieht. Für Korrelationsverfahren im Zeitbereich müsste man sich auf eine absolute Tonhöhe verlassen können, oder man probiert alles durch - dann macht man aber implizit schon eine Fourier Transformation, dann kann man gleich die FFT nehmen. A. S. schrieb: > Wie hilft mit da der Wiki-Artikel weiter? Als Grundlage, aber wie's scheint, bist du sowieso schon weiter :-)
Als ich mich in die Harmonielehre eingearbeitet habe, da fand ich es witzig mir mal die Akkorde in Wolfram Alpha anzuschauen. Ich habe fest gestellt, das um einen harmonischen Klang zu erzeugen, die Interferenzen der einzelnen Noten sich nicht gegenseitig auslöschen dürfen, so das ein gleichmäßiger Ton entsteht. Hier z.B. ein A-Moll http://www.wolframalpha.com/input/?i=sin%28x*440%29%2Bsin%28x*523%29%2Bsin%28x*659%29 oder hier ein C-Dur http://www.wolframalpha.com/input/?i=sin%28x*523%29%2Bsin%28x*659%29%2Bsin%28x*784%29 oder hier, drei verschiedene Oktaven von A http://www.wolframalpha.com/input/?i=sin%28x*440%29%2Bsin%28x*220%29%2Bsin%28x*110%29 Alle drei Gebilde sind harmonisch. Hier nun ein disharmonisches Gegenbeispiel: A, As, B http://www.wolframalpha.com/input/?i=sin%28x*440%29%2Bsin%28x*466%29%2Bsin%28x*494%29 Man sieht wie der Ton anfängt zu wabern. Aber dieses Problem hat man bei allen(?) disharmonischen Akkorden, das dort ein Niederfrequentes periodisches Muster entsteht. Das ist natürlich jetzt vollkommen unwissenschaftlich. Aber vielleicht reicht es ja für eine Idee ;)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.