Kern Performance Synthesizer Plug In

Specifications
- Product Name: Kern Performance Synthesizer
- Version: 1.2
- Compatibility: Windows, macOS
- Programming Language: C++
- Polyphony: 32 voices
- Features:
- MIDI keyboard controller integration
- MIDI Learn functionality
- Two band-limited oscillators with Hard Sync
- 4-pole zero-delay feedback lowpass filter
- Two envelopes, one LFO
- Chorus effect
- Double precision audio processing
Introduction
Kern is a software synthesizer plug-in for Microsoft Windows and Apple macOS designed to run with and to be fully controlled by MIDI keyboard controllers. It is written in native C++ code for high performance and extremely low CPU consumption. The main features are:
- Streamlined to be used with MIDI keyboard controllers; all parameters can be controlled by MIDI CC
- MIDI Learn
- Two alternative user panels
- 32 voices polyphony
- Two band-limited oscillators including Hard Sync
- 4-pole zero-delay feedback lowpass filter (two types)
- Two envelopes, one LFO
- Chorus effect
- Double precision audio processing
- Plug-in supports Windows and macOS (32 bit and 64 bit)
Kern is based on the iPlug2 framework maintained by Oli Larkin and the iPlug2 team. Big thanks, guys!!! Without your work it would not have been possible to create a resizable Kern user interface.
- To resize the plug-in you just grab the yellow triangle at the bottom right of the window and drag it. You can save the current window size using the menu entry “Save Window Size” in the Options Menu or by right-clicking somewhere into an empty space of Kern’s panel.
- If you have trouble with the standard version of Kern, please grab the (sound-wise identical) “N” version of the plug-in which is based on the original iPlug framework.
Acknowledgments
- Oli Larkin and the iPlug2 team.
- Alberto Rodriguez (albert dream) for designing the factory presets 32 to 62.
Why Kern?
Ask yourself:
- Do you have a MIDI controller with all those shiny sliders, knobs, and buttons?
- Do you feel the urge to use it to twiddle the parameters of your favorite (software) synth?
- Do you get frustrated because moving a knob here changes a knob there, but the mapping seems not to be intuitive?
- Or maybe the parameter you want to access isn’t even mapped?
- And, to even increase frustration, do you remember the good old days when synthesizers had exactly one dedicated slider/knob/button for each parameter?
If your answer is always “No” then ask yourself: - Do you want a light-weight, easy-to-use, CPU-friendly, cool sounding synth?
- If it is “No” again then Kern may be not the right thing for you.
- … but now you know why I created Kern. Together with my V-Machine (which is grateful for CPU-friendly plug-ins!) I have a fully controllable stand-alone synthesizer that does not need a PC.
- Of course there are drawbacks: Since today’s MIDI master keyboards typically do not have more than 30 hardware controls I had to limit the number of Kern’s parameters to (what I believe – you may have a different opinion here, that’s OK –) the minimum of what is absolutely required. That is why Kern is named “Kern” which is German for “core”.
User Interface
- Two alternative user panels (“views”) are available: The standard (“traditional”) view is in line with the architecture of subtractive synthesizers while the second view reflects the typical layout of the sliders, knobs, and buttons of today’s MIDI hardware controllers. If you own a Novation Impulse (like I do) or a similar machine you will find the latter view very helpful since it visually maps the hardware controls to Kern’s parameters.
- You can switch between the views via the Options menu or via the Switch View button (only available on the standard view).

