Download DeiszPresentationQ2

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

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

Document related concepts

Chord (music) wikipedia , lookup

Circle of fifths wikipedia , lookup

Figured bass wikipedia , lookup

Voice type wikipedia , lookup

Schenkerian analysis wikipedia , lookup

Harmony wikipedia , lookup

Traditional sub-Saharan African harmony 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