BeatBender

Posted

BeatBender

BeatBender is a computer music project that explores a new method for generating emergent rhythmic drum patterns using the subsumption architecture. Rather than explicitly coding symbolic intelligence into the system using procedural algorithms, BeatBender uses a behavior-based model to elicit emergent rhythmic output from six autonomous agents. From an artistic perspective, the rules used to define the agent behavior provide a simple but original composition language. This language allows the composer to express simple and meaningful constraints that direct the behavior of the agent-percussionists. From these simple rules emerge unexpected behavioral interactions that direct the formation of complex rhythmic output. What is striking is that these rhythmic patterns, whose complexity is beyond human grasp, are both musically interesting and aesthetically pleasing.

The following section demonstrates an example of the complex rhythmic output the system is capable of generating. The composition below utilizes five rules applied to each of the six agents in the system. The rules make comparisons between adjacent agents and depending on their states (either on or off) the current agent’s state is changed.

The rules used in the final composition are represented below in textual as well as both visual and audio format. The visual representation uses the characters “X” and “_” to represent ON and OFF states respectively. In the textual descriptions the following abbreviations are used:

P = Previous Agent

N = Next Agent

final composition

The following composition results in a rhythm that plays 38,387 beats before repeating.

Uses 5 subsumption layers with the following rules:

RULE ONE: IF P=OFF THEN ON

RULE TWO: IF N = OFF THEN ON

RULE THREE: IF P = N THEN FLIP

RULE FOUR: IF P = OFF THEN FLIP

RULE FIVE: IF N = OFF THEN FLIP

Listen to Rhythm (MP3)
Visual Representation of Rhythm


rule one

IF P=OFF THEN ON

Length of Cycling Pattern: 6 Beats
X _ X _ X _

Listen to Rhythm (MP3)


rule two

 IF N = OFF THEN ON

Length of Cycling Pattern: 6 Beats

X X X X X _

Listen to Rhythm (MP3)


rule three

IF P = N THEN FLIP

Length of Cycling Pattern: 60 Beats

X _ X _ X X
X X X X _ X
_ X _ _ _ _
_ _ X _ X _
X X X X X X
_ X _ X _ _
_ _ _ _ X _
X _ X X X X
X X _ X _ X
_ _ _ _ _ _

Listen to Rhythm (MP3)


rule four

IF P = OFF THEN FLIP

Length of Cycling Pattern: 63 Beats

X _ X _ X _ _ X X
_ _ X _ _ _ X _ _
X _ X X _ X X _ _
_ X X X _ X _ _ _
_ X X _ X _ X X X
_ _ X X X X _ X X
X X X _ _ _ _ _ _

Listen to Rhythm (MP3)


rule five

IF N = OFF THEN FLIP

Length of Cycling Pattern: 63 Beats

X X X X X _ X X X
X _ _ X X X _ X _
X X _ _ _ _ X _ X
X X _ _ _ X X _ X
X _ X _ _ X _ _ _
X _ _ X X _ _ X _
X _ X _ _ _ _ _ _

Listen to Rhythm (MP3)


Publication: BeatBender: Subsumption Architecture for Autonomous Rhythm Generation.

468 ad