Sound Engine
Oscillators
- Kern has two band-limited oscillators that can create Sawtooth or Square waves; the waveform has to be selected for both oscillators together. Oscillator 2 can be transposed by ±24 notes and detuned by ±1 note. Furthermore, it is possible to hard-synchronize Oscillator 2 to Oscillator 1.
- The frequency of the oscillators can be modulated either by the LFO or the filter envelope (positively or negatively). If Hard Sync is activated, only Oscillator 2 will be modulated to produce the classic rich harmonic “Sync” spectra we all love. Apart from that, frequency modulation of both oscillators by the LFO (“Vibrato”) can always be applied via the modulation wheel. Portamento is on board, too.
- Finally, it is possible to switch Kern into monophonic mode (e.g. for lead and/or bass sounds). By default the envelopes are single triggered meaning that they are not restarted when playing legato (also known as “Minimoog mode”). However you can change the trigger mode to multiple using the context menu that opens when you click on the Mono switch.
Filter and Amp
- The filter is based on a (attention: buzz words!) Zero-Delay Feedback design and provides two modes: Smooth, a 4-pole lowpass with moderate non-linearities and potential self-oscillation, and Dirty, a punchy 2-pole lowpass with potential but no self-oscillation. Cutoff and Resonance of course are editable.
- The cutoff frequency of the filter can be modulated simultaneously and both positively or negatively by four sources: filter envelope, LFO, key track, and velocity.
- The amplifier just offers Volume and Velocity parameters; the latter controls the influence of the velocity to the output volume.
LFO and Envelopes
- The LFO offers three waveforms: Triangle, Square, and S/H (random); its’ speed rate ranges from 0 to 100 Hz.
- The filter envelope is a simplified ADS generator: The Decay parameter controls both Decay and Release rates together while Sustain can only be switched on or off. The amplifier envelope is similar with the exception that here Release can be controlled independently from the Decay rate.
Chorus
The Chorus can be switched on or off. Furthermore it is possible to set the speed rates of the two triangle-shaped LFOs modulating the Chorus as well as the modulation depth.
Performance Controls
Program Menu
If you know my other plug-ins then there will be no surprises: To select one of the 64 patches just click on the program number, and edit its’ name by clicking in the text field.
Options Menu
When clicking on the Options button, a context menu opens with these options:
| Copy Program | Copy current program to internal clipboard |
| Paste Program | Paste internal clipboard to current program |
| Init Program | Initialize the current program |
| Load Program | Load a program file containing a patch to the Kern‘s current program |
| Save Program | Save the Kern‘s current program to a program file |
| Load Bank | Load a bank file containing 64 patches into the Kern |
| Save Bank | Save the Kern‘s 64 patches to a bank file |
| Select Startup Bank | Select the bank file that should always be loaded when the Kern is started |
| Load Startup Bank | Load the Startup bank file; can also be used to check what the current Startup bank is |
| Unselect Startup Bank | Unselect the current Startup bank |
| Default Path for Program Files | Sets the default path for program and bank files |
| MIDI Thru | Set globally if MIDI data sent to Kern should be sent through to its MIDI output (stored in configuration file) |
| Ignore Program Change | Set globally if MIDI Program Change data sent to Kern should be ignored (stored in configuration file) |
| Reload Configuration | Reload Kern’s configuration file |
| Save Configuration | Save Kern’s configuration file |
| Check Online for Update | When connected to the Internet, this function will check if a newer version of the Kern is available at fullbucket.de |
| Switch View | Switches between the views (see section User Interface) |
| Visit fullbucket.de | Open fullbucket.de in your standard browser |
The kern.ini Configuration File
Kern is able to read some settings from a configuration file (kern.ini). The exact location of this file depends on your operating system and will be displayed when you click on “Reload” or “Save Configuration”.
MIDI Control Change Messages
All parameters of the Kern can be controlled by MIDI controllers, or more precise: Each MIDI controller (except Modulation Wheel and Sustain Pedal) can control one of Kern’s parameters. The mapping is defined in the kern.ini for example like this:

