ChowKick is a kick drum synthesizer plugin based on creative modelling of old-school drum machine circuits

ChowKick

CI License Downloads

ChowKick is a kick drum synthesizer plugin based on creative modelling of old-school drum machine circuits. MIDI input to the plugin triggers a pulse with a parameterized size and shape. The pulse is then passed into a resonant filter which can be tuned to a specific frequency, or matched to the frequency of the incoming MIDI notes.

Quick Links:

Building

To build from scratch, you must have CMake installed.

# Clone the repository
$ git clone https://github.com/Chowdhury-DSP/ChowKick.git
$ cd ChowKick

# initialize and set up submodules
$ git submodule update --init --recursive

# build with CMake
$ cmake -Bbuild
$ cmake --build build --config Release

The resulting builds can be found in build/ChowKick_artefacts.

Credits

This plugin was inspired by Kurt Werner's analysis and modelling of the TR-808 Kick Drum Circuit, discussed in his wonderful PhD Dissertation.

License

ChowKick is open source, and is licensed under the BSD 3-clause license. Enjoy!

Comments
  • Version 1.1.0 Release Checklist

    Version 1.1.0 Release Checklist

    • [x] Test on Windows:
      • [x] Ableton
      • [x] FL Studio
      • [x] Reaper
      • [x] Studio One
    • [x] Test on Mac:
      • [x] Ableton
      • [x] GarageBand
      • [x] Logic (M1)
      • [x] #34
    • [x] Test on Linux:
      • [x] Carla
      • [x] Ardour
    • [x] Test on iOS:
      • [x] AUM
      • [x] GarageBand
      • [x] Standalone
    • [x] Bump version number
    • [x] Submit iOS build for review
    • [x] Update CHANGELOG
    • [x] Generate release builds/installers
    • [x] Release iOS version
    • [x] Tag GitHub Release
    • [x] Update website
    • [x] Postings:
      • [x] KVR
      • [x] AudioBus
      • [x] Webpage (news)
      • [x] Patreon
  • [BUG] File loading on iOS is broken

    [BUG] File loading on iOS is broken

    Describe the bug It appears that when loading a file on iOS, the file appears empty. This currently affects loading user presets, and will affect custom tunings as well.

    Additional context This may be related to missing permissions of some sort on iOS.

  • [BUG] Weird preset menu behaviour

    [BUG] Weird preset menu behaviour

    Describe the bug If you load a factory preset or create a new one, then Save it to the User directory...

    Rather than the preset just saved appearing in the preset-management drop-down, the last preset name in the User directory is the one selected...

    As well, if you start with a previously saved user preset, give it a new name, rather than the new name appearing in the drop-down, 'Save' is displayed.

    Expected behavior Obvious suggested behavior is that upon saving a new preset, it becomes the currently loaded preset and its name is displayed in the preset field.

    Screenshots ChowKick_Saving_Presets

    Desktop (please complete the following information): Windows 10, VST3i, REAPER

  • [BUG] Weird volume level behaviour

    [BUG] Weird volume level behaviour

    Describe the bug The plugin doesn't produce reliable volume levels (sending the exact same sequence of MIDI notes+velocities multiple times gives different results on the volume of each kick)

    • Get a massive volume boost when following a very high pitched note with a very low pitched one, (and vice versa).

    • Playing multiple notes in a similar pitch (same octave perhaps?) gradually makes them a lower volume

    Alternating 2 notes that are +-5 octaves apart gives me an output of up to +20dB after +-50 notes sent. Repeating the same note over and over gives me an output of down to -20dB after +-50 notes sent.

    This seems to depend a bit on the RES. MODE param, I get more drastic volume differences with it set to the minimum value, and more consistent when I go to values >0.25.

  • [FEATURE] Add option for user to select their own default tuning library path.

    [FEATURE] Add option for user to select their own default tuning library path.

    Describe the solution you'd like There should be an option on the drop-down menu to "Select user tuning library path". After the user selects that path, the options to load a tuning file should default to that path. There should also be a new option on the menu to open the user tuning library directory.

  • [FEATURE] Built-in tuning choices

    [FEATURE] Built-in tuning choices

    Is your feature request related to a problem? Please describe. For folks unfamiliar with custom tunings, it may not be immediately obvious how to load your own SCL/KBM custom tunings.

    Describe the solution you'd like We should have a set of "built-in" options as part of the tuning menu.

  • [FEATURE] Add noise control(s)

    [FEATURE] Add noise control(s)

    Is your feature request related to a problem? Please describe. It would be cool to have the option to blend in some noise into the kick sound.

    Describe the solution you'd like Probably there should be controls for the noise level and the noise cutoff frequency. Maybe also a control for the noise shape?

  • [BUG] Strange overlapping voices behaviour

    [BUG] Strange overlapping voices behaviour

    Describe the bug When having the LINK param enabled, the pitch that you hear is that of the previous MIDI note that you played. I play: C3, followed by a C4, followed by a C4 and repeat this pattern I hear: C4, followed by C3, followed by C4

    Update: this only happens with the VOICES param set to max

    Hmm, now I'm doubting if I just heard overlapping notes, hard to tell because the voices param just has a range from 0 to 1, perhaps playing the new note twice just makes enough voices play that pitch so that you can hear it way better

    Something funky going on anyway with regards to the voices.

  • Version 1.0 Release Checklist

    Version 1.0 Release Checklist

    • [x] Testing:
      • [x] Ableton (Win64)
      • [x] Ableton (Win32)
      • [x] Reaper
      • [x] FL Studio
      • [x] Ableton (Mac)
      • [x] Logic Pro
      • [x] Garageband
      • [x] iOS (Standalone, AUM, GarageBand)
      • [x] Test installers
      • [x] Carla (Linux)
    • [x] Update Docs:
      • [x] Create Changelog
      • [x] Update screenshots
      • [x] Create User Manual
      • [x] Update README
    • [x] Create Release:
      • [x] Release to App Store
      • [x] Generate builds
      • [x] Tag a GitHub Release
    • [x] Announce:
      • [x] Post on KVR
      • [x] Post on website
      • [x] Post on Patreon
      • [x] Post a demo video on YouTube...
  • [FEATURE] Add MTS-ESP Microtuning Support

    [FEATURE] Add MTS-ESP Microtuning Support

    It looks like we'll need to do the following steps:

    1. Add the MTS-ESP library as a submodule
    1. Install the MTS-ESP mini test plugin
    2. Add an option to the micro-tuning menu to turn MTS-ESP on/off (should be off by default?)
    3. Tweak the code where we set the kick note frequency to use the note frequency from MST-ESP where appropriate.
  • [FEATURE] snare and hi-hat plugins

    [FEATURE] snare and hi-hat plugins

    Hi,

    Maybe this is the wrong place to ask this, but it would be great to have plugins like ChowKick for snare and hi-hats. The quality of ChowKick is exceptional. If we could have for snares and hi-hat plugins, I'll not need my samples any more :-)

  • Midi CC / external control of synth parameters

    Midi CC / external control of synth parameters

    Hi,

    Great work on this little plugin, it sounds.. kickass, pardon the pun. I like it so much that I'd like to install it on a standalone plugin host type of machine (self-built x86 box). Upon exploring that idea though, I noticed there's no mention of midi CC or any other form of external control anywhere in the docs or source (that I can find, anyway). Is this indeed missing, and is this something that you plan to implement? Alternatively I may try to implement it myself, I have some c/c++ experience, although I am completely new to Juce and the Juce development process, so I may be biting off more than I can chew in the short term.

