All material on this site Copyright ©2003-2008 Chris Kerry
SynthEdit and the SynthEdit logo are the property of Jeff McClintock
CK_Pack_7 Contents
To use these modules you must have a Registered Version of SynthEdit Ver:1.003 or Higher
Guide CPU readings from Intel Pentium4 1.5Ghz
For details on CPU readings and how to compare with other systems/modules see:- CPU Guide
Example .SE1 prefab files provided may use modules from other CK_Packs
**Price Reduced** CK_Pack_7 is now £16 GBP (previously £25)
Signal Processing / Utility

PitchShifter: CPU: 0.330%
PitchShifter_FBK: CPU: 0.400% : Adds output feedback to Input - good for fx
Simple Dual Window(Delay) based pitch shifter. Good sound with reasonable shifts (semitones)
Pitchshifting up beyond +6 semitones creates the usual 'chipmunk' type sound
Pitch Shift: Amount of Pitch shifting
Pitch Shift Mode: Semitone, Octave, Ratio
Pre-Delay(ms): Delay time (max 1000ms @44.1Khz)
Window(ms): Sets the Window size (max 300ms @44.1Khz) - Large window sizes create an echo'y sound
*Note: This is Not an 'Adaptive Window' system - The window size remains Fixed at this setting
*Note: Pre-Delay(ms) and Window(ms) are 'Settings':- Changing these values while playing will cause noise to be heard
System: (A,B,C,D) Different window cross fading systems - choose which sounds best for your pitchshifting range
Modes B and D are generally best for small shifts(+/-2 semi) or Detuning
Wave Quality: (Low, High) Low system has no sample interpolation - but still sounds good with small shifts(i.e detune)
Low system uses much lower CPU: 0.250%
Audio Examples (of me - sorry!) Left is the original Dry sample. Right is pitchshifted
Audio Example:- -4 semitones
Audio Example:- +4 semitones
Audio Example:- -12 semitones
Audio Example:- +12 semitones (chipmunk!)
Audio Example:- Wierd Fx with extreme settings
Audio Example:- Ensemble/Chorus effect Centre is Dry, Left/Right are Down/Up shifted also using staggered Pre-Delay
An 'Ensemble/Chorus via PitchShifter' example .SE1 prefab is provided
A basic 'Sample Time-stretching via PitchShifter' example .SE1 prefab is provided
Random: CPU: varies depending on Trigger rate: 0.050%(1/4 @120bpm) -> 0.195%(audio rate 440hz)
Seeded random number generator
Trigger(pulse/osc): A new random number is generated every time the trigger crosses above 0v
Low, Range: Used to set the random output range. Output = Low + ( random * Range)
Random Seed(ratio): Use different values to vary the random sequences/patterns with multiple modules
Resetting this value (eg at 'Play') will allow re-callable random sequences/patterns
8x Osc Tuning: CPU: 0.000%
For use with CK_Osc's that use 'Tuning' inputs for multiple voices
Provides up to 8 Tuning references in semitones (+/-48)
MIDI

Midi Random Multi:
Generates up to 16 Random values for any CC/Aftertouch value on any channel
Trigger(pulse/osc): New random numbers are generated every time the trigger crosses above 0v
16x CC/Aft: Sets the CC number or Aftertouch
16x Channel(1-16): Sets the output channel
16x Low, Range: Used to set the random output range. Output = Low + ( random * Range)
Random Seed(ratio): Use different values to vary the random sequences/patterns with multiple modules
Resetting this value (eg at 'Play') will allow re-callable random sequences/patterns
Extra MIDI Modules

Midi_8x_CC_Aft_Table: CPU: Almost nothing when BPM clocked
Midi_16x_CC_Aft_Table:
Midi_32x_CC_Aft_Table:
Midi_64x_CC_Aft_Table:
These modules operate in a very similar way to 'CK_Midi_Note_Tables' in the other packs
These allow you to create Step change phrase/sequences for Midi CC# or Aftertouch values directly
Features Independent CC#/Aft(aftertouch), Channel and Value(0-127) so you can control several Synths etc via one module
Can be driven by 'CK_Volt_to_Index' or 'CK_Counter_Indexing' and is ideal for Host BPM Sync
For a 'Glide change' system use:-
SE_BPM_Clock-> CK_Counter_Indexing-> SE_Switch(Many_to_1)-> Lpf-> CK_Volt_to_Midi
Link your phrase/sequence values(0-10v) to the SE_Switch(Many_to_1)
The Lpf pitch sets the rate of change between values
*Note: CK_Counter_Indexing and CK_Volt_to_Index are available in CK_Pack_2
CK_Volt_to_Midi is available in CK_Pack_1
Envelopes

