Custom Oscillator and LFO waveforms: RAW files

You can extend the functionality of Alchemy by creating and installing custom waveforms to load in Alchemy’s oscillators and LFOs.

NOTE. This is an advanced technique that requires audio editing software with specialized features. In many cases it makes better sense to create new oscillator waveforms using Alchemy’s built-in additive editor, although these results require Alchemy’s additive engine for playback and cannot be loaded into a single oscillator for VA applications. Similarly, in many cases it makes better sense to create new LFO shapes using a looped MSEG. (Or, if you need a custom shape plus the ability to modulate the rate at which it cycles, you might use a Ramp Up LFO and apply a ModMap to reshape it as needed.)

Custom LFO waveforms

An LFO waveform is defined by a RAW file consisting of 2048 contiguous little-endian 32-bit floating point (single-precision) numbers in the range from –1 to 1, representing a single cycle of the waveform. The resulting file should be placed in a subfolder in Alchemy/Libraries/WaveLfo.

Custom Oscillator waveforms

An oscillator waveform is defined by a RAW file containing 20 cycles of the waveform, each lowpass filtered with a progressively lower cutoff frequency. This is to allow the oscillator to be used over a wide range of frequencies without significant aliasing. The cutoff starts at one half-octave below the nyquist frequency and then goes down in half-octave decrements; in other words, the frequency is divided by the square root of 2 each time. For more experimental results it would be possible to place whatever waveform you like into each slot, allowing for the use of different waveforms at different pitches. The resulting file should be placed in a subfolder in Alchemy/Libraries/WaveOsc.

A possible workflow for constructing these oscillator waveform files begins with 2048 samples representing the full bandwidth version of the waveform. Apply the necessary filtering — an FIR filter is suitable for this task — and append the filtered result to the original waveform. Repeat this process 19 times while progressively increasing the amount of filtering according to the specifications above.