Algorithmic Composition


TIMTOWTDI → "often means there is more than one really bad way to do it." Tim Cuffel in comp.lang.perl.misc

  • Stochastic -- Probabalistic approaches (e.g. Markov Chains)
  • Rule-based -- More traditional approach, but difficult to program. Possible rules include "Don't play notes below middle C" or "Parallel fifths are not allowed". Closely related to expert systems.
  • Artificial intelligence -- Attempts for the system to somehow "learn" some heuristics or "rules of thumb" about what is good music and what is noise.
  • Grammars -- Linguistic and "compiler" related techniques.
  • Chaotic -- General weirdness (e.g. Fractral Techniques)
Markov


Andrei A Markov

Markov chains can be used when:
(1) We have a finite number of possible states, and
(2) We know the transition possibilities, mij, which dictate the probability that a system in state j will move to state i after one unit of time.

Remember this?

To handle things mathmaticaly:
Here

So what are these probabilities for music?

Notes?

Passages?

Something Else?

The Future


Life is hard... But

What to cover next?

Project 2
Other DSP Applications


Hadamard, Gold, and Walsh Codes

In your cell phone
Actual Walsh Codes
Images

Filters
Correlation for OCR

Wavelet Compression

In JPEG 2000
Lenna

Other DSP Applications
Neurons

Learning

Java Nonsense?