Related tags
This speech synthesizer is actually the SAM speech synthesizer in an ESP8266

SSSSAM Serial Speech Synthesizer SAM This speech synthesizer is actually the SAM speech synthesizer in an ESP8266. Where SAM was a software applicatio

Jul 30, 2022
Twist A node-based audio synthesizer written in C++
Twist A node-based audio synthesizer written in C++

Not maintained anymore! Twist A node-based audio synthesizer written in C++ Twist is the unexpected result of me trying to experiment with audio progr

Aug 29, 2022
A visual additive synthesizer
A visual additive synthesizer

Canvas (working title) is a visual additive synthesizer that is controlled by editing an image. Scribble on the canvas and use a variety of image filt

Sep 10, 2022
eSpeak NG is a compact open source software text-to-speech synthesizer for Linux, Windows, Android and other operating systems

eSpeak NG is an open source speech synthesizer that supports more than hundred languages and accents.

Sep 29, 2022
Let’s Create a Speech Synthesizer

Speech Synthesizer Series Material for my video series about creating a peculiar English-language speech synthesizer with Finnish accent. Playlist: ht

Sep 3, 2022
"Zero-copy" Linux screen capture plugin for OBS that uses libdrm and dmabuf

linux-kmsgrab plugin for OBS Introduction This plugin is a proof-of-concept libdrm-based screen capture for OBS. It uses DMA-BUF to import CRTC frameb

