Ein Algorithmus, um eine einfache Akkordfolge zu erzeugen

8

Ich mache ein Programm, das zufällige einfache Melodien erzeugt, basierend auf einer zufälligen Grundakkordprogression von der C-Dur-Tonleiter.

Was wäre ein guter Weg, eine Akkordfolge von vier Triaden von dieser Tonleiter zu erzeugen? Das Erzeugen von 4 völlig zufälligen Triaden (von den 7 existierenden) von der Skala klingt normalerweise nicht sehr gut.

Ich brauche einen Ansatz, um eine Akkordprogression zu erzeugen, die gut oder okay klingt, aber ich möchte nicht einfach eine Progression zufällig aus einem vorhandenen Pool von Progressionen wählen. Ich möchte immer noch, dass das Programm diese 4 Triaden selbst erzeugt, indem es einen einfachen Algorithmus verwendet, um sicherzustellen, dass die generierte Progression anständig klingt.

(Wie gesagt, diese 4 Triaden werden jeweils aus den 7 Triaden der C-Dur-Tonleiter entnommen).

Bitte beachten Sie: Diese Frage ist kein Duplikat meiner vorherigen Frage nach einem Ansatz zum Erstellen eines Algorithmus für die Melodieerzeugung. Hier geht es darum, einen Weg zu finden, eine Akkordfolge zu erzeugen. Das Erzeugen von Melodien ist ein anderes Thema.

Danke für Ihre Hilfe

EDIT: Allgemeine Richtlinien darüber, wie man weiß, ob ein Triad neben einer anderen Triade gut klingt, sind ebenfalls großartig.

    
user3150201 15.01.2014, 21:52
quelle

3 Antworten

3

Klingt so, als müssten Sie dies in Phasen aufteilen:

  • Erzeugen Sie zuerst eine Triade zufällig aus allen Möglichkeiten dieses Schlüssels
  • Zweitens, wenden Sie einen oder mehrere Filter an, um diejenigen zu eliminieren, die nicht "anständig klingen" (*).
  • Mach weiter, bis du 4 Triaden hast, die alle Filter passieren.

Ich denke, dass diese Lösung am Ende auch angenehm sein kann - Sie können langsam eine Sammlung von Filtern erstellen, von denen jeder eine einfache Sache erledigt - aber zusammen, Sie erarbeiten allmählich, was "anständig" definiert .

(*) hört sich anständig an ist in Bezug auf mit Bezug auf die vorherige (n) Dreiergruppe (n) definiert (wenn es welche gibt) , und das ist, wo Sie könnten schreibe Filter wie:

  • Passt die Grundnote der Triade zu einem logischen Muster relativ zu den vorherigen Grundtönen? ; Beispiele:

    • Einfach aufsteigend
    • Einfach absteigend
    • In Terzen aufsteigend
    • usw.
  • Haben die Noten dieser Triade mindestens eine gemeinsame Note mit der vorherigen Triade?

    • das könnte einige angenehm klingende Inversionen finden
  • Ist der "Sprung" von der vorherigen Triade "kleiner als" ein bestimmter Schwellenwert?

    • um störende Sprünge auf der ganzen Skala zu vermeiden
    • wird einfach erreicht, indem die MIDI-Notenwerte der Triade summiert und mit vorherigen
    • verglichen werden
millhouse 15.01.2014 21:59
quelle
1

Sie könnten diese Papiere überprüfen

Erzeugen von Musik mithilfe von Konzepten aus Schenkerian-Analyse und Akkordräumen

und Ein probabilistisches Modell für Akkordfolgen

Aber dieses Thema ist so komplex, wie Sie es wollen. Nehmen wir zum Beispiel an, dass eine genaue und kompakte Darstellung von Musiksignalen eine Schlüsselkomponente großangelegter inhaltsbasierter Musikanwendungen wie Musik-Content-Management und Beinahe-Duplikate ist Audioerkennung. In diesem Fall arbeiten Sie auf C-Dur-Skala, die wie folgt lautet:

%Vor%

mit den Intervallen

%Vor%

Nun wird ein Akkord durch den Abstand zwischen Noten gebildet, zum Beispiel

%Vor%

Das Problem, das Sie beschreiben, ist trotz vieler Forschungsanstrengungen auf diesem Gebiet noch nicht gut gelöst. Schauen Sie sich zum Beispiel andere Arbeiten an, in denen eine Zusammenfassung von Musiksignalen auf der Grundlage von Akkordfolgen vorgeschlagen wird. So werden Akkordfolgen anhand von Musiksignalen erkannt, die auf einem überwachten Lernmodell basieren, und die Erkennungsgenauigkeit wird durch lokales Sondieren von n-besten Kandidaten verbessert.

Sie können also die Eigenschaften von Akkordfolgen untersuchen und dann ein Histogramm aus den erkannten Akkordfolgen als Zusammenfassung des Musiksignals berechnen. Dann können Sie mit einer Akkordprogressions-basierten Zusammenfassung harmonische Progressionen und tonale Strukturen von Musiksignalen beschreiben.

Aber wie geht das ?, Sie brauchen Musikdatensätze (& gt; 70.000 Lieder ??), damit Sie relevante Informationen abrufen können ...

    
cMinor 15.01.2014 22:05
quelle
0

Eigentlich ist das eine ziemlich interessante Frage.

Ich würde sagen, dass hier noch eine weitere Sache berücksichtigt und verstanden werden muss: Was würden Sie gerne sagen (d. h .: Express) mit Ihrer Akkordfolge? Ich nehme an, dass Sie mit Ihren Melodien und mit der unterstützenden Akkordfolge "etwas Sinnvolles" ausdrücken möchten.

Nun, "etwas Sinnvolles" ist kein genauer Begriff. Persönlich würde ich diesen Begriff als etwas Ganzes, etwas Vollständiges, als eine Kurzgeschichte beschreiben. Es kann so kurz wie 4 Akkorde sein, aber es sollte etwas erzählen und sollte zu einer vollständigen Geschichte führen. Wenn wir das akzeptieren, würde ich sagen, dass Ihr 4-Akkord vom Anfang bis zum Ende "führen" sollte, und wir sollten den letzten Akkord "fühlen", da es ein befriedigendes Ende (Auflösung) der "Geschichte" war.

Der schwierige Teil ist, dass für jeden Menschen die Begriffe "befriedigend", "anständig" usw. ganz unterschiedliche Dinge bedeuten können, und was für Sie befriedigend ist, ist es vielleicht nicht befriedigend für eine andere Person. Obwohl es in der Musiktheorie einige grundlegende Richtlinien gibt (oben in den Antworten und Kommentaren verlinkt), die von großen Komponisten durch Hunderte von Jahren Musik getestet wurden, so denke ich, dass Sie einige dieser Hinweise ausprobieren sollten.

    
zolley 24.04.2014 15:14
quelle

Tags und Links