-
-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEATURE] MIDI Velocity support #40
Comments
Thanks for the detailed feature request! Velocity sensitivity is actually something I was thinking about in moving towards a next release of ChowKick. The synthesis mechanism in ChowKick works basically as follows: when the plugin receives a MIDI "Note On" message, the plugin generates a little "pulse" which goes through a "pulse shaping" algorithm, and then hits a "resonant filter" resulting in the eventual sound that you hear (a similar approach is used by many voices in the TR-808 and other analog drum machines). Currently, the pulse has a width and amplitude determined by the parameters in that section of the plugin. Probably the most sensible way to add some velocity sensitivity would be to multiply the pulse amplitude by some value depending on the velocity of the incoming MIDI message. The code describing that part of the algorithm is all right here if you're interested in hacking on it, otherwise I can take a look at it in the coming weeks. |
Hey, sorry it's taken me so long to get back to this! I've just opened #47, which adds a parameter to turn on a "velocity sensitive" mode. I think the parameter should be on by default, but I had to make some changes to make sure that patches saved with older versions of the plugin are not affected by that decision. Anyway, after that PR is merged, you can try it out either with the nightly builds or by building from source. I wouldn't be surprised if the implementation might need some tweaks in order to make the best musical use of the velocity range. |
Hey, @jatinchowdhury18, thank you! ChowKick has now become an actually useful plugin. 👍
Yep. (Currently it's off, in 1.1.2 ("nightly").) |
Was this loading an instance of ChowKick from a previously saved session or loading a new instance? For sessions that were saved with previous versions of ChowKick, the velocity sensitivity parameter will be turned off. This is necessary since otherwise updating the plugin could drastically change the sound of someone's project. For new instances of the plugin, the velocity sensitivity parameter should be on by default, which has been working correctly in my testing, but obviously there could be something I've missed. Yeah, having that option on the main screen could be cool. I'm going to need to re-work some layout things anyway, so I'll try it out then. I'm not sure how feasible it would be to have a setting for the font sizes, but I am planning to work on improving the way the font scales with the overall UI size. |
Oh, yes, thanks for the clarification, it was indeed a "legacy" session. |
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. 😊
The text was updated successfully, but these errors were encountered: