Download DeiszPresentationQ2

yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Automated Musical
Part Writing
Kevin Deisz
 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
 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
 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
 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
 Top two voices are then passed to an
ornamentation method, which adds eighth
 Another method makes the last note a whole
 The python program outputs a text file in
the format of a lilypond file
 Python program then executes the lilypond
utility (“lilypond --png”)
 File is then displayed on a webpage