Skip to content
KaixoCode edited this page Aug 18, 2023 · 19 revisions

CMBNEX Is a 4 oscillator VST3 synth with a unique tuneable 2 dimensional waveshaper and 3 combiners that use several algorithms to combine incoming signals. All parameters have 4 slots for internal modulation from several modulation sources like envelopes, LFOs, and macros.

image

Oscillators

Oscillator
CMBNEX is equipped with 4 oscillators with the option to do up to 8 voices of unison, each with their own waveshaper, wavefolder, drive, and filter. Each of these little modules can be toggled on and off, and they will be applied on the signal from left to right. An oscillator can be toggled off entirely by toggling the big green button.

Unison

Wavetable

Each oscillator can have up to 8 voices of unison. The 'detune' parameter determines how far the voices' pitch will be spread apart. The 'width' parameter will change how wide the voices will be spread left and right. The 3 unison modes are: 'c' is classic, each voice will just be detuned a fixed amount each time you press a note. Unless the random phase button is toggled in the wavetable section, in which case the detune of each voice will be random each time. 'n' is noise mode, each voice will behave exactly like in classic mode, except the detune amount will be modulated with noise, which gives it a noisy sound. 'p' is phase mode, where the phase of each voice will be the same when you press a note, giving it a phaser-like sound. When the random phase is toggled the phases remain aligned with each other, but the phase will be randomized when you press a note. The oscillator is equipped with a basic anti-aliased sine-triangle-saw-square wavetable. There are several direct parameters that can change the output of the wavetable directly. The 'Phase' offsets the phase of the wavetable, however, it is applied after the 'PW' (Pulse Width) parameter. The little 'r' button randomizes the phase each time you press a note. The 'PW' parameter squeezes the waveform either left (-100%) or right (100%). The 'Bend' parameter bends the waveform left (-100%) or right (100%). The 'WTP' (WaveTable Position) changes the position in the sine-triangle-saw-square wavetable. 'Sync' is the classic hard sync effect up to 800%. 'Offset' adds a vertical offset to the wave, which can be used to manually remove DC offset.

Waveshaper

Wavefolder

The 2-dimensional waveshaper applies a certain shaper to the phase (x-axis) and the waveform itself (y-axis). Both axes have the same 8 shapers, the 'SHP-X' and 'SHP-Y' parameters interpolate between these different shapers. Every shaper contains a mix of 3 sine-like shapers with a unique frequency parameter, the 'morph' parameter increases this frequency so the shaper will generate higher frequency harmonics. This parameter basically lets you *tune* the waveshaper. The 'freeze' button enables the frequency freeze function, which adjusts the value of the 'morph' internally so the produced harmonic content stays at the same frequency no matter what note is pressed. Practically *freezing* the harmonic content. The wavefolder is a simple algorithm that makes the wave fold in on itself when it starts clipping. The wavefolder has a 'gain' parameter to force this wave folding, and it has a 'bias' parameter which vertically offsets the wave.

Drive

Filter

Routing

Simple drive algorithm, uses a tanh curve to saturate the waveform. The 'Shape' parameter interpolates the signal between simply clipping the wave (0%) and using the tanh curve (100%). Normal filter, selection between Lowpass, Highpass, and Bandpass filter. Frequency range is 30-22000. It uses a simple second order IIR filter (Biquad). The output of an oscillator can be sent to a Combiner input ('I', 'II', 'III', 'IV', 'V', or 'VI') or directly to the output ('O').

Combiners

Combiners
A Combiner has 2 inputs, marked with roman numerals. Those inputs will be combined using several algorithms. Each algorithm has a separate mix slider, so you have fine control over the mix of each of them. The results of each algorithm is then summed up and fed into the wavefolder, drive, and filter. Since some of the combiner algorithms can create incredibly strange waveforms, the result is always clipped. There is an additional option to remove DC offset.

Algorithms

Min Minimum of both inputs min(a, b) And Bitwise and is applied to both inputs a & b
Mult The inputs are multiplied a * b Inlv The bits of both inputs are interleaved.
Pong The top half of the first input remains, and the bottom half of the second input (a > 0 ? a : b < 0 ? b : 0) Or Bitwise or is applied to both inputs a | b
XOr Bitwise xor is applied to both inputs, after the inputs are casted to an unsigned integral. Max Maximum of both inputs max(a, b)
Mod Modulo operation between input, if b == 0 it's set to 1 to prevent division by 0 (a % (b == 0 ? 1 : b)) Add Normal addition of inputs a + b

Modulation

Modulation
There are 5 envelopes, 5 LFOs, and 5 macros. Each parameter has 4 slots to be modulated by any of those. Besides those modulation sources, there's also Key, Velocity, Random, and Mod (mod wheel) sources. The random source will generate a random value every time a note is pressed. You assign a modulation source to a parameter by dragging it to one of the boxes below a parameter, once it's assigned you can change how much it modulates by dragging it up or down. To remove a modulation you simply CTRL-click on the box. Double-clicking on a modulation box resets the modulation amount.
Envelopes LFOs Macros
CMBNEX has 5 normal ADSR envelopes. The first envelope is always mapped to the gain. There are 5 LFOs. The LFOs can be synced to the bpm using the 'sync' button, and the 'r' button enables retrigger mode, where the LFO will be restarted the moment you press a note. There are 5 macros available. The macros themselves can also be modulated by other modulation sources.

General

Settings Preset
When you click on the CMBNEX logo you get this little popup. You can change the ui's highlight color using the sliders, and you can turn on light mode if you fancy that. There is also 2 additional per-instance settings, 'High Speed Modulation' will make the internal modulation run at audio rate, when disabled the internal modulation runs 4x slower during playback. When exporting a sound, audio rate modulation is always used! 'Oversample On Export' means when you're exporting from your DAW, CMBNEX will always oversample 8x instead of the specified playback oversample amount. When you press the preset name in the top bar you can select a preset file (.cmbnex). You can save a preset by clicking the Save button. The Init button will reset the entire plugin back to the default preset, to prevent you from accidentally clicking this destructive button after you press it once it will display "Sure?", and then you have to wait half a second and press again to actually reset it to the default preset.

Polyphony

There is an option to turn off polyphonic mode. When in monophonic mode by default the gain envelope will retrigger, meaning it will jump back to the start of the envelope when a new note is pressed. You can turn this off by toggling the Retrigger button off. When in polyphonic mode, each voice will be generated on a separate CPU core, you can turn this off by toggling the Threads button off in case this causes any issues.

Clone this wiki locally