SynthV1 manual
synthv1 is an old-school all-digital 4-oscillator subtractive polyphonic synthesizer with stereo fx. It is developed by rncbc aka Rui Nuno Capela.
The synthesizer consists of two identical "synths" with each two oscillators and associated filters and envelope controls. The outputs of these synths are mixed together for the final output.
Synth modules
Each synth consists of blocks with different functions. The following abbreviations for these modules are used in the interface as well as the parameter list:
Abbr. | Name |
---|---|
DCO | Digitally Controlled Oscillator |
DCF | Digitally Controlled Filter |
LFO | Low-Frequency Oscillator |
DCA | Digitally Controlled Amplifier |
OUT | Output controls |
DEF | Controller ranges |
FX units
synthv1 offers various effect units that can postprocess the signal. These abbreviations are used in the interface as well as the parameter list for the effects units:
Abbr. | Name |
---|---|
CHO | Chorus |
FLA | Flanger |
PHA | Phaser |
DEL | Delay |
REV | Reverb |
DYN | Dynamic (compressor/limiter) |
The specifics will be described in the parameter overview below.
Envelopes
synthv1 features standard linear ADSR (Attack, Decay, Sustain, Release) envelope generators. The Attack, Decay and Release specify times, whereas Sustain specifies a level.
- The attack parameter specifies how long it will take for the envelope to reach its maximum value after the start of the note.
- The decay parameter specifies how long it will take to reach the sustain level after the attack.
- The sustain parameter specifies the level of the envelope in the sustain phase. The envelope will stay in the sustain phase until the note is released.
- Finally, the release parameter specifies how long it takes for the envelope to completely fade out after the sustain phase.
In addition to adjusting the A/D/S/R parameters, the envelope can also be edited directly by dragging control points in the GUI.
Parameters
This section provides an overview of all parameters that control the sound generation and post-processing. Changes these parameters take effect immediately, unless otherwise noted.
Note: The GUI shows percentages, so a range of 0..1 of internal parameter values is shown as 0..100. The internal parameter values will be seen in the plugin host when using synthv1 as a LV2 plugin. The parameter descriptions in upcoming sections always refer to the internal parameter range.
Synth 1 and 2
The per-synth parameters are replicated exactly for Synth 1 and 2, but will be
described only once.
In abbreviations such as DCOx
the x
is used as a stand-in for the Synth
number, Synth 1 will have DCO1
and Synth 2 DCO2
.
Digitally Controlled Oscillator (DCO)
Each synth has two oscillators. These oscillators serve as the signal source for subtractive synthesis.
DCOx Wave Shape 1
Symbol: DCOx_SHAPE1
Configures the basic waveform generated by oscillator 1.
Settings:
Name | Description |
---|---|
Pulse | Rectangular pulse train (or square wave) |
Saw | Sawtooth wave (or triangle wave) |
Sine | Sine wave |
Rand | Sample & Hold noise |
Noise | White noise |
DCOx Wave Width 1
Symbol:DCOx_WIDTH1
This parameter modulates the wave shape for oscillator 1:
- For a Pulse wave this sets the pulse width, with 0 equivalent to an infinitesimally narrow pulse and a value of 1 equivalent to a full square wave. At a value of exactly 0 nothing will be audible.
- For a Saw wave this sets the waveform from left-facing saw (0.0), to triangle wave (0.5) to right-facing saw (1.0).
- For a Sine wave this changes the center point of the sine wave.
- For Rand this changes the frequency with which the noise is sampled.
- For Noise this changes the random seed.
DCOx Wave Bandlimit 1
Symbol: DCOx_BANDL1
If this parameter is turned on, the output of oscillator 1 is band-limited (TODO: to what band?
from 1/256th to 1/4th of the sample rate according to synthv1_wave.cpp
).
The Noise waveform cannot be band-limited.
DCOx Wave Shape 2
Symbol: DCOx_SHAPE2
Waveform shape for oscillator 2. See parameter DCOx Wave Shape 1 for the list of available waveforms.
DCOx Wave Width 2
Symbol: DCOx_WIDTH2
Waveform width for oscillator 2. See parameter DCOx Wave Width 1 for a description.
DCOx Wave Bandlimit 2
Symbol: DCOx_BANDL2
If this parameter is turned on, the output of oscillator 2 is band-limited (TODO: to what band?).
DCOx Balance
Symbol: DCOx_BALANCE
Cross-fades between oscillator 1 and oscillator 2. At a value of 0.0 only the output of oscillator 1 is audible, at a value of 0.5 both oscillators are equally loud, and at a value of 1.0 only oscillator 2 is audible.
DCOx Detune
Symbol: DCOx_DETUNE
A detune offset applied symetrically to oscillator 1 and 2. Together with DCOx Tuning and DCOx Detune this parameter determines the tuning of the oscillators.
All tuning settings take effect after the next note.
DCOx Phase
Symbol: DCOx_PHASE
Phase difference between oscillators. Change takes effect on the next note.
Unit: A value of 1.0 corresponds to a 180 degree phase difference.
DCOx Octave
Symbol: DCOx_OCTAVE
A course tuning offset (in octaves) applied to both oscillators. Together with DCOx Tuning and DCOx Detune this parameter determines the tuning of the oscillators.
All tuning settings take effect after the next note.
DCOx Tuning
Symbol: DCOx_TUNING
A finer tuning offset (in semitones) applied to both oscillators. Together with DCOx Tuning and DCOx Detune this parameter determines the tuning of the oscillators.
The frequency of oscillator 1 and 2 (in semitones) are determined using the following equation:
note = key + octave * 12.0 + tuning * 1.0
freq1 = note - detune * 0.5
freq2 = note + detune * 0.5
To create the effect of separating both synths from each other by a musical interval, use the following parameter offsets (12-tone equal temperament):
Steps | Interval | Octave | Tuning |
---|---|---|---|
1 | Minor Second | 0.08 | 0.04 |
2 | Major Second | 0.16 | 0.08 |
3 | Minor Third | 0.25 | 0.00 |
4 | Major Third | 0.33 | 0.04 |
5 | Perfect Fourth | 0.41 | 0.08 |
6 | Augmented Fourth | 0.50 | 0.00 |
7 | Perfect Fifth | 0.58 | 0.04 |
8 | Minor Sixth | 0.66 | 0.08 |
9 | Major Sixth | 0.75 | 0.00 |
10 | Minor Seventh | 0.83 | 0.04 |
11 | Major Seventh | 0.91 | 0.08 |
12 | Eighth / Octave | 1.00 | 0.00 |
All tuning settings take effect after the next note.
DCOx Glide
Symbol: DCOx_GLIDE
If the value of this parameter is larger than 0, the synth will glide between the frequencies of subsequent notes (portamento), with a speed determined by the parameter. A larger value corresponds to a slower speed.
DCOx Envtime
Symbol: DCOx_ENVTIME
This parameter scales the envelope durations. A larger value makes the envelope slower. Envelope stage durations (always between 0.0 and 1.0) are converted to milliseconds in the following way
msec = duration * envtime * 10000
The default value of 0.5 sets a maximum of 5 seconds per stage. This parameter affects all of the envelopes in this synth (the DCF, LFO and DCA envelope).
Digitally Controlled Filter (DCF)
As conventional in subtractive synthesis a filter is applied to shape the output of the oscillators. Different types of filter can be chosen between, but only one type of filter can be active at a time per synth.
DCFx Cutoff
Symbol: DCFx_CUTOFF
Base cutoff frequency. Depending on the kind of filter this determines either the frequency at which the filter starts affecting the signal, or the center frequency of the filter. The actual cutoff frequency is affected by the filter envelope, and LFO1 if so configured. the cutoff frequency does not follow the keyboard.
DCFx Resonance
Symbol: DCFx_RESO
The filter resonance boosts the signal at the cutoff frequency of the filter.
DCFx Type
Symbol: DCFx_TYPE
Set the type of filter. The following filter types can be chosen:
- Low-pass. Passes frequencies below the cutoff frequency and attenuates frequencies above it.
- Band-pass. Passes a range of frequencies around the cutoff frequency.
- High-pass. Passes frequencies above the cutoff frequency and attenuates frequencies below it.
- Notch. Attenuates the frequencies around the cutoff frequency and passes the rest.
DCFx Slope
Symbol: DCFx_SLOPE
This parameter switches between two different kinds of filters with a different falloff slope:
- Hal Chamberlin's state variable 12dB/oct
- Stilson/Smith Moog 24dB/oct
DCFx Envelope
Symbol: DCFx_ENVELOPE
The filter envelope controls how the cutoff frequency of the filter evolves over time. The output of the envelope is multiplied with the cutoff frequency.
DCFx Attack
Symbol: DCFx_ATTACK
Attack time of the filter envelope.
DCFx Decay
Symbol: DCFx_DECAY
Decay time of the filter envelope.
DCFx Sustain
Symbol: DCFx_SUSTAIN
Sustain level of the filter envelope.
DCFx Release
Symbol: DCFx_RELEASE
Release time of the filter envelope.
Low-Frequency Oscillator (LFO)
The Low-Frequency Oscillator osciallates at a lower rate, usually below the audible spectrum, and can modulate a number of other parameters in the synth to vary the sound a bit.
LFO1 Wave Shape 1
Symbol: LFOx_SHAPE
Waveform shape for the LFO. These are the same waveforms as available for the DCO so see parameter DCOx Wave Shape 1 for the list of available waveforms.
LFOx Wave Width
Symbol: LFOx_WIDTH
Waveform width for the LFO. See parameter DCOx Wave Width 1 for a description.
LFOx Rate
Symbol: LFOx_RATE
Base rate (frequency) for the LFO. At a value of 0, the frequency of the LFO is 0.4 Hz. At a value of 1, it is 40.0 Hz. Values inbetween interpolate linearly between these values.
LFOx Sweep
Symbol: LFOx_SWEEP
This parameter controls how much the LFO envelope (determined by Attack, Decay, Sustain, Release) modulates the LFO rate. Normally the LFO envelope only affects the amplitude. It will result in the LFO speeding up and slowing down during the sound. The value can be negative to reverse the direction of the change.
LFOx Pitch
Symbol: LFOx_PITCH
This parameter controls how much the LFO output modulates the DCO pitch. The value can be negative to reverse the direction of the change.
LFOx Cutoff
Symbol: LFOx_CUTOFF
This parameter controls how much the LFO output modulates the DCF cutoff. The value can be negative to reverse the direction of the change.
LFOx Resonance
Symbol: LFOx_RESO
This parameter controls how much the LFO output modulates the DCF resonance. The value can be negative to reverse the direction of the change.
LFOx Panning
Symbol: LFOx_PANNING
This parameter controls how much the LFO output modulates the OUT stereo panning. The value can be negative to reverse the direction of the change.
LFOx Volume
Symbol: LFOx_VOLUME
This parameter controls how much the LFO output modulates the OUT volume. The value can be negative to reverse the direction of the change.
LFOx Attack
Symbol: LFOx_ATTACK
Attack time of the LFO envelope.
LFOx Decay
Symbol: LFOx_DECAY
Decay time of the LFO envelope.
LFOx Sustain
Symbol: LFOx_SUSTAIN
Sustain level of the LFO envelope.
LFOx Release
Symbol: LFOx_RELEASE
Release time of the LFO envelope.
Digitally Controlled Amplifier (DCA)
The amplifier envelope controls how the volume of the sound evolves over time.
DCAx Volume
Symbol: DCAx_VOLUME
Main volume control of the amplifier.
TODO: what would be the reason to set the volume here instead of in OUT?
DCAx Attack
Symbol: DCAx_ATTACK
Attack time of the amplifier envelope.
DCAx Decay
Symbol: DCAx_DECAY
Decay time of the amplifier envelope.
DCAx Sustain
Symbol: DCAx_SUSTAIN
Sustain level of the amplifier envelope.
DCAx Release
Symbol: DCAx_RELEASE
Release time of the amplifier envelope.
Output controls (OUT)
OUTx Stereo Width
Symbol: OUTx_WIDTH
Perceived stereo width of the sound.
OUTx Stereo Panning
Symbol: OUTx_PANNING
Left-right stereo panning.
OUTx Volume
Symbol: OUTx_VOLUME
Scales the output volume for this synth.
Controller ranges (DEF)
Various MIDI controller ranges and sensitivities are grouped here.
DEFx Pitch bend sensitivity
Symbol: DEFx_PITCHBEND
Scaling value for the effect of the pitchbend controller on the pitch of this synth.
DEFx Modulation wheel sensitivity
Symbol: DEFx_MODWHEEL
Scaling value for the effect of the moulation wheel controller on the amplitude of modulation of the pitch of this synth.
DEFx Pressure sensitivity
Symbol: DEFx_PRESSURE
Scaling value for the effect of the pressure (after-touch) on the volume from this synth.
DEFx Velocity sensitivity
Symbol: DEFx_VELOCITY
Scaling value for the effect of the velocity (note-on) on the volume from this synth.
DEFx Channel
Symbol: DEFx_CHANNEL
MIDI channel that this synth should listen to, or OMNI to listen to all.
DEFx Mono
Symbol: DEFx_MONO
Switches the voice assigment of the synth between polyphonic (value 0.0) and monophonic (value >0.0) mode. In polyphonic mode there is a polyphony of 32 voices.
Effects
Various effects units are available. The effects apply to the combined signal of both synths.
Effects are processed in the following fixed order:
- Chorus
- Flanger
- Phaser
- Delay
- Reverb
- Compressor
- Limiter
Chorus (CHO)
Chorus is an effects unit that simulates a choir of similar sounds.
Chorus Wet
Symbol: CHO1_WET
Determines how strong the processed (wet) filter output will be mixed into the unprocessed (dry) signal. A value of 0.0 switches the effect off, any other value switches the effect on. With a value of 1.0 the wet signal is mixed one to one with the dry signal.
Chorus Delay
Symbol: CHO1_DELAY
Delay parameter of the chorus effect.
Chorus Feedback
Symbol: CHO1_FEEDB
Feedback parameter of the chorus effect.
Chorus Rate
Symbol: CHO1_RATE
Rate parameter of the chorus effect.
Chorus Modulation
Symbol: CHO1_MOD
Modulation parameter of the chorus effect.
Flanger (FLA)
Flanging is an audio effect produced by mixing two identical signals together, one signal delayed by a small and gradually changing period.
Flanger Wet
Symbol: FLA1_WET
Determines how strong the processed (wet) filter output will be mixed into the unprocessed (dry) signal. A value of 0.0 switches the effect off, any other value switches the effect on. With a value of 1.0 the wet signal is mixed one to one with the dry signal.
Flanger Delay
Symbol: FLA1_DELAY
Delay parameter of the flanger effect.
Flanger Feedback
Symbol: FLA1_FEEDB
Feedback parameter of the flanger effect.
Flanger Daft
Symbol: FLA1_DAFT
Daft parameter of the flanger effect.
Phaser (PHA)
Phaser Wet
Symbol: PHA1_WET
Determines how strong the processed (wet) filter output will be mixed into the unprocessed (dry) signal. A value of 0 switches the effect off, any other value switches the effect on. With a value of 1 the wet signal is mixed one to one with the dry signal.
Phaser Rate
Symbol: PHA1_RATE
Rate parameter of the phaser effect.
Phaser Feedback
Symbol: PHA1_FEEDB
Feedback parameter of the phaser effect.
Phaser Depth
Symbol: PHA1_DEPTH
Depth parameter of the phaser effect.
Phaser Daft
Symbol: PHA1_DAFT
Daft parameter of the phaser effect.
Delay (DEL)
The delay effects unit mixes the signal with a delayed copy of itself, resulting in an echo-like effect.
Delay Wet
Symbol: DEL1_WET
Determines how strong the processed (wet) filter output will be mixed into the unprocessed (dry) signal. A value of 0.0 switches the effect off, any other value switches the effect on. With a value of 1.0 the wet signal is mixed one to one with the dry signal.
Delay Delay
Symbol: DEL1_DELAY
Delay parameter of the delay effect.
- If Delay BPM is zero, this indicates a time in seconds.
- If Delay BPM is non-zero, this is relative to the BPM value and indicates a time in beats.
Delay Feedback
Symbol: DEL1_FEEDB
Feedback parameter of the delay effect.
Delay BPM
Symbol: DEL1_BPM
BPM parameter of the delay effect.
Delay BPM (sync)
Symbol: DEL1_BPMSYNC
BPM sync switch of the delay effect. If this parameter has a value larger than 0, the Delay BPM value is synchronized to the transport.
Delay BPM (host)
Symbol: DEL1_BPMHOST
Stores the original BPM value when BPM sync is enabled.
Reverb (REV)
The reverb effect simulates sound reflections in a room.
Reverb Wet
Symbol: REV1_WET
Determines how strong the processed (wet) filter output will be mixed into the unprocessed (dry) signal. A value of 0.0 switches the effect off, any other value switches the effect on. With a value of 1.0 the wet signal is mixed one to one with the dry signal.
Reverb Room
Symbol: REV1_ROOM
Size of the simulated room for the reverb effect.
Reverb Damp
Symbol: REV1_DAMP
Reverb Feedback
Symbol: REV1_FEEDB
Reverb Width
Symbol: REV1_WIDTH
Dynamic (DYN)
Compressor and limiter controls for the final output signal.
Dynamic Compressor
Symbol: DYN1_COMPRESS
Simulates a compressor effect on the output signal. A compressor increases the perceived loudness by reducing the dynamic range. This is a binary option, the compressor is either off (value 0.0) or on (value>0.0).
Dynamic Limiter
Symbol: DYN1_LIMITER
Simulates a limiter on the output signal. This is a binary option, the limiter is either off (value 0.0) or on (value>0.0).
MIDI
MIDI Messages
synthv1 responds to the following MIDI messages:
Message type | Description |
---|---|
8x (Note Off) |
Release a note |
9x (Note On) |
Play a note |
Ax (Polyphonic Aftertouch) |
Set pressure for a voice (scales velocity) |
Bx (Control Change) |
Change controller value (see 'MIDI Controllers' section) |
Dx (Channel Aftertouch) |
Set pressure (scales velocity) |
Ex (Pitch Bend) |
Change pitch of notes (range determined by parameter DEF1 Pitchbend) |
By default the synths receives events on all MIDI channels. This can be changed with the DEFx Channel parameter.
MIDI Controllers
The following MIDI controller events are implemented by synthv1. All controller changes take effect immediately:
CC, RPN or NRPN | Parameter |
---|---|
CC 1 (Modulation Wheel MSB) | Modulates pitch (range determined by parameter DEF1 Modwheel) |
CC 7 (Main Volume MSB) | Volume Coarse |
CC 10 (Panning MSB) | Stereo Panning (binary, unless started with -fp option) |
CC 64 (Sustain Pedal) | Enable/Disable Sustain |
CC 120 (All Sounds Off) | Turn all sounds on channel off |
CC 121 (Reset All Controllers) | Set all controllers to default values |
CC 123 (All Notes Off) | Release all notes on channel |
Credits
Manual written by Wladimir J. van der Laan.
This comment has been minimized.
Excellent, very helpful!