Poly Wavetable Oscillator

Manufacturer: Weevil

Contact Weevil

$20.00

On Sale

This is a polyphonic version of the weevil wavetable oscillator.

Warning, this is a CPU heavy module, see notes below.

Outputs are found in the lower left area of the module. The top out is for Oscillator A and the bottom out for Oscillator B. Each oscillator also have a corresponding Square output, this is added to allow syncing with other modules but can of course be used as a normal square wave as well (this is not affected by wave read effects like width and phase.) Next to square you find the mix output.

A couple of sample wavetables are included but the module supports wavetables in the standard formats (have been tested with wavetables from Ableton, Pigment, Hive, Icarus and waveeditonline). Free wavetables can be found here: https://waveeditonline.com/index-1.html

Individual control CV jacks (mono and poly) for each oscillator (with attenuverters) are available for:

  • Pitch
  • Wave (wavetable position)
  • Effect 1 (default effect is PHASE)
  • Effect 2 (default effect is WIDTH)

For each control, the top row controls oscillator A and the bottom row controls Oscillator B.

The two effects (marked POWER and WIDTH as default) are wave read effects / horizontal transformations (modifies how the wave is read), available options are:

  • PHASE - normal phase position
  • WIDTH - compress half of the wavetable, expands the other half
  • SYNC - fake sync effect, compresses the wave and extends with itself
  • PAD - compresses the wave and extends with 0
  • POWER - similar to width but with a different distribution / curve
  • RSLTN - reduces the x-axis resolution of the wave

To change wavetable you have three options: Select a wavetable from the dropdown above the graph (only a limited set of default wavetables) Drag a wavetable file (.wav) into the graph Click LOAD and select a wavetable file from the file system

If you load an external wavetable you need to select the resolution of the wavetable with the button next to the load button. Default value is 2048 (standard for most wavetables). If you dont know the length you can use the AUTO option, this will try to calculate the resolution (not always accurate).

How the wavetable is scanned is defined by the button on the right below the graph, options are:

  • INTRPL - interpolated
  • STEP - steps between different frames in the wavetable

Stack, each oscillator can be stacked to up to 5 voices with the following controls:

  • STACK - the number of stacked voices
  • DETUNE - the amount of detune
  • WAVE - offset of wavetable position
  • WIDTH - offset of effect 1 (default is WIDTH)

Both oscillator A and B supports syncing. Sync is defined by sync source:

  • EXT - external
  • PHASE - the phase of the other oscillator (when phase go from 1 to 0)
  • WAVE - the value of the other oscillator (whan wave value go from negative to positive)

And by sync option:

  • NONE - no syncing
  • HARD - reset phase
  • SOFT - reset phase if phase < x, x is set with the knob (0-1), setting this to 1 makes it HARD sync
  • BUMP - adds x to phase, x is set with the knob (0-1)
  • REV - reverse the oscillator
  • INV - inverts the oscillator provided the voltage jump is less than x, x is set with the knob (0-10V)

Mix, stack and sync amount dont have dedicated CV ins but next to Mix you will find four assignable CVs (two mono and two poly), use the button under the knob to select target for the CV.

Anti-aliasing is implemented for the wavetable oscillator itself but sync and read effect will cause aliasing.

This is a first version of this module, I will need user feedback to make it better.

I have a small scripting language to create wavetables. Wavetables are stored as json files (fully supported in this release.) If you want to try that out, contact me (click on contact manufacturer above).

CPU, you will most likely not be able to use it with both oscillators using 5 stacked voices with 16 voice polyphony. To reduce CPU impact, think of the following: If you only need one oscillator, use that output instead of the mix output. Avoid (or reduce) stacking.

To make it a little bit more efficient the module only support full audio rate modulation for phase and pitch. All other CV's are measured every 50 samples.

j.keller51

Nov 25, 21

4 Stars

Packed with features and capable of loading .wav files, e.g. from 3rd party synths. I tested with Arturia Pigments' factory wavetables and they loaded flawlessly. The interpolation between waves is smooth. There seems to be some accounting for sudden wavetable jumps -- jumping between sine and square waves didn't cause any nasty transients.

The module comes with many ways to manipulate the signal beyond wave morphing. You can phase shift, wavefold, stretch part of the wave (shrinking the other part), shrink & zero-pad, and reduce the bit depth, among others. These are referred to as "effects" in the module, and all effects can be modulated. Unfortunately, none of these operations are bandlimited (as noted in the product description). If there is ever a v2, it would be nice to see bandlimited versions of these operations.

Another welcome feature -- the module has 2 fully-featured wavetable oscillators built-in, so you can build even bigger sounds, or modulate a crossfade between them.

For the most part, aliasing (with no effects) is nonexistent within 100 dB of the signal. However, some wavetables cause slight aliasing and/or interpolation error in the ballpark of -75 dB. The default "Basic Shapes" table is one of these. You can observe the aliasing clearly on a spectrogram with the "Wave" set all the way to square and a slow ramping of the pitch CV. But then the square of the "SINE BIT SQUARE" table is totally clean on the spectrogram! I'm not sure what gives.

The refresh rate on the waveform display seems to be about 5 Hz on my fairly powerful computer. This turns out to be a bigger deal than it might seem at first because if you are using any wave modulation, its really hard to tell just how deep the modulation is because the UI skips so many frames.

Overall this is a versatile module with tons of options, and generally high-quality sound output (sans effects). I recommend it if you are interested in using wavetable synthesis in your sounds.