Computer Hardware
Processing
Binary Math
Hierarchy
Software that creates software Software that creates software (i.e., C ++, Perl, Python, Java, Lisp, etc.) relies on algorithms, the ages old concept of stating a series of actions that precisely define the creation of something.
Algorithm: from Greek word arithmós—number Arabic word algorism—number series meaning: a set of rules for solving a problem in a finite number of steps.
Recipe ranging from severe control (Bach) to almost no control (Cage)
STOP
Historically isorhythmic motets figured bass fugues Musikalisches Würfelspiele golden mean serialism indeterminacy minimalism Xenakis Hiller
Note: Tonal voice-leading/doubling/triad rules are algorithms
Final Projects Some simple ideas
Composition
(1) program that "learns" some aspect of musical composition
(2) fractal music that sounds musical
(3) program that creates engaging new styles
(4) vivaldi music maker (scales, arps, sequences, etc.)
(5) program that sets some of Messiaen's ideas into code
(6) transformation of drawing to music
(7) improvisation program
(8) accompaniment program
(9) re-write masterpieces according to some plan
(10) Explore one idea to its fullest.
Analysis
(1) performance attributes of given performers
(2) mapping rhythm, texture, harmonic rhythm, etc.
(3) reduction by mathematics
(4) analysis using 2D cellular automata
(5) statistical representation and comparison
(6) analysis of chromatic versus diatonic content of music
(7) tension analyzing program (Hindemith theories?)
(8) relevance of dynamics to pitch, etc. (i.e., cross dependency)
(9) compare some aspect of music to some aspect of non-music
(10) a composer's use of some attribute over an extended period
Short Paper Well-Documented Code Five Sample Outputs
Example Laurie Spiegel
Another Laurie Spiegel