skip to content

Baby’s first blam

(try playing the audio multiple times...)

loading...

It’s time to introduce the eponymous <blam-blam> element. While LFOs change (modulate) values over time, HYPERBLAM’s own <blam-blam> element changes a value from one to another.

While this may sound quite pedestrian, it’s actually pretty powerful, for a few reasons:

  1. You get to choose the event at which the value changes
  2. You get to randomize what the new value will be
  3. You get to control the probability of this change in value taking place

A few artfully deployed <blam-blam> elements can turn a repetitive loop into a permutating composition. It can be the difference between basic beat making and generative sound design.

<lfo-blam prop="gain" gain="0.5" beats="0.001" type="square">
  <blam-blam prop="beats" value="0.001~0.009"></blam-blam>
</lfo-blam>

In this rudimentary example, the <blam-blam> listens to its ancestor <media-blam>’s blam event, which occurs every time playback is restarted. It responds by applying a new beats value to its subject <lfo-blam>. Each time, a value between 0.001 and 0.009 is taken. These are very high values for a so-called Low Frequency Oscillator. The high frequency amplitude modulation in this range creates the curious metallic sounds you are hearing.

Following the high frequency tremolo effect is a <reverb-blam>. This takes the acoustic footprint of a large stadium as an impulse response and applies it to the incoming sound.

<reverb-blam mix="0.5">
  <sample-blam src="/static/sounds/IRs/stadium.mp3"></sample-blam>
</reverb-blam>

The reverb creates a sense of space, as well as softening the edges of an otherwise rather harsh sound.

To further smoothen the sound, a <switch-blam> is provided for toggling the LFO’s type from square (“teetaateetaateeta”) to sine (“wooweewooweewoowoo”).

<switch-blam to="#hlfo" prop="type" value="sine">
  <label>
    smooth
    <input type="checkbox">
  </label>
</switch-blam>