DeiszPresentationQ2
Download
Report
Transcript DeiszPresentationQ2
Automated Musical
Part Writing
Kevin Deisz
Input
Positive integer - dictates the number of
chords to be created
Instrument file (python) - file that is written
to dictate certain rules in order to write for
different ensembles
Process
Creates an array of size that was input
Follows the chord progression map for a
major key to fill up the entire array with
random new chords
Process - Domains
Creates four arrays - one for each
instrument that was input
Loops through a newly created map and
adds all possible values for voice for each
chord to the corresponding array
Process - Constraints
Spacing error - no two voices can be more
than one octave apart (more than 7 notes
between)
Voice crossing error - higher voices cannot
go lower than lower voices and vice versa
Process - Constraints (cont.)
Parallel fifths - no two voices can move in
the same direction and end and begin with 4
notes in between
Parallel octaves - same as parallel fifths
except with 7 notes in between
Process - Constraints (cont.)
All of these constraints can be broken down
into binary constraints - all one function
QuickTime™ and a
TIFF (Uncompressed) decompressor
are needed to see this picture.
Process - Constraints (cont.)
A new map is created in which every voice
is added
Every voice then has a corresponding array
of pairs that contain neighbors and a pointer
to the function
Process - CSP
All three maps - assignments, domains and
constraints - are then passed to the csp
function
Since all of the constraints were already
given and all of the possible values already
calculated - the music is returned
Extra Methods
At this point, the basic arrays of notes are
returned
Top two voices are then passed to an
ornamentation method, which adds eighth
notes
Another method makes the last note a whole
note
Output
The python program outputs a text file in
the format of a lilypond file
Python program then executes the lilypond
utility (“lilypond --png file.ly”)
File is then displayed on a webpage
http://www.tjhsst.edu/~kdeisz/musicwriter