The instruction:
The program driver.pl executes:
this consists of
Adds three voices to the 2 voices read from pasa.txt . If the resulting chord is above the required tension
– i.e. too dissonant, softens it using cambiata and trills.
If no cadence is found, the program fails and the driver increases seed , then restarts the procedure with iizum.pl.
This score ends with the cadence found above, and has the generic name momen.txt .
The driver then combines the various output files into the final score momseed.
Moment musical
Trio for piano and two of :
clarinet, flute, oboe, trumpet, violin, cello or bassoon .
will produce a score named mom345 and the corresponding midi file mom345.mid.
perl driver.pl
rand_345
tritone_1
noise_min
perl iizum.pl @ARGV > res1.txt
perl i4zum.pl > res2.txt
copy hdr-momen.txt + momen.txt + res1.txt mom$ID
midi mom$ID
Programs:
The program iizum.pl :
parses the parameter list
All the parameters are optional. Their interpretation is as follows:
rand_seed
tritone_1
noise_noise
reads the data files
sets the basic structure
For instance, assume the notes in the two voices are C,E. If low tension is required
they may be harmonized with G,C and if high tension is required they will be harmonized with D♭,E♭.
Tension is computed by the program so it will start and end low (consonant harmony) with three random peaks during the piece.
writes the intermediate files
The program i4zum.pl :
reads the data files
builds the harmonization
The five voices ranges are 2 basses, 2 sopranos and one tenor.
analyzes the resulting score to find a cadence
writes the score