Red waveform

Buffer Effects: How to Have Your Cake and Repeat it

In the last article, we covered what buffer effects are, what they’re good for and some of the things to be aware of in order to use them most effectively. We also covered how and why automating buffer effect parameters can be particularly worthwhile. This post brings together those ideas to maximize the productivity of your buffer effect of choice in a given session.

To briefly recap, the problems discussed last time include: Having to wait a long time before actual audio is processed because of the time taken for a large buffer looping a large number of times to fill and progress, which results in difficulties rendering desired sound elements from your session with appropriate accuracy. The fact that it is difficult to control what gets caught in the buffer and that you may waste time listening to as much as 128 seconds of beautifully looped silence.

The solution

Last time, we talked about modulating buffer effect parameters using LFOs, but there is another method that will go a long way towards solving the above problems, envelope following.

What is Envelope Following

When an effect parameter is tied to an envelope follower, an audio signal, typically its volume, creates the automation envelope the parameter’s value follows. Most DAWs have envelope followers and plugins exist that provide envelope following capabilities, even allowing you to link an effect parameter to a sound’s frequency rather than its volume.

Perhaps the most well-known use of envelope following is in electric guitar and bass playing where the volume of the instrument’s notes modulates the cut-off of a low-pas filter that’s usually quite resonant to produce a dynamic wah wah effect as in this YouTube example:

Note how, the louder the instrument is played, particularly on those slap bass transients, the higher the cut-off frequency rises, allowing more of the instrument through and increasing the frequency of the resonance.

It’s possible to scale the relationship between the audio signal and its effect on the parameter value in several ways. The exact options vary from interface to interface, but the ones we need for this example don’t require too much advanced tweaking. Here’s how a typical envelope follower might look.

Minimum threshold: this is the volume at which the control signal will start to have an effect on the parameter’s value.

Maximum threshold: This designates the highest volume the control signal can reach and still affect the parameter. In effect, these parameters allow you to designate a sweet spot to get the motion from your parameter you want.

Attack and release: These two sliders designate the response time of the parameter slider, i.e. how quickly it will react to changes in the control signal’s volume.

Baseline/offset: This designates where the rest position of the parameter slider should be, i.e. the position from which it moves when the control signal starts acting on it.

Strength: This determines how much influence the control signal will have on the parameter for a given change in volume. A strength of 50% will allow half as much movement of the slider by the control signal for the same amount of volume change as would be allowed with a strength of 100%.

What Does Any of this Have to Do with Buffer Repeat Problems?

By using an envelope follower, you can set things up so that, when there’s silence or near silence in the audio you’re processing, the number of times the buffer content loops is at its lowest. Then, when the volume rises to useful levels, you can have the number of repeats rise so that you get nice long loops of interesting content. In this way, your plugin will skip much faster over quiet spaces and won’t need that rev-up time every time you press play, meaning that you can render parts of the processed audio out much more easily.

The Nuts and Bolts

Find your “no repeats” parameter, whatever it’s called and link it to your envelope follower. Since how you do this will depend on the envelope follower you’re using and your DAW, an exact description of how to do this is beyond the scope of this article.

Make sure that both channels of the audio you are processing are set as the control signal if your envelope follower has the option to select different channels as a modulation source.

Make sure your baseline is set such that, by default, when the parameter is in its rest state, the repeats parameter slider is at minimum. And insure that the relationship between the control signal and parameter is positive, i.e. that as the control signal volume rises, the parametre’s value will rise.

Designate your minimum and maximum threshold levels. Exact values will be dictated by the nature of your audio and what you are looking to achieve. Bear in mind that anything below the minimum threshold level will be skipped over relatively quickly and anything above the maximum threshold could loop for a very long time depending on the size of the buffer.

Designate your strength. You may not wish to go the whole hog and have things loop quite as many times as the plugin will possibly allow, in which case, adjusting your strength and/or maximum threshold level, I would ecommend the former as being easier to control, will keep this from happening.

Designate attack/release. You might think that you would want a very quick attack time for this application so that, as soon as you press play and audio actually begins, the number of repeats would quickly increase. This may indeed be the case, but it may also lead a mostly empty buffer with only a small proportion of audio looping in it, which may not be the effect you want and may waste just as much time for you as looping silence would. A longer attack time will reduce the likelihood of this. Likewise, if you have a large buffer size and a dynamic piece of audio is caught in the loop, you may not wish to have too quick a release time otherwise the quieter parts of the loop will shorten the number of repeats.

Be prepared to fine-tune settings to taste.

Depending on the nature of your audio, the settings you select and the sound you are looking for, this may not be a perfect solution. Sounds created using this setup may well still need to be topped and tailed, but this solution certainly goes a long way to reducing wasted time and ensuring that your buffer effects plugin homes in on the good stuff.

There are, of course, many other applications for envelope following, not only in sound design, which may be covered in future articles, but also in the realm of buffer effects processing. You could, for example, expand on this solution by attaching another envelope follower to the buffer size parameter such that what’s in the buffer not only doesn’t loop for very long when there is silence, but the buffer size itself will also shrink and expand at need. This may produce interesting sonic textures in their own rite as well as helping you to mine your source material more intensively for interesting sounds.

In the next articles, we’ll walk through a few examples of buffer and glitch-based plugins and showcase more sounds they can produce. Until then, happy buffer following and envelope buffing…or…something.

Justin Macleod is a sound designer based in the UK who runs SkyClad Sound. You can check out his sound effects here at zapsplat.com and follow him on Twitter @SkycladSound