Geonkick - a free software percussion synthesizer.
Geonkick is a synthesizer that can synthesize elements of percussion. The most basic examples are: kicks, snares, hit-hats, shakers, claps, sticks. Also, it can play samples.
Author: Iurie Nistor
License: GPLv3
Version: 1.9.2
If you have an idea about a feature or found an issue, please, submit it:
- on GitLab
- on GitHub
- or just send a message to [email protected]
Source code repository:
https://gitlab.com/geontime/geonkick
Latest releases can be found on tags.
Latest stable features added are on "master" branch
The development is going on "develop" branch or feature (feat/feature_name) branches.
- Monophonic
- 3 layers
- Layers Mixer
- 2 oscillators per layer
- sine, square, triangle, saw-tooth, sample (wav, ogg, flac)
- initial phase control
- amplitude & frequency envelope
- low, band and high pass filter, cutoff envelope
- FM synthesis
- OSC1->OSC2
- One noise generator per layer
- white & brownian
- amplitude envelope
- low, band and high pass filter, cutoff envelope
- General
- amplitude envelope & kick length
- low & high pass filter, cutoff envelope
- limiter
- compression
- distortion
- Jack support:
- 1 MIDI in, key velocity sensitive
- 2 audio out
- Export
- stereo & mono
- WAV: 16, 24, 32 bit
- FLAC: 16, 24 bit
- Ogg Vorbis
- Open & Save preset in JSON format
- Standalone
- Pitch to note
- Plugin
- LV2
- Platforms:
- GNU/Linux
Here is a list of videos about how it works.
Under the directory geonkick/examples, it is gathered some example presets that can be opened and play with.
In order Geonkick to run and operate correctly there is a need for:
Standalone:
- GNU/Linux operating system
- Jack server installed and running at 48000 sample rate
Plugin:
- GNU/Linux operating system
- LV2 host. For example, a DAW that supports LV2 plugin format.
In order to build Geonkick there is a need to install the following development packages:
- Redkite GUI toolkit. See the documentation of Redkite toolkit how to install it.
- libsndfile
- RapidJSON (version >= 1.1)
- JACK Audio Connection Kit (optional if building only for LV2)
- LV2 development library
On Debian, Ubuntu, Ubuntu Studio install:
apt-get install build-essential
apt-get install cmake
apt-get install qjackctl libjack-dev libsndfile-dev
apt-get install rapidjson-dev
apt-get install lv2-dev
Clone the code repository, compile and install
git clone https://gitlab.com/geontime/geonkick.git
mkdir geonkick/build
cd geonkick/build
cmake ../
make
make install
Geonkick can be found in the following repositories:
- ArchLinux by David Runge
- FreeBSD by [email protected]
- OpenSUSE by Fabio Pesari
- k - play the percussion sound
- Ctrl + r - reload default state, clean everything
- Ctrl + h - hide envelope, only the graph is shown
- Ctrl + o - open file browser dialog
- Ctrl + s - open save dialog
- Ctrl + e - open export dialog
- Ctrl + a - open about dialog
Note: when running as plugin be sure the focus to be on the main Geonkick window.
- Left double click to add a new point
- Left click on the point and move the point
- Right click on the point to remove it
Geonkick standalone uses Jack and will create two audio outputs and one MIDI input. If audio outputs are connected there are three ways to play the sound:
- MIDI input, for example, MIDI keyboard. This also will be key velocity sensitive, i.e. lower velocity corresponds to lower sound volume.
- by means of a host that supports LV2 plugin format
The block diagram of the synthesizer.
-
Filters become unstable for some extremal combination of cutoff frequency and Q parameter. If the filters become unstable the percussion graph may show a maximum continuous line or various kinds of distortion. There is a need to work with Q factor in order to use the cutoff in the desired range.
-
If the sound exceeds the range -1.0 - 1.0, the sound is hard limited to value 1.0 or -1.0. This can also be seen in the percussion graph.
-
When a key is pressed, there no synthesis is going on, Geonkick plays the generated percussion that is kept in memory. Synthesis takes place only if some controls are changed.
-
If the key is released before all the percussion length is played, Geonkick will apply a 30ms linear decay to avoid sharp cut of the sound.
-
If the controls are changed during the play of the beat, there will not be any change in the sound during the play of the current beat, the next beat/beats will contain the change, i.e. the next press of the keys.
-
FM Synthesis is enabled by pressing OSC1->OSC2 for evrey layer separtely. When pressing OSC1->OSC2 the output of Oscillator 1 will be redirected to modulate the frequency of Oscillator 2. Oscillator 2 must be enabled in order to see the result in the graph.
-
Geonkick is monophonic.
-
Geonkick does not support multichannel.
-
If the option "Tune" is enabled than Geonkick will tune the pitch relative to key A4. If the percussion sound is more like a tone, tuning above A4 may contain unwanted high frequencies.