Es ging weiter ...

... kurz nachdem ich das Letzte geschrieben habe. Hatte einen Lauf, war nicht einkaufen, habe trotzdem noch was zu Essen finden können, bin jetzt satt - und schlapp, aber noch nicht richtig müde. Kurzes Päuschen. Ergebnisse der Zwischenzeit:

Mein Gedicht:

hoxo vosoxo doxos moxo
woxo toxoco toxon foxo
toxo opoxo noxos poxo
joxo woxoho koxoq oxo

oxo doxozo roxoz voxo
woxo roxoso noxos soxo
joxo moxolo roxon coxo
goxo nowoxo loxom koxo

woxo socoxo voxod noxo
soxo dotoxo doxod moxo
oxo monoxo toxop oxo
koxo posoxo soxol xoxo

qoxo gojoxo foxon zoxo
joxo noxoco hoxoc coxo
soxo koroxo noxov coxo
zoxo locoxo moxor zoxo


In Ur-Ur-Ur-Oxomotisch.

Code


...

# Muster für Wiederholungen

my @muster = ('AA','AB','BA','ABC','AAB','ABA','BAA','ABCD','ABAC','AABC','ABACD','ABABCD','AABCDE','ABCABCD','ABABCABCDBCDE');
 
...
### Akkord-Reihenfolge nach Zufallsauswahl von Mustern und Wiederholungen ändern

my @chordnumbers;
map { push @chordnumbers, $_ } 0..((scalar @chordprogression_inst1)-1);

print "\nMeine Akkordnummerierung:\n\n";
print join(",",map { $_ } @chordnumbers);
print "\n";

my $chordnumbers_new_ref = progression_change(\@chordnumbers);
@chordnumbers = @$chordnumbers_new_ref;

print "\nMeine neue Akkordnummerierung:\n\n";
print join(",",map { $_ } @chordnumbers);
print "\n";

sleep 6;

...

# Subroutine Chordprogression-Reihenfolgen-Transformation

sub progression_change {
    print "\nSubroutine progression_change!\n";
    my $zahlenreihe_temp_ref = shift;
    my @zahlenreihe_temp = @$zahlenreihe_temp_ref;
    my @zahlenreihe_neu;
    my %unitblocks;
   
    print "\nEs wurde folgende Zahlenreihe übergeben:\n\n";
    print join(",",map { $_ } @zahlenreihe_temp), "\n";
   
    until ( scalar @zahlenreihe_temp < 5 ) {
        my $muster = int rand (scalar @muster);
        $muster = $muster[$muster];
        print "\nEs ist Muster $muster ausgelost!\n";
        my @units = split ("",$muster);
        print "\nDie Units:\n";
        foreach ( @units ) {
            print $_, "\n";
            if ( not exists $unitblocks{$_} ) { $unitblocks{$_} = 'Bitte füllen!' }
        }
        foreach ( sort { $a cmp $b } keys %unitblocks ) {
            $unitblocks{$_} = $zahlenreihe_temp[0];
            shift @zahlenreihe_temp;
        }
        my $wiederholungen = int rand(4) + 1;
        print "\nEs sind $wiederholungen Wiederholungen ausgelost!\n";
        for ( my $i = 1; $i < $wiederholungen + 1; $i++ ) {
            foreach ( @units ) {
                push @zahlenreihe_neu, $unitblocks{$_}
            }
        }
    }
   
    return \@zahlenreihe_neu
}



Output

 




Ich habe der ganzen Chose noch ein paar weitere Harmonien spendiert, und hi & da eine Kleinigkeit verbessert.


# Variablen

