skip to content

Slip and slide

loading...

There’s still more to do if we really want this bassline to come alive.

Some slides might sound nice, for starters. Some bass players, on some tracks, will occasionally slide their finger up to a fret/note. This adds some satisfying kineticism.

To achieve this sound in HYPERBLAM, I can use <envelope-blam>. This element is an auxiliary envelope. Typically only available on high-end synthesizers and groove-boxes, an auxiliary envelope lets you alter any audio parameter over the time a sound is being played.

<envelope-blam id="slides" prop="detune" curve="-300 0, 0 0.125" beats chance="0.333"></envelope-blam>

The curve of the envelope can be described in stages (attack, decay, sustain, release) or as a more complex set of values. The <envelope-blam> element supports the latter, using the curve prop.

Each pair of numbers represents the value and the time (from the start of the sample) at which it should be assigned. In this case, we start three semitones (or three frets) down and slide up very quickly. Since beats is set, 0.125 represents 0.125 beats from the start of the sample/sound. Were it not set, 0.125 would be relative to the length of the sample itself.

But just slides are not enough variety.

<relay-blam mode="one" chance="0.333">
  <envelope-blam to="notes-blam" prop="detune" curve="-300 0, 0 0.125" beats bypass></envelope-blam>
  <envelope-blam to="notes-blam" prop="detune" curve="0 0, 50 0.25, 0 0.5" beats bypass></envelope-blam>
</relay-blam>

I’ve used a <relay-blam> and added a companion envelope that performs a kind of note bend (raising and lowering the pitch). Note mode="one". There is a 33.333% chance that one of the envelopes will be applied when <notes-blam> plays a sound. Because bypass is applied to each individual <envelope-blam> element, they do not trigger independently.

When used with <blam-blam>, <relay-blam> might want to be in the 'all' or 'some' modes. You may also want to omit bypass and use different event or to values. This creates multiple dimensions of event handling.

Crucially, the chance of this envelope/slide occuring at all is just 0.333 (or 33.333%). To recap: our bassline is made of 4 different samples, randomly selected and played at different pitches, representing different notes in the minor pentatonic scale, sustained for varying lengths of time, and occassionally embellished with a sliding action.

All we need now is a gnarly envelope filter. Bootsy Collins famously uses a Musitronics Mu-Tron III, which can go for many hundreds of dollars. It works by detecting peaks in the playing, which it designates as the “attack” (start) phase of notes, then filters the sound accordingly.

HYPERBLAM’s <filter-blam> and <envelope-blam> cost nothing (and together are less than 2KB to download). No peak analysis is needed, since the event sent from <notes-blam> tells us when each successive note starts.

<filter-blam freq="8000" q="10" bypass>
  <envelope-blam prop="freq" curve="200 0, 11000 0.25"></envelope-blam>
</filter-blam>

As a pedant, I want to point out that the sound you are hearing is not technically “wah”. I’m using a low-pass filter here and wah-wah pedals use a band-pass filter. See the Filters guide for more.