Virtual Analog Synthesizer with Stereo Chorus ( VA1 V0.25 )
OVERVIEW
Filter,LFO,ADSR,Chorus : everything runs at audio rate 44K1Hz
Oscillator is selectable between 2 generated waveforms.
More partials give a sharper edge to your saw or square wave.
For lower played melodies you can use more partials in your audio waveform without aliasing.
For higher melodies when you hear aliasing you should use less partials in your waveform.
The waveforms are a number of sine waves together, you can go from 1 ( soft sine wave ) to 254.
LFOs has a sine waveform, the generated oscillator waveforms are also selectable.
Filter LFO controls are guaranteed to match your tempo or to improve control tweakability.
Filter LFO has a wide range from almost stopped to fast, all under 1 control.
It is possible to select a function for the modulation wheel for the most common controls.
Sample & hold as random source for noises.
SPECEFICATIONS
Oscillator (1) : Saw , Square
Filter (1) : 36db LowPass, 24db LowPass, 12db LowPass, 24db HighPass, 12db HighPass, 12db BandPass
LFO (2) : Pitch , Filter
ADSR (2) : Filter , Amplifier
Pitch bend : bender 1 to 12 notes, or assigned to selected ADSR for 1 or 2 oktaves
Stereo Chorus (1) : one third out of phase stereo
MIDI CONTROL CHANGE
Control Controls
CC 1 : Uses selected wheel function control
CC 37 : Wheel function
cutoff 1
resonance
filter envelop depth
filter LFO depth
filter LFO frequency
filter attack
filter decay
filter sustain
filter release
amplifier attack
amplifier decay
amplifier sustain
amplifier release
pitch envelop depth
modulation frequency
modulation [ default ]
Oscillator Controls :
CC 5 : Slide time ( slide when key is pressed ) [ default = 73 ]
CC 38 : Sets center frequency ( 432Hz , 440Hz ) [ default = 432Hz ]
CC 39 : Retrigger oscillator ( *see note 1 ) ( 0..63 = false , 64..127 = true ) [ default = false ]
CC 40 : Waveform ( 0..63 = square , 64..127 = saw ) [ default = saw ]
CC 41 : Extra saw partials ( does not generate anything : used by Saw partials to create 8 bit value ) [ default = 1 ]
CC 42 : Saw partials ( *see note 2 ) [ default = 127 ]
CC 43 : Extra square partials ( does not generate anything : used by Square partials to create 8 bit value ) [ default = 1 ]
CC 44 : Square partials ( *see note 2 ) [ default = 127 ]
Filter Controls :
CC 45 : Filter type ( LP36 , LP24 , LP12 , HP12 , HP24 , BP12 ) [ default = LP36 ]
CC 46 : Cutoff 1 : Cutoff frequency ( forms 8 bit cutoff with cutoff 2 ) [ default = 127 ]
CC 47 : Cutoff 2 : Cutoff frequency ( forms 8 bit cutoff with cutoff 1 ) [ default = 64 ]
CC 48 : Resonance [ default = 127 ]
CC 49 : Filter envelop depth [ default = 64 ]
CC 50 : Key follow [ default = 0 ]
CC 51 : Key follow bias [ default = 64 ]
Filter LFO Controls :
CC 52 : Depth [ default = 0 ]
CC 53 : Floor ( *see note 3 )
CC 54 : Multiply ( *see note 3 )
CC 55 : Frequency ( *see note 3 )
CC 56 : Waveform ( square , saw , sinus )
CC 57 : Start phase
CC 58 : Retrigger every note ( 0..63 = false , 64..127 = true )
CC 59 : Retrigger now
CC 60 : Retrigger on next note
Filter ADSR Controls :
CC 61 : Reset ( 0..63 = false , 64..127 = true ) [ default = false ]
CC 62 : Attack [ default = 0 ]
CC 63 : Decay [ default = 0 ]
CC 64 : Sustain [ default = 127 ]
CC 65 : Release [ default = 0 ]
Amplifier ADSR Controls :
CC 66 : Reset ( 0..63 = false , 64..127 = true ) [ default = false ]
CC 67 : Attack [ default = 1 ]
CC 68 : Decay [ default = 0 ]
CC 69 : Sustain [ default = 0 ]
CC 70 : Release [ default = 0 ]
CC 71 : Velocity [ default = 0 ]
Pitch Bend Controls :
CC 72 : Pitch type
bender [ default ]
filterenv 1 oktave
filterenv 1 oktave invert
filterenv 2 oktave
filterenv 2 oktave invert
ampenv 1 oktave
ampenv 1 oktave invert
ampenv 2 oktave
ampenv 2 oktave invert
filterLFO
filterLFO invert
filterLFO saw
filterLFO ramp
filterLFO saw 2x frequency
filterLFO ramp 2x frequency
filterLFO saw 4x frequency
filterLFO ramp 4x frequency
filterLFO saw 8x frequency
filterLFO ramp 8x frequency
filterLFO saw 16x frequency
filterLFO ramp 16x frequency
filterLFO square
filterLFO square invert
filterLFO square 2x frequency
filterLFO square invert 2x frequency
filterLFO square 4x frequency
filterLFO square invert 4x frequency
filterLFO square 8x frequency
filterLFO square invert 8x frequency
filterLFO square 16x frequency
filterLFO square invert 16x frequency
filterLFO sample & hold
filterLFO sample & hold 2x frequency
filterLFO sample & hold 4x frequency
filterLFO sample & hold 8x frequency
filterLFO sample & hold 16x frequency
pitchLFO sample & hold
pitchLFO sample & hold 2x frequency
pitchLFO sample & hold 4x frequency
pitchLFO sample & hold 8x frequency
pitchLFO sample & hold 16x frequency
oscillator sample & hold
oscillator sample & hold 2x frequency
oscillator sample & hold 4x frequency
oscillator sample & hold 8x frequency
oscillator sample & hold 16x frequency
bend off ( *see note 4 )
CC 73 : Pitch bender range ( value 0 gives 1 note range, up to value 11 gives 12 notes range ) [ default = 12 notes ]
CC 74 : Pitch envelop depth [ default = 127 ]
Pitch LFO Controls :
CC 75 : Sets modulation ( range adjust with pitch lfo range ) [ default = 0 ]
CC 76 : Range ( up to 1 oktave ) [ default = 32 ]
CC 77 : Frequency [ default = 64 ]
CC 78 : Waveform ( square , saw , sinus ) [ default = sinus ]
CC 79 : Start phase [ default = 0 ]
CC 80 : Retrigger every note ( 0..63 = false , 64..127 = true ) [ default = false ]
CC 81 : Retrigger now
CC 82 : Fade delay [ default = 24 ]
CC 83 : Fade [ default = 32 ]
Chorus Controls :
CC 84 : Depth [ default = 32 ]
CC 85 : Frequency [ default = 32 ]
CC 86 : Distance ( *see note 5 ) [ default = 0 ]
*Note 1 :
In combination with pitch type sample & hold you can make predictable random values and noises.
*Note 2 :
This control makes the synthesizer stop receiving midi controls until a new waveform is build in memory,
dont use a knob for this function, this function takes a while to process.
This is not a sine wave synthsizer, when selecting a low partials waveform you will hear chorus noise.
*Note 3 :
The filter LFO frequency is build on 3 control values.
Set the floor to adjust the lowest point of the frequency control.
Multiply sets a maximum for the frequency control.
Only the frequency control changes the sound.
*Note 4 :
It is advised if you dont use pitch bend, to set pitchtype to bend off, to give the processor better reaction times in some cases.
*Note 5 :
When cancellation occurs, you can tune the chorus distance to avoid cancelation,
especially with oscillator square waveform there will be cancelation, the chorus might make pulse width modulation like sounds.
*Note 6 :
Control change numbers may differ in future updates.
(c)copyright , right to copy not to sell