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:
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
"dim1" => ["dim1", "0", "1", "2", "3"],
"dim2" => ["dim2", "0", "2", "4", "6"],
Mein Gedicht:
hoxo vosoxo doxos moxowoxo 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;
...
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
}
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"]
);
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.
"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
Kommentar veröffentlichen