my %chordtypes = (
    "Maj7sus2" => ["Maj7sus2", "0", "2", "7", "11"],
    "Maj7sus4" => ["Maj7sus4", "0", "5", "7", "11"],
    "7sus2" => ["7sus2", "0", "2", "7", "10"],
    "7sus4" => ["7sus4", "0", "5", "7", "10"],
    "Dur" => ["Dur", "0", "4", "7", "12"],
    "Dursus2" => ["Dursus2", "0", "2", "4", "7"],
    "Durb5" => ["Durb5", "0", "4", "6", "12"],
    "Durb5sus2" => ["Durb5sus2", "0", "2", "4", "6"],
    "Dur#5" => ["Dur#5", "0", "4", "8", "12"],
    "Dur#5sus2" => ["Dur#5sus2", "0", "2", "4", "8"],
    "DurMaj7" => ["DurMaj7", "0", "4", "7", "11"],
    "DurMaj7b5" => ["DurMaj7b5", "0", "4", "6", "11"],
    "DurMaj7#5" => ["DurMaj7#5", "0", "4", "8", "11"],
    "Dur7" => ["Dur7", "0", "4", "7", "10"],
    "Dur7b5" => ["Dur7b5", "0", "4", "6", "10"],
    "Dur7add9" => ["Dur7add9", "0", "5", "10", "14"],
    "Dur6" => ["Dur6", "0", "4", "9", "12"],
    "Dur6sus2" => ["Dur6sus2", "0", "2", "4", "9"],
    "Dur6b5" => ["Dur6b5", "0", "4", "6", "9"],   
    "Moll" => ["Moll", "0", "3", "7", "12"],
    "Mollsus2" => ["Mollsus2", "0", "2", "3", "7"],
    "Mollsus4" => ["Mollsus2", "0", "3", "5", "7"],
    "Mollb5" => ["Mollb5", "0", "3", "6", "12"],
    "Mollb5sus2" => ["Mollb5sus2", "0", "2", "3", "6"],
    "Moll#5" => ["Moll#5", "0", "3", "8", "12"],
    "Moll#5sus2" => ["Moll#5sus2", "0", "2", "3", "8"],
    "MollMaj7" => ["MollMaj7", "0", "3", "7", "11"],
    "MollMaj7b5" => ["MollMaj7b5", "0", "3", "6", "11"],
    "MollMaj7#5" => ["MollMaj7#5", "0", "3", "8", "11"],
    "Moll7" => ["Moll7", "0", "3", "7", "10"],
    "Moll7b5" => ["Moll7b5", "0", "3", "6", "10"],
    "Moll6" => ["Moll6", "0", "3", "7", "12"],
    "Moll6sus2" => ["Moll6sus2", "0", "2", "3", "7"],
    "Moll65" => ["Moll65", "0", "3", "7", "9"],
    "dim1"    => ["dim1", "0", "1", "2", "3"],
    "dim2"    => ["dim2", "0", "2", "4", "6"],
    "Dim7"    => ["Dim7", "0", "3", "6", "9"]
    );

Es sind immer noch nicht alle, oder? Mal abgesehen von allem, was mehr als vier Töne hat, ist ja klar. Die Viertöner sind gemeint.

"dim1"    => ["dim1", "0", "1", "2", "3"],
"dim2"    => ["dim2", "0", "2", "4", "6"],



Die sind neu am Start, der Name stimmt aber noch nicht. Korrekte Bezeichnung wird noch gesucht.


Nächste Streiche:

  • Ein bisschen mehr rythmische Vielfalt, weniger Gleichzeitigkeiten der Töne bei Harmoniewechseln.
  • Ein bisschen mehr Harmonie, sprich: Etwas weniger spannungsgeladene Akkorde, entweder in Summe oder in Folge oder in beidem.



Noch bin ich guter Dinge, daß ich heute noch was reißen kann, bzw. in der Nacht. Aber kann auch sein, daß ich einpenne, und dann ... ist es auch gut so. Habe - für meine Verhältnisse - ja massig viel geleistet heute, bin sehr zufrieden.

Kommentare

Beliebte Posts aus diesem Blog

·

Es brennt.

Bye, bye Nord Stream 2!