Envelope 12: Independent multi-stage envelope with Repeating(looping) and 'One-Shot' function
Envelope 16: 16 stage (17 point)
Envelope 32: 32 stage (33 point)
EnvelopeV2 12: *New* V2 versions now compatible with the 'CK_Envelope_Display' module (Pack 6)
EnvelopeV2 16:
EnvelopeV2 32:
**NEW FEATURE** Gate Mode: (Release, Hold)
Release mode is as normal - the Envelope will release when the GATE releases
Hold mode will keep the Envelope in the Sustain or Repeating section even after the GATE is released
This allows a repeating Envelope to keep on modulating Filters etc while the AMP/VCA envelope is Releasing
The envelope will still retrigger as normal on each new GATE/TRIGGER signal
CPU: depends which 'Shape' is being used:- Typical: 0.100% to 0.120% : 'Root' shapes use the highest CPU:- 0.190%
The Shape/Curve is calculated in realtime for highest accuracy
Time Scaler(ratio): Adjusts all stage times proportionately (eg Key/Velocity scaling)
Sustain Stage: (OFF,1,2...) Define which stage is the Sustain(held) stage
Allows envelope 'Release' section to have multiple stages
If both Sustain and Repeat are 'OFF' then the envelope will play through to the end when triggered (One-Shot)
Repeat From Stage: (OFF,Start,1,2...) Define which stage to repeat from when the Sustain stage is reached
This allows you to create a repeating/looping section of the envelope when 'Held'
If Sustain stage is OFF and Repeat From is set, then the envelope will repeat from the End
If Repeat From Stage is 'Start' and Sustain Stage is 'OFF' then the whole envelope will repeat while 'Held'
Retrigger/Repeat Mode: (ReStart, PickUp)
When the envelope Triggers or Repeats these modes define whether the envelope will use the current level or use the new envelope stage level directly
Time 1-32: Set the time(s,ms) of each stage. The Time is 'latched' as each stage starts
Time Mode: (s, ms) Stage times can be set as Seconds(s) or (ms)
Start Level: Sets the initial level when the envelope is triggered
Level 1-32: Sets the final level of each stage
Note: The last stage level is the end level of the envelope - this is normally set to zero for 'Amp' use
Shape 1-32: Allows you to set the shape/curve of each stage independently, from a choice of:-
Linear, Exp, Inv.Exp, Exp2, Inv.Exp2, Root, Inv.Root, Exp.Root, Inv.Exp.Root, S_Crv, Inv.S_Crv, S_Crv2, Inv.S_Crv2, Step

Env Osc 17: Oscillator based 17 point envelope generator
Env Osc 33: 33 point envelope
*NEW* now compatible with the 'CK_Envelope_Display' module (Pack 6)
CPU: Step:0.095%/0.185% Linear:0.135%/0.220% Exp:0.140%/0.220% Inv.Exp:0.165%/0.240% Curve:0.200%/0.280%
Define envelope levels at fixed points along the wave/duty cycle
Can be used as a user defined Modulator/Waveshaper or waveform generator using Curve mode
Pitch: (Octave, Khz, Hz) Sets the Frequency of the Envelope
Volume: Overall output level
Level 1-33: Sets the envelope level at each point
Env Shape: (Linear, Exp, Inv.Exp, Curve, Step) Sets the envelope shape/curve for all points
The Shape/Curve is calculated in realtime for highest accuracy
Oscillators
For information on Common controls and Technical information see:- Pack6/7_Osc_Tech
All Audio Examples are taken directly from the Oscillator output (standard versions)
(Simple Modulation control is from a 'CK_Envelope' or LFO)

