Download DeiszPresentationQ2

Survey
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

Document related concepts

Figured bass wikipedia, lookup

Harmony wikipedia, lookup

Schenkerian analysis wikipedia, lookup

Circle of fifths wikipedia, lookup

Chord (music) wikipedia, lookup

Traditional sub-Saharan African harmony wikipedia, lookup

Voice type wikipedia, lookup

Transcript
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