Buffer Override

With Buffer Override, you can override your host application's audio processing buffer size and then (unsuccessfully) override that new buffer size to be a smaller buffer size. You can think of these as the "super-buffer" and then its "sub-buffer." Listen to what it does and you'll understand more what I'm talking about and what the point of it is.

Additionally, Buffer Override's buffer divisor value can be optionally controlled by MIDI notes and pitchbend messages (optionally because the value can still also be controlled by the parameter slider; and pitchbend messages are always interpretted relative to whatever the current state of things is, regardless of whether you are playing notes or not).


Buffer Override's controls are organized into 5 sections.

The center is the most important part. That is where the big black box is, which is the crux of Buffer Override. That box is a 2-parameter "XY" control. Left-right movements control the buffer divisor parameter. Up-down movements control the forced buffer size parameter. The tempo sync button above the box corresponds to the forced buffer size.

The lower left corner has controls for an LFO that can modulate the buffer divisor. The lower right corner has controls for an LFO that can modulate the forced buffer size.

The upper left corner has stuff relating to MIDI. The upper right corner has mix-related stuff.


forced buffer size:

This is the size of Buffer Override's own buffer. It is thrust upon the host with little regard for the real audio buffer size. You can control it by dragging up and down in the XY box or by clicking and dragging up and down on its numerical value display (which is located underneath the XY box).

If buffer tempo sync is turned on, then the forced buffer size is adapted to the tempo of your song. The values are in buffers per beat (note: I mean per single beat, not per measure, so this is time signature independent). Otherwise the forced buffer size is in milliseconds.


buffer tempo sync:

This switches between "free" and tempo-synced forced buffer size control. This is the tempo sync button that is directly above the XY box.


buffer divisor:

This number is divided into the forced buffer size, resulting in the mini-buffer size. It determines how many times each forced buffer "skips." You can control it by dragging left and right in the XY box or by clicking and dragging up and down on its numerical value display (which is located to the left of the XY box).


buffer interrupt:

When buffer interrupt is turned on, you can adjust the buffer divisor while in the midst of a forced buffer and the changes will kick in immediately. If buffer interrupt is turned off, then changes to the buffer divisor only affect things after the current forced buffer has finished, meaning that the mini-buffer size is "stuck" during each forced buffer. This is how Buffer Override version 1.x worked.

If you are using an LFO to modulate the buffer divisor, you probably won't be very happy if you have buffer interrupt turned off.


LFOs:

Both LFOs allow you to choose the modulating waveform shape. The options are sine, triangle, square, sawtooth, reverse sawtooth, thorn (sort of like an exponential triangle waveform), random (chunky style), and random interpolating (smooth style).

The LFO speeds are controlled by the rate sliders below the shape buttons. They can be synced to tempo using the tempo sync buttons for each LFO.

The amount of LFO modulation can be controlled by the LFO depth sliders. At 0%, the LFOs are inactive.


tempo:

The tempo parameter is used to tell Buffer Override what the tempo of your song is. This parameter defaults to "auto" which means that Buffer Override tries to get the tempo from the host application. If you move the tempo slider to the right, you exit "auto" mode and can set the tempo manually. You can also click on the numerical value display and type your tempo in manually.

"Auto" tempo only works if the host application supports sending tempo information to plugins. If the application can't do this, then the "auto" option will not appear in Buffer Override.


smoothing:

This parameter lets you decide how much of each mini-buffer is spent crossfading from the end of the previous mini-buffer to the beginning of the new one.


dry/wet mix:

This lets you adjust the balance of the input audio (unprocessed) and the output audio (processed). 100% is all processed.


pitchbend range:

This lets you adjust your MIDI pitchbend wheel's range in semitones.


MIDI mode:

Buffer Override has two modes for MIDI note control: nudge and trigger. In nudge mode, Buffer Override only pays attention to note-on messages. Whenever you play a note, the divisor jumps to the proper value that results in the frequency of the note. When you release the note, nothing changes.

In trigger mode, Buffer Override pays attention to note-off as well as note-on messages. When you stop playing notes, the divisor parameter drops down to 1, which basically turns the effect off. Buffer Override also stops responding to pitchbend messages when no notes are being played in trigger mode. You can still change the divisor by adjusting the slider with your mouse, host automation, etc.



parameter adjustment tricks:   You can lock the forced buffer size value in the XY box by holding the control key and you can lock the buffer divisor value by holding the option key. You can make fine adjustments by holding the shift key while adjusting a parameter with your mouse. You can also reset a parameter to its default value by holding the command key when clicking on it.