## Introduction

Infector is a subtractive synth (also known as analogue synthesizer emulator).

It consists of the following parts:

- Oscillator block
- Filter block (with its own envelope)
- Amp block (ditto)
- 2 independent assignable LFOs

## Oscillators

Infector has got an oscillator section, which consists of two regular oscillators (called OSC1 and OSC2) and a sub-oscillator. Both regular oscillators have built in Pulse Width Modulation (PWM) "circuitry", which can adds some "moving" quality to the sound. OSC2 can be detuned from OSC1, for improved "phatness" (transposing and detuning effects). You can also change balance between these oscillators (relative volume of OSC1 and OSC2). Both oscillators have a variety of built-in waveforms (simple ones - like sine or sawtooth wave, or more complex - like SuperSaw). You can also create waveforms yourself - using user waveform slots.

The user waveforms are divided into 4 double slots - A, A', B, B', C, C' and D,D'. For plain PWM use only half of a slot (oscillator waveform set to A, B, C, D). You can also set up two waveforms in the same slot (for example, A and A'), and set the oscillator waveform to mixed mode (AA'). Then the oscillator plays both waveforms at once, with a phase shift controlled by PWM LFO. It might give interesting effects if the waveforms have similar harmonic content.

The sub-oscillator is a simple oscillator tuned always octave down the note frequency. It has no PWM or transpose/detune controls, but you can change its volume and waveform (user waveforms are allowed, too).

Parameter | Meaning
OSC1/OSC2 Wave | Waveform of the OSC1/OSC2
PWM Rate | Rate of PWM Low Frequency Oscillator
PWM Depth | Depth of Pulse Width Modulation
PW Offset | Center pulse width (when LFO is zero)
OSC2 Transpose | Number of semitones OSC2 is transposed from OSC1
OSC2 Detune | Number of cents OSC2 is detuned from OSC1
OSC Mix | Balance between OSC1 and OSC2
SubOsc Wave | Waveform of the sub-oscillator
SubOsc Vol | Volume of the sub-oscillator
Glide | Note glide amount (smooth transition between different note pitches)

## Filter

The synthesizer is equipped with a single 6-pole multimode filter, with a built-in ADSR envelope generator. The filter can be set to different modes, including 36dB/oct lowpass (6L), 24dB/oct lowpass (4L), 12dB/oct lowpass (2L), triple 6-pole notch (Notchez), 36dB/oct highpass (6H), 18dB/oct bandpass (6B), and mixed filter (6X). Except that distinction, some of filter modes have different versions (like 6L have Multipeak, Separated and HiSquelch variants).

Every filter has two parameters - Cutoff and Resonance. Cutoff always controls the filter's cutoff or center frequency (or frequencies), and resonance is used for different parameters in specific filters (however, it usually controls width or height of resonant peaks). The filter cutoff frequency is controlled by the envelope generator. Two parameters control modulation amount and modulation shape (ie. how envelope generator's output affects the cutoff frequency). Filter cutoff can be also linked to note pitch, with the Keytrack parameter. Keytrack of 0ct means no keytracking, while Keytrack of 100ct means that pitch change of one octave up causes cutoff change of one octave up.

Parameter | Meaning
Flt Type | Filter type (like: lowpass, highpass, bandpass...)
Cutoff | Filter cutoff frequency (when no modulation occurs)
Resonance | Amount of filter resonance (meaning changes with filter types)
EnvMod | Amount of cutoff frequency modulation by the envelope generator (how much the envelope generator modulates the cutoff frequency)
Attack | Filter envelope attack time
Decay | Filter envelope decay time
Sustain | Filter envelope sustain level
Release | Filter envelope release time
Mod Shp | Modulation curve shape ("bends" envelope curve in either direction)
Inertia | Inertia amount (controls smoothing of manual parameter changes)
KTrack | Keytrack amount (how much note pitch affects cutoff frequency)

## LFO

LFOs in Infector are used for controlling filter parameters. LFO1 is connected to filter cutoff and envelope modulation amount, while LFO2 is connected to filter cutoff and resonance. While it may seem "suboptimal", it's pretty effective because oscillators' PWM is linked to the separate PWM LFOs, making LFO to PWM path unnecessary (which also frees LFO1 and LFO2 from PWM-related duties). Both LFOs have a variety of different shapes, like sine, triangle, saw up and down, square, steps and special sample-and-hold (random) modes. LFO outputs are smoothed out to avoid rapid filter parameter changes (which might cause all those famous clicks and pops).

Parameter | Meaning
LFO rate | Period/frequency of LFO (expressed in Hertz or in ticks)
To Cutoff | Amount of modulation of cutoff frequency by LFO
To Env | Amount of modulation of envelope modulation amount (huh?) by LFO
To Res | Amount of modulation of resonance parameter by LFO
Shape | LFO waveform

## Commands

Cmd # | Meaning
01 aabb | Start portamento up aa = number of ticks/4 bb = number of semitones
02 aabb | Start portamento down aa = number of ticks/4 bb = number of semitones
03 00aa | Start portamento to the specified note aa = number of ticks/4
04 abcd | Start vibrato a = LFO1 speed b = LFO1 depth c = LFO2 speed d = LFO2 depth
05 aabb | Protracker-style arpeggio aa = number of semitones up/down in 2 triple bb = number of semitones up/down in 3 triple
06 aabb | Play second note (two note arpeggio) aa = delay before playing 2nd note (in ticks/12) bb = interval between 2nd and 1st note
0C aabb | Reset LFOs aa = new position of LFO1 bb = new position of LFO2
13 000a | Simple shuffle (delay every second note by a/16 ticks)
E5 aaaa | Set channel detune aaaa=8000 - no detune, 8100 - 1 semitone up, 8080 - 1 quartertone up etc.
E9 000a | Retrigger every a/6 ticks
ED 000a | Delay note by a/6 ticks
FD 0000 | Reset channel commands (disable vibrato, detune etc)
FE 0000 | Reset ALL channels' comands (like FD placed in all channels)

## Synth modes

Mode | Meaning
L1 (01) | Restart LFO1 on every note
L2 (02) | Restart LFO2 on every note
FE (04) | Don't restart filter envelope on new note (filter legato)
AE (08) | Don't restart amplifier envelope on new note (amplitude legato)
PQ (10) | Pitch Quantize (all portamentos etc. are quantized to nearest note)
MM (20) | Monosynth mode for MIDI (plays all notes in the same channel)
IK (40) | Inertia for Keytrack (makes cutoff changes related to keytracking smooth)