Jun 19, 2022
PeakEater is a free open-source VST3/AU waveshaper plugin
PeakEater is a free open-source VST3/AU waveshaper plugin

PeakEater Free open source VST3/AU wave shaping plugin for macOS and Windows. View Demo · Download · Report Bug Table of Contents About The Project Fe

Sep 17, 2022
OBS Plugin to capture CS:GO with Trusted Mode enabled
OBS Plugin to capture CS:GO with Trusted Mode enabled

OBS Plugin to capture CS:GO with Trusted Mode enabled Ever since Valve introduced Trusted Mode you could no longer capture Counter-Strike: Global Offe

Sep 19, 2022
An OBS plugin for removing background in portrait images (video), making it easy to replace the background when screen recording.
An OBS plugin for removing background in portrait images (video), making it easy to replace the background when screen recording.

OBS Plugin: Background Removal Introduction Building MacOSX Linux / Ubuntu Windows Download Check out the latest releases for downloads and install in

Sep 25, 2022
BYOD is a guitar distortion plugin with a customisable signal chain that allows users to create their own guitar distortion effects.

BYOD is a guitar distortion plugin with a customisable signal chain that allows users to create their own guitar distortion effects. The plugin contains a wide variety of distortion effects from analog modelled circuits to purely digital creations, along with some musical tone-shaping filters, and a handful of other useful processing blocks.

Oct 1, 2022
An OBS plugin that allows capture of independant application audio streams on Windows, in a similar fashion to OBS's game capture and Discord's application streaming.
An OBS plugin that allows capture of independant application audio streams on Windows, in a similar fashion to OBS's game capture and Discord's application streaming.

win-capture-audio An OBS plugin based on OBS's win-capture/game-capture that hooks WASAPI's audio output functions (rather than the various graphics A

Sep 24, 2022
An OBS plugin for Zoom/Meet-like virtual background feature.
An OBS plugin for Zoom/Meet-like virtual background feature.

OBS Virtual background plugin English / Japanese OBS Virtual background plugin is a plugin for OBS. This plugin allows you to crop the background area

Sep 29, 2022
A weird distortion and lowpass plugin

Delta Limiter Building ./waf clean configure build Documentation pandoc -s user_manual.md -o user_manual.html pandoc -s user_manual.md -o user_manual.

Sep 19, 2022
SuperCollider as a VST3 plugin

PluginCollider PluginCollider is an experimental fork of https://github.com/supercollider/SuperColliderAU and it is still not complete since it only b

Sep 10, 2022
Wolf MidiCurve is a MIDI remapping plugin.
Wolf MidiCurve is a MIDI remapping plugin.

Wolf MidiCurve is a MIDI remapping plugin. It can be built as an LV2 or VST plugin and as a standalone Jack application.

Nov 18, 2021
OBS Plugin with image that reacts to sound source.

OBS Image Reaction Plugin Image that reacts to sound source. Installing binaries Download binaries from Releases. For Windows, Move the contents of pl

Sep 22, 2022
Audio Plugin API

Audio Plugin API

Sep 24, 2022
Arduino+Python to create a ultrasound sensor array based on the HC-SR04
Arduino+Python to create a ultrasound sensor array based on the HC-SR04

Using the cheap HC-SR04 ultrasonic sensor and an arduino nano we can build a low cost sensor array for robotics. The arduino code will poll all the sensors and send byte packets via serial interface with the index and the distance to a Python app to process.

Aug 10, 2022
Modem based on software defined radios.
Modem based on software defined radios.

Modem based on software defined radios.

Jun 22, 2022