The program combines computational and algorithmic techniques to create musical compositions that are innovative and engaging. What we think of as music is composed of regular sound patterns. Since computers only do what you tell them, they cannot generate patterns that the programmer didn't first imagine. Actually, computer programs are systems that can have emergent and evolutionary behaviors, i.e. they can be unpredictable.
Computer programs can be nondeterministic. They can utilize randomness from their environment to create patterns that cannot even be predicted from the code! We will work at using the Python programming language, and learn how to create MIDI files that contain the mathematical patterns that we’re trying to hear. (Prior experience with Python is not required.) We’ll study how mathematics can be used to create patterns of different kinds, how a computer can be programmed to translate numerical data (weather patterns, planetary patterns, etc.) into changing sound patterns, and other such techniques. The intellectual goal: learn the mathematics of patterning. The practical goal: learn how to program in Python.
The work in the program will include weekly assignments in the composition of multitrack music, the mathematics of sound and in programming. There will be seminar reading and writing, lectures, workshops, computer labs, and a final group project. This program is good preparation for Computer Science Foundations and further work in computer science and linguistics.
Course Reference Numbers
Computer Science, Electronic Music