In the main beat examples, the focus is primarily on creating a generative beat that changes constantly over time. This is possible by combining probabilities and polymetrics.
But what if you wanted to create separate parts? Verse and chorus, maybe? Or “intense bit with loads of kick drum” and “bit where the snare is on the one and the time signature changes”?
HYPERBLAM’s <part-blam> lets you organize <track-blam> parts into their own patterns. Which part is currently active is defined on the <track-blam>’s part prop. In the following example, a hi-hat track is currently looping the part which matches the CSS selector .basic (a class):
<track-blam id="hatTrack" to="#hat" part=".basic">
<part-blam class="basic">
<bar-blam s="1 0 2 0 1 0 2 0"></bar-blam>
</part-blam>
<part-blam class="open">
<bar-blam s="1 0 2 3 1 0 3 0"></bar-blam>
<bar-blam s="1 0 2 1 3 2 1 3"></bar-blam>
</part-blam>
</track-blam>
The class="open" part includes a two-bar pattern incorporating a third (3) sample mapped to an open hi-hat sound. You could switch to this in the UI, using <switch-blam>...
<switch-blam to="#hatTrack" prop="part" value=".open">
<label>
open hats
<input type="checkbox">
</label>
</switch-blam>
... or you could randomly switch between these parts using <blam-blam>. Here, there’s a 50% chance the hi-hat playing style will switch between the two parts available.
<blam-blam to="#hatTrack" prop="part" value=".open|.basic" chance="0.5"></blam-blam>
Flipping the “10 break” switch makes each <track-blam> use its contribution to a lively, snare-led breakdown part identified as class="ten". Note how the hi-hat’s part uses a bar with fill, mixing up where open hats are placed each time.
<part-blam class="ten">
<bar-blam s="1 2 3 1 2 3 1 2 1 2" fill></bar-blam>
</part-blam>
This gives the breakdown a varied, improvisational feel, differing each time it is brought in. With <part-blam>, you can introduce major compositional shifts without undermining ongoing generative fluctuations.