Connecting a Roland V-Drums module to Drumgizmo, it feels like there is almost no dynamic at all. Playing "ghost notes" is almost not possible. This is a topic which I discussed with deva a while ago via private chats. Since the MIDI velocity handling of Drumgizmo is such a fundamental thing, I think it makes sense to discuss this issue in the forum so that other Drumgzimo users can contribute.
I have already created a Git branch "edrumulus" where I have a solution which works for me but is very "Edrumulus specific". It would be good if this issue will be solved in the official version of Drumgizmo.
First question: What is the expectation from a Drumgizmo user view how Drumgizmo should map the MIDI velocities? Should it behave similar to a Roland V-Drums module? Since Roland is a "quasi industry standard" for electronic drums, I would expect a drum plugin like Drumgizmo to behave similar.
To compare Drumgimo with my Roland TD-27, I have created a MIDI file for the snare which contains all possible MIDI velocites from 1-127. Then I recorded the audio signal from that module. I have used the following Python script https://github.com/corrados/edrumulus/b ... zmo_kit.py to convert the recording to a Drumgizmo drum kit. Then I played the same MIDI file in Drumgizmo and checked which sample was selected (using -p close=1,position=0,diverse=0,random=0). This is the yellow line in the following plot which gives you a graphical representation of the already mentioned effect of no ghost notes: If you send small MIDI velocities to Drumgizmo (x-axis of the plot) it will quickly select samples with a high power (y-axis of the plot). The samples with the lowest velocity are not used at all.
Drumgizmo supports a power mapping feature. I wanted to try out if this feature solves my issue. Since the paramters are not available on the CLI interface, I had to hard-code these and recompile Drumgizmo. I tried out the following settings:
- magenta line in the plot: powermap_fixed1_x = 0.75, powermap_fixed1_y = 0.25
- green line in the plot: powermap_fixed1_x = 0.9, powermap_fixed1_y = 0.1
As you can see, it is not possible to get a linear relation between input MIDI velocitys and played velocities.
I would like Drumgizmo to change the velocity behavior to match the Roland module, i.e., the same MIDI velocity will output a sample with a similar loudness. But this would break compatibility to older versions of Drumgzimo.
What is your opinion?