Presentation is loading. Please wait.

Presentation is loading. Please wait.

Automated Musical Part Writing Kevin Deisz. Input  Positive integer - dictates the number of chords to be created  Instrument file (python) - file that.

Similar presentations


Presentation on theme: "Automated Musical Part Writing Kevin Deisz. Input  Positive integer - dictates the number of chords to be created  Instrument file (python) - file that."— Presentation transcript:

1 Automated Musical Part Writing Kevin Deisz

2 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  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

3 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  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

4 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  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

5 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  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

6 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  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

7 Process - Constraints (cont.)  All of these constraints can be broken down into binary constraints - all one function

8 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  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

9 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  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

10 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  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

11 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 http://www.tjhsst.edu/~kdeisz/musicwriter  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 http://www.tjhsst.edu/~kdeisz/musicwriter


Download ppt "Automated Musical Part Writing Kevin Deisz. Input  Positive integer - dictates the number of chords to be created  Instrument file (python) - file that."

Similar presentations


Ads by Google