Professional Documents
Culture Documents
musical training
an e+hi&it o( music theory and algorithmic composition in conte+t with each other
there will &e some code e+amples! &ut (ocus will &e on language-independent concepts
music theory intro may &e re'iew (or some compositional choices (rom here on out are yours
the roadmap
what is algorithmic composition$ (ree and open source tools and (ramewor)s music theory &asics ma)ing code out o( musical (orms ma)ing music out o( numerical data
.Algorithmic composition is the application o( a rigid! well-de(ined algorithm to the process o( composing music/0
1Algorithmic composition as a model o( creati'ity/1 2ruce 3aco&/ 4rganised Sound! 'ol/ 1! no/ ! pp/ 156-175/ Cam&ridge 8ni'ersity 9ress/ :ecem&er 1997/
why (ramewor)s$
any code that generates data that is interpreted in sound can wor)! in theory/// you could always come up with your own ar&itrary set o( mappings///
protocol to de(ine characteristics o( music notes understood and spo)en &y a wide range o( music so(tware and hardware lets you (ocus on your music! not the protocols
you can do algorithmic composition in any language you want@ try se'eral (ramewor)s! and pic) an en'ironment where you,re most com(orta&le@
dedicated en'ironments (or algorithmic composition support the creation o( M?:? (iles most common languages ha'e one or more M?:? modules already written
Common Music
AthenaCB
http:AAwww/csounds/comA programming language and sound synthesis engine CSoundAC: 9ython (ront-end to CSound
4penMusic
9ython
3a'a
Du&y
9erl
other languages$
search the internet (or M?:? or music composition modules and li&raries in your language o( choice i( there is not a M?:? li&rary! create your own (unction to &uild M?:? data o(ten not necessary to implement the entire M?:? standard
rhythm
&eats measures
)inds o( meter
play this pattern starting on any )ey! and you ha'e a ma%or scale@
%ust li)e with scales! you can mo'e the )ey patterns around the )ey&oard
middle C is M?:? pitch 7# an increment o( 1 in M?:? num&ering is an increment o( 1 )ey on a )ey&oard &uilding scales and chords &ecomes simple addition and su&traction
don,t (eel &ound &y any gi'en music theory idea i( you want your code to (ollow a certain musical paradigm! code that in/ i( you want your code to ignore or 'iolate a certain musical paradigm! code that in/ as) yoursel( what is re;uired &y the musical (orm as) yoursel( what is a compositional choice i made
loo)ing at my code
uses iterations o( the twel'e tones within an octa'e each must &e used once &e(ore any repeats &ased on a .tone row0
M?:?: [n! nG1///nG11] user supplies &ase pitch ma)e tone row list shu((le it
prime
&asic tone row tone row! re'ersed start (rom (irst note o( tone row re'erse each inter'al &etween notes in'ersion! re'ersed
retrograde
in'ersion
retrograde in'ersion
parameters:
(our iterations starting pitch: 75 all tone lengths </"5 &eats through 7 &eats> allowed
in the downloada&le code! you can change all these paramaters when you run it
a streaming radio station that uses algorithmically composed twel'e-tone music &ased on the code (rom this tal) ma%or parameter it adds: polyphony station
http:AAwww/mina=o/netAlo'elyspam/html http:AAwww/mina=o/netAspammusicma)er/tar/g=
code
this is only the &eginning/ i( you (ind a musical (orm or idea that interests you:
create (unctions to manipulate those characteristics de'elop and twea) your (unctions until the generate music that sounds the way you want it to
conscious choice (or how to map parts o( the dataset to musical parameters
no one way to do it
%ust one e+ample o( translating non-musical data into some )ind o( musical conte+t
choose a dataset
(or this case! chose a small and simple su&set o( a dataset! since this was e+planatory can always choose a larger dataset! with more parameters! to address other (actors
pitches
used ;uarter&ac) ratings shi(ted down &y 17 so entire melody wasn,t s)ewed so high used passing yards di'ided &y 1#!### and rounded! (or notes o( one to (i'e &eats
note lengths
(ollows the same order in which the data points appeared gi'en how the data was presented <and how i interpreted it>! mostly a descending melody
each note pitch and length still corresponds to each ratingAyardage pair howe'er! the order is randomi=ed
alter other (actors o( the music! &ased on either other columns in a dataset or on ideas o( yours
in conclusion///
http:AAwww/rogueclown/net