Morph Oscillator
Morph Osc: Select 16 Waveforms to blend between or play in sequence
Morph Osc_2k:
CPU: (standard version) Depends on the Oscillator Mode:-
Osc Modes:-
WaveTrain: CPU: 0.170% / 0.280%
A name i derived to indicate that Waveforms are lined up end-to-end and played through
This can create 'motorboating' type sounds or 'tight tonal' sounds with alternating waveforms
Morph / Morph2: CPU: 0.180% / 0.315%
Use the 'Morph Direct' input to control morphing between the waveforms. For external modulation etc
Morph mode has a Linear transition between waves. Morph2 has Non-Linear transition
Step: CPU: 0.150% / 0.270%
As Morph/Morph2 but with no blending between the waveforms
Auto Morph / Auto Morph2: CPU: 0.220% / 0.330%
'Auto Morph Time(s)' input sets the time to repeatedly morph between each wave in the sequence
Morph mode has a Linear transition between waves. Morph2 has Non-Linear transition
Wave1: CPU: 0.120% / 0.240%
Allows you to use this module as a standard Oscillator by only playing 'Wave 1'
Morph Direct: Allows direct control over morphing for the appropriate Osc Mode: For external Env, Lfo modulation, Key/Vel tracking etc
Auto Morph Time(s): Sets the time to morph between each wave in the sequence for the 'Auto' modes
Eg: if set to '1.0s' then it will take 16 seconds in total to morph between all 16 waveforms
Auto/WaveTrain Stages: (2-16) ** NEW OPTION **
Determines how many waveforms will be morphed in the AUTO modes or played in 'WaveTrain' mode
This allows much easier creation of Morph/WaveTrain patterns using less than 16 waveforms
Audio Example:- Auto Morph 1
Audio Example:- Auto Morph 2
Audio Example:- Motor WaveTrain
Audio Example:- 'Tight Tonal' WaveTrain
4 Operator 'FM'(Phase) plus Ringmod Oscillator
4Op_Fm2_Ring_Osc:
4Op_Fm2_Ring_Osc_2k:
CPU (standard) Depends on Algorithm(57):-
Best: 0.280% / 0.560%
Typical: 0.350% / 0.580%
Worst: 0.440% / 0.640%
4Op_Fm2_Ring_Ext_Osc:
4Op_Fm2_Ring_Ext_Osc_2k:
Additional External input with level control is combined with WaveA
Allows processing of external signals OR cascading multiple '4Op_Fm' modules to create very complex modulators
4Op_Fm2_AddRing_Osc:
Ringmod function is replaced with ( (X*Level_X) * (Y*Level_Y) ) + (Y*Level_Y)
Allows Wave_Y to sound alone and add in the Ring sound with Level_X
4Op_Fm2_AddRing_Ext_Osc:
Combines both options above
Osc Algorithm: 57 Algorithms control how the 4 waves are combined/modulated together
Many modes combine both 'FM' and 'Ringmod' in the same algorithm
A full list of all the Algorithms is available on request
Waveform A,B,C,D: Normally for 'FM' you would use Sine waves - but the full choice of waveforms is available
It is best to severely restrict the Waveform Harmonics between 8-16 to control the amount of 'Synthetic Harmonics' produced by the 'FM/Ring' function
Generally the main 'Body' of any waveshape is defined by the first 8-16 harmonics
Level A,B,C,D: Sets the level of each wave. These are usually controlled via Envelopes but you can apply any other modulator signals
Tuning A,B,C,D (ratio): Sets the 'Tuning/Pitch' of each wave relative to the 'Root Pitch'
This can range from small detuning to large octave/harmonic shifts and can be independently modulated *See Osc_Tech notes*
Remove Root >Limit: Optionally removes the Root harmonic for Waves B,C,D if it exceeds the 'Freq Limit'
Multi-Voice Oscillators
Multi_Osc4: CPU: x1: 0.130% / 0.270% x4: 0.280% / 0.570%
Multi_Osc4_2k:
Multi_Osc8: CPU: x8: 0.480% / 0.950%
Multi_Osc8_2k:
Multi_Osc16: CPU: x16: 0.860% / 1.720%
Multi_Osc16_2k:
Multi_Osc32: CPU: x32: 1.650% / 3.270%
Multi_Osc32_2k:
Level 1-32: Sets the level of each wave. If '0v' the wave is not processed - saves CPU
Tuning 1-32(ratio): Sets the 'Tuning/Pitch' of each wave relative to the main 'Pitch'
This can range from small detuning to large octave/harmonic shifts and can be independently modulated *See Osc_Tech notes*
# Active Waves: Sets the number of Active waves
Remove Root>Limit: Allows the module to be used as a 'Spectral' Oscillator (eg. Each wave is offset by Harmonics)
Multi_Out_Osc4: CPU: similar to Multi_Osc range
Multi_Out_Osc4_2k:
Multi_Out_Osc8:
Multi_Out_Osc8_2k:
Multi_Out_Osc16:
Multi_Out_Osc16_2k:
Multi_Out_Osc32:
Multi_Out_Osc32_2k:
Operates similarly to Multi_Osc but each wave has its own independent output
This allows you to process each wave separately Eg Filtering, Panning etc
These modules can also be used to provide totally Independent Signals from one module
EG: Multiple LFO sources, Multiple Audio sources, or Both (with a little lateral thinking) etc
Sync FX Oscillator
SyncFX_Osc: CPU: 0.180% / 0.280%
SyncFX_Osc_2k:
This Oscillator allows you to create Sync 'type' sounds from a single oscillator
The normal system for Osc-Sync requires two Oscillators, a Master and a Slave - this module operates in a very different way
The 'Sync Frequency'(Master) is set Relative to the main Oscillator pitch(Slave)
This is a little unusual since the 'Sync Frequency' alters the output Pitch - this is why it is designated for 'FX' type sounds
It can simply be made to operate in a 'normal' Master/Slave way:- An Example .SE1 prefab is provided in the Pack to show how
SyncFX Mode: (Forward, Backward, Alternate, Nearest, Furthest) Sets the 'Sync Slide' direction
Nearest/Furthest relates to the half wavecycle point
eg: Nearest: If Sync occurs before the half wavecycle point then a Backward Sync slide is used otherwise Forward
SyncFX Freq(ratio): Sets the 'Sync Frequency' relative to the main oscillator pitch (*See: 'Tuning' on Osc_Tech page)
SyncFX Slide Time(ms/10): Specify the time it takes to 'Slide' to the new Sync phase
This control affects the 'harshness' of the Sync sound
Audio Example of:- Master/Slave Sync with Slave PitchMod via LFO
Audio Example of:- Master/Slave Sync with Master PitchMod via LFO