The 3 minute composition

What I did is to take an implementation of Mozart's Musikalisches Wurfelspiel (Mozart's dice game), and create a composition using it. The entire composition was created using KeyKit.

The following files were used:
instruments.k - createmelody() creates the entire 3 minutes.
finalproject.k - functions that don't fit in with the other files, such as randomvol(phr, lower, upper)
mozart_dice.k - makeminuet() makes an entire minuet
mozart_dice_bassonly.k - same as mozart_dice.k, but uses only the bass part
mozart_dice_samples.k - sound sample file
scales.k - restricts notes to certain scale, mostly a major or minor pentatonic scale.
stoch.k - stochastic function used

Musikalisches Wurfelspiel - The dice lookup table

This table contains samples used for the creation of a minuet. For each measure, you roll 2 six-sided dice and add the results and subtract 1.

 
measure #
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
dice roll
2d6 - 1
1 1-1 2-1 3-1 4-1 5-1 6-1 7-1 8-1 9-1 10-1 11-1 12-1 13-1 14-1 15-1 16-1
2 1-2 2-2 3-2 4-2 5-2 6-2 7-2 8-2 9-2 10-2 11-2 12-2 13-2 14-2 15-2 16-2
3 1-3 2-3 3-3 4-3 5-3 6-3 7-3 8-1 9-3 10-3 11-3 12-3 13-3 14-3 15-3 16-1
4 1-4 2-4 3-4 4-4 5-4 6-4 7-4 8-2 9-4 10-4 11-4 12-4 13-4 14-4 15-4 16-2
5 1-5 2-5 3-5 4-5 5-5 6-5 7-5 8-1 9-5 10-5 11-5 12-5 13-5 14-5 15-5 16-1
6 1-6 2-6 3-6 4-6 5-6 6-6 7-6 8-2 9-6 10-6 11-6 12-6 13-6 14-6 15-6 16-2
7 1-7 2-7 3-7 4-7 5-7 6-7 7-7 8-1 9-7 10-7 11-7 12-7 13-7 14-7 15-7 16-1
8 1-8 2-8 3-8 4-8 5-8 6-8 7-8 8-2 9-8 10-8 11-8 12-8 13-8 14-8 15-8 16-2
9 1-9 2-9 3-9 4-9 5-9 6-9 7-9 8-1 9-9 10-9 11-9 12-9 13-9 14-9 15-9 16-1
10 1-10 2-10 3-10 4-10 5-10 6-10 7-10 8-2 9-10 10-10 11-10 12-10 13-10 14-10 15-10 16-2
11 1-11 2-11 3-11 4-11 5-11 6-11 7-11 8-1 9-11 10-11 11-11 12-11 13-11 14-11 15-11 16-1

Here's one possible outcome.

What I did was take the basic minuet and alter it in different ways, such as using parts of it, scaling it, repeating it, and changing the volume. The flute part was added later, using only the bass part of the minuet and restricting it to the f major pentatonic scale. Here is how the ability to create the minuet was organized into the 3 minute composition ( time is not to scale) :

Here is one possible output of createmelody():