Consider the Happy Birthday tune in the figure below.

Suppose we call each note of a particular duration a state. For example, all eigth-notes constitute one state. We would like to compute the likelihood that an eigth-note will be followed by another eight-note, by a quarter-note, or by a half-note. One way of doing it is by just counting how many times an eigth-note is followed by each of the other note values at hand and then writing down that information in the form of an array of values, like the one below:

The array above reads: in the Happy Birthday song, there are four eigth-notes that follow an eigth-note, four quarter-notes that follow an eigth-note, and zero half-notes that follow an eigth-note. We can certainly then extend this array to a table in which every line represents the same procedure we just did for eight-notes, applied respectively to quarter and half-notes. This table would then be:

Similarly, the second array above reads: there are four eigth-notes thar follow an eigth-note, four quarter-notes that follow an eigth-note, and zero half-notes that follow an eigth-note; one eigth-note that follows a quarter-note, ten quarter-notes that follow a quarter-note, and three half-notes that follow a quarter-note; finally, there are three half-notes that follow an eight-note, zero half-notes that follow a quarter-note, and zero half-notes that follow a half-note. You should inspect the score to see this is accurate.

Now if we forget about the original Happy Birthday tune at this point, we can compose a somewhat new song based on the table of probabilities alone, that is, we can use the information we stored in the table to trigger a random process. The chain of transitions from one state to the next based on a table of probabilities like the one we just computed is called a Markov chain. In order to implement a Markov chain in Max, we use two objects, namely the anal and the prob.

## News & Events

Subscribe at the bottom of the page to be informed of news as they arrive.

### RunloopSound Released on the App Store

Aug 12, 2016

RunloopSound brings the world of Csound to iOS devices. With a gorgeous user interface and complete integration to all major cloud providers, RunloopSound allows you to keep designing incredible sounds wherever you go.

### Unbalanced Connection 57

Feb 19, 2016

The Unbalanced Connection is a semiannual series of concerts hosted by the University of Florida and dedicated to electroacoustic music.

Mar 15, 2014

Feb 7, 2013

Oct 8, 2012

Jun 30, 2012

May 11, 2012