Create a system that performs Steve Reich's composition "Clapping Music".
"Clapping Music" has two parts that are based on the same rhythmic cell.
Part 1 plays this rhythmic cell consistently throughout the piece (x
means play a sound, _
means rest):
x x x _ x x _ x _ x x _
Part 2 begins by playing this cell then cycles through 11 variations, each of which is shifted by one beat.
The system should have some user interface to play and stop the music, as well as providing a way of modifying the tempo.
Notation:
x - play a sound
_ - rest
Repeat each stanza four times:
1: x x x _ x x _ x _ x x _
2: x x x _ x x _ x _ x x _
1: x x x _ x x _ x _ x x _
2: x x _ x x _ x _ x x _ x
1: x x x _ x x _ x _ x x _
2: x _ x x _ x _ x x _ x x
1: x x x _ x x _ x _ x x _
2: _ x x _ x _ x x _ x x x
1: x x x _ x x _ x _ x x _
2: x x _ x _ x x _ x x x _
1: x x x _ x x _ x _ x x _
2: x _ x _ x x _ x x x _ x
1: x x x _ x x _ x _ x x _
2: _ x _ x x _ x x x _ x x
1: x x x _ x x _ x _ x x _
2: x _ x x _ x x x _ x x _
1: x x x _ x x _ x _ x x _
2: _ x x _ x x x _ x x _ x
1: x x x _ x x _ x _ x x _
2: x x _ x x x _ x x _ x _
1: x x x _ x x _ x _ x x _
2: x _ x x x _ x x _ x _ x
1: x x x _ x x _ x _ x x _
2: _ x x x _ x x _ x _ x x
1: x x x _ x x _ x _ x x _
2: x x x _ x x _ x _ x x _