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

Related tags

Audio ChowKick
Overview

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
    opened by jatinchowdhury18 2
  • [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 
    opened by jatinchowdhury18 1
  • [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 presets 
    opened by jatinchowdhury18 1
  • [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.

    bug dsp 
    opened by jatinchowdhury18 1
  • [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.

    enhancement 
    opened by jatinchowdhury18 0
  • [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.

    enhancement tuning 
    opened by jatinchowdhury18 0
  • [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?

    enhancement dsp 
    opened by jatinchowdhury18 0
  • [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.

    bug dsp 
    opened by jatinchowdhury18 0
  • 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...
    opened by jatinchowdhury18 0
  • [BUG] GUI doesn't work for Linux using VST3 plugin

    [BUG] GUI doesn't work for Linux using VST3 plugin

    Describe the bug Opening the VST3 plugin in Renoise has no GUI and returns the following log:

    Renoise LOG> Vst3Plugs: Instantiating: /home/music-plugins/vst3/ChowKick.vst3...
    Renoise LOG> Vst3Plugs: Failed to apply initial controller state to controller (not critical)
    Renoise LOG> Vst3Plugs: Failed to suggest speaker arrangement (not critical)
    Renoise LOG> Vst3Window: Creating a new main window...
    Renoise LOG> Vst3Window: Setting window properties...
    Renoise LOG> Vst3Window: Creating plugin parent window...
    Renoise LOG> Vst3Window: Mapping the window...
    Renoise LOG> Vst3Window: Attaching the plugin to the plugin parent window...
    Renoise LOG> Vst3Window: Plugin requested new Windowsize 850, 600
    Renoise LOG> Vst3Window: Plugin window attached via _XEMBED_INFO
    X ERROR: Returned 'BadValue (integer parameter out of range for operation)' for operation 'Unknown'
    

    To Reproduce Steps to reproduce the behavior:

    1. Open Renoise
    2. Open ChowKick VST3
    3. See error above

    Expected behavior To be able to open the plugin in Renoise and have a GUI.

    Screenshots Screenshot_2022-12-15_10-20-43

    Desktop (please complete the following information):

    • OS: Gentoo Linux
    • DAW: Renoise v3.4.2
    • ChowKick Version: v1.1.1
    bug 
    opened by powerjungle 3
  • [BUG]GUI really slow on Manjaro Gnome as a VST3

    [BUG]GUI really slow on Manjaro Gnome as a VST3

    Describe the bug GUI really slow on Manjaro Gnome as a VST3

    To Reproduce Steps to reproduce the behavior:

    1. Load ChowKick in Carla or zrythm as VST3
    2. The GUI reacts really slow

    Expected behavior The GUI should be snappy and input shouldn't be long to react. Both mouse and keyboard are affected.

    Desktop (please complete the following information):

    • OS: Manjaro Linux
    • DAW zrythm, carla
    • Version 1.1.1
    bug 
    opened by Upacesky-26 2
  • [FEATURE] MIDI Velocity support

    [FEATURE] MIDI Velocity support

    Is your feature request related to a problem? Please describe. As a drummer I use velocity a ton when sequencing my electronic drum tracks. I love giving accented notes to double kicks, fake echoing "ghost" notes, or making a kick drum roll into the next downbeat. It's just ways that I like to make electronic sounds have more personality. I use this all the time with my DAW's native sampler and other instrument VSTs.

    The problem is that I love Chowkick's analog versatility when automated, but it doesn't seem to respond to velocity at all. I'd rather not render out a kick from Chowkick every time I want to use velocity in my sequences, especially since I like tweaking the parameters during playback, or just while producing.

    Describe the solution you'd like To input midi notes with different velocities (0-255) and get an equivalent volume level (0%-100%).

    Additional context Windows 10, FL Studio 20.9 64bit Chowkick 1.1.0 VST3

    Love this VST and your other projects by the way. Outstanding work all around. 😊

    enhancement dsp 
    opened by DeerTears 2
  • [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.
    enhancement dsp gui tuning 
    opened by jatinchowdhury18 0
  • [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 :-)

    enhancement 
    opened by oldcastlehq 1
  • 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.

    enhancement 
    opened by thegroove 1
Releases(v1.1.1)
Owner
null
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

Jan 12 Oct 4, 2022
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

Diego Lopes 123 Dec 7, 2022
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

null 23 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.

null 1.7k Jan 9, 2023
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

Joel Yliluoma 94 Jan 1, 2023
"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

Ivan Avdeev 62 Dec 31, 2022
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

Vladyslav Voinov 45 Dec 17, 2022
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

Gregor Steiner 105 Nov 17, 2022
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

Roy Shilkrot 1.4k Jan 8, 2023
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.

null 229 Jan 5, 2023
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

Joe Kaushal 3k Jan 9, 2023
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

KOUNOIKE Yuusuke 186 Dec 25, 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.

Hannes Braun 3 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

Pascal Gauthier 33 Dec 23, 2022
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.

Wolf Plugins 8 Oct 21, 2022
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

null 39 Jan 4, 2023
Audio Plugin API

Audio Plugin API

null 1.3k Jan 3, 2023
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.

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

Modem based on software defined radios.

dernasherbrezon 20 Nov 11, 2022