The syntax is straight forward:![]()
- Given the above example, controller 41 directly controls the overall Filter Cutoff parameter, controller 42 the Filter Resonance etc. As you can see, comments are introduced by the Pound sign (#); they are here just for description purposes and completely optional.
- The parameter ID of one of the Kern’s parameters is given in the section Parameters below. Note that the controller number can run from 0 to 119, with the exception of 1 (Modulation Wheel) and 64 (Sustain Pedal); the latter two are simply ignored.
- Of course, instead of editing the controller/parameter assignments in kern.ini with a text editor it is much easier to use the MIDI Learn function and save the configuration (see sections MIDI Learn and Options Menu).
MIDI Learn
Every parameter of Kern can be controlled by one MIDI controller. If you want to change the assignment of MIDI controller (CC; MIDI Control Change) to Kern parameter the MIDI Learn function comes in quite handy: Just click the MIDI Learn button on Kern’s control panel (caption turns red) and wiggle both the MIDI controller and the parameter you want to assign (you can abort MIDI Learn by clicking the red button). To save the controller assignments use “Save Configuration” in the Options menu.
Parameters
Oscillators
| parameter | ID | description |
| Mono | 1 | Switches between polyphonic and monophonic mode (Single or Multiple Trigger) |
| Master Tune | 4 | Master tune (hidden parameter) |
| Wave | 5 | Selects the waveform (Sawtooth or Square) |
| P.Bend | 2 | Pitch Bend range (in notes) |
| Porta | 3 | Portamento time |
| FM | 6 | Frequency modulation depth |
| FM Src. | 7 | Frequency modulation source |
| Trans. | 8 | Oscillator 2 transpose (in notes) |
| Tune | 9 | Oscillator 2 tuning |
| Sync | 10 | Oscillator 2 Hard Sync |
Filter
| parameter | ID | description |
| Cutoff | 12 | Cutoff frequency |
| Reso. | 13 | Resonance |
| Mode | 11 | Filter mode (Smooth or Dirty) |
| Env | 14 | Cutoff frequency modulation by filter envelope |
| LFO | 15 | Cutoff frequency modulation by LFO |
| Key | 16 | Cutoff frequency modulation by note number |
| Velocity | 17 | Cutoff frequency modulation by velocity |
| Attack | 21 | Attack time of filter envelope |
| Decay | 22 | Decay/Release time of filter envelope |
| Sustain | 23 | Sustain of filter envelope (Off or On) |
LFO
| parameter | ID | description |
| Rate | 19 | Rate of the LFO (0 to 100Hz) |
| Wave | 20 | Waveform (Triangle, Square, S/H) |
Amplifier
| parameter | ID | description |
| Attack | 24 | Attack time of amplifier envelope |
| Decay | 25 | Decay time of amplifier envelope |
| Release | 27 | Release time of amplifier envelope |
| Sustain | 26 | Sustain of filter amplifier (Off or On) |
| Volume | 0 | Master volume |
| Velocity | 18 | Velocity amount |
Chorus
| parameter | ID | description |
| Enable | 28 | Chorus on/off |
| Rate 1 | 29 | Rate of first Chorus LFO |
| Rate 2 | 30 | Rate of second Chorus LFO |
| Depth | 31 | Depth of Chorus modulation |
Frequently Asked Questions
What is the recommended system requirement for running Kern?
Kern is optimized for low CPU consumption. It is recommended to have a multi-core processor and at least 4GB of RAM for smooth operation.
Can Kern be used as a standalone synthesizer?
Kern is designed as a plug-in but can be used with V-Machine for standalone operation without a PC.
How can I map MIDI controllers to parameters in Kern?
Utilize the MIDI Learn feature in Kern to assign MIDI controllers to various parameters for real-time control.
How do I install the Kern (Windows 32 bit version)?
Just copy the files kern.dll from the ZIP archive you have downloaded to your system's or favorite DAW's VST2 plug-in folder. Your DAW should automatically register the Kern VST2 plug-in the next time you start it.
How do I install Kern (Windows VST2 64 bit version)?
Just copy the file kern64.dll from the ZIP archive you have downloaded to your system's or favorite DAW's VST2 plug-in folder. Your DAW should automatically register the Kern VST2 plug-in the next time you start it. Note: You may have to remove any existing (32 bit) kern.dll from your VST2 plug-in folder or else your DAW may screw the versions up…
How do I install Kern (Windows VST3 64 bit version)?
Just copy the files kern.vst3 from the ZIP archive you have downloaded to your system's or favorite DAW's VST3 plug-in folder. Your DAW should automatically register the Kern VST3 plug-in the next time you start it.
How do I install the Kern (Windows AAX 64 bit version)?
Copy the file kern_AAX_installer.exe from the ZIP archive you have downloaded to any of your system's folder and run it. Your AAX-enabled DAW (Pro Tools etc.) should automatically register the Kern AAX plug-in the next time you start it.
How do I install Kern (Mac)?
Locate the downloaded PKG package file in Finder (!) and do a right- or control-click on it. In the context menu, click on “Open”. You will be asked if you really want to install the package because it comes from an “unidentified developer” (me J). Click “OK” and follow the installation instructions.
What is the plug-in ID of Kern?
The ID is kern.
I spent a lot of time customizing the MIDI controller/parameter assignments. Can I save these assignments?
Yes, by using “Save Configuration” in the Options menu (see section Options Menu).
How do I know if a new version of the Kern is available?
When connected to the Internet, open the Options menu (see section Options Menu) by clicking the disk icon and select the entry “Check Online for Updates”. If a new version of the Kern is available on fullbucket.de the respective information will be shown in a message box.
Documents / Resources
![]() |
Kern Performance Synthesizer Plug In [pdf] User Guide Performance Synthesizer Plug In, Synthesizer Plug In, Plug In |

