Assignment 4, CSC344, Winter 2014
1 Baseline
2 Deliverables

Assignment 4, CSC344, Winter 2014

The goal of this project is to create a program that performs algorithmic composition.

As always, this is a fairly open-ended goal. In particular, as we discussed in class, there are at least three different approaches to generating sound:

The advantage of online systems is that they can involve live feedback, such as knobs or sliders that dynamically control composition parameters.

1 Baseline

If you’re looking for more specific directions, I can make some suggestions.

I think that the easiest way to get this project working is to pick a language like Python or Javascript or Racket. Yeah, okay, especially Python. Or JavaScript.

In order to be minimally interesting, your program should produce music with some kind of structure. I don’t want to dictate what you do, but one possible project would be to randomly generate a markov model that generates future tones based on the current one.

As I say, this is really just one of an infinite set of interesting programs.

2 Deliverables

As before, you should make all of your code available on your github repo.

For delivery, you have two choices. If your program generates music off-line, you may submit a 60-second piece of music that it generates, as you have before. If your program is an online composition program, you should be prepared to demo it in class; the same one-minute limit on the actual interaction with the program applies.