Released October 15th 2019.
Roadmap: version_0918
Hotfix version 0.9.18.1 was released October 23rd 2019.
Roadmap for this version: version_09181
This release is primarily a bugfix release but a few new features also managed to sneak in.
Highlights:
One of the main goals of this bugfix release is to fine-tune the sample selection algorithm. The things we changed are:
For pDiverse, we internally used a function which would attain very high values if the same sample is played twice in a very short time. Therefore, even samples with very different velocity from the input MIDI velocity would seem better. This lead to very loud/quiet samples to be chosen in scenarios where only few samples exist for a drum, which is obviously undesirable. By making the function values “less extreme”, this issue is fixed. Furthermore, we made pClose independent of the exact power values, but only dependent on their relative difference. This again lead to less extreme behavior for the settings of the pClose knob. Furthermore, we fine-tuned the overall parameters for sample selection to hopefully make it a smoother experience.
This is what it sounded like, before the fix (ie. in version 0.9.17) - note; all notes have essentially the same velocity:
And here is that same piece with the fix applied in version 0.9.18:
First of all the drumkit loader is now able to tell the user what went wrong when an error occurs. This is printed in the status area of the plugin gui. The dgvalidator tool inherited these same error reporting mechanisms so that now too is verbose about its findings when validating a drumkit.
A new tag normalized
can now be added to the <sample>
tag in the instruments. If set to true, it will apply a volume scaling to each of the sample when it is played corresponding to the input velocity of the node.
This feature makes it possible to create a sample containing audio files which is all normalized and still get something resembling different stroke powers based on the velocity.
An example of how to use it:
<?xml version='1.0' encoding='UTF-8'?> <instrument version="2.0" name="Snare"> <samples> <sample name="Snare-1" power="0.00985718" normalized="true"> <audiofile channel="AmbLeft" file="samples/1-Snare.wav" filechannel="1"/> ... </sample> ... </samples> </instrument>
On OSX it is now possible to compile and run DrumGizmo as an lv2 plugin with Cocoa UI. It is still not entirely stable but at least now it works.
The MacOSX compilation instructions has been updated with the LV2 compilation and dependency installation: macosx_building_howto
The DrumGizmo command-line tool can control the remaining velocity humanizer parameters, not just stddev, and the sample selection values are scaled to the range [0; 1] to better comply with how they are interpreted internally in the engine.
In version 0.9.18.1 the following fix was also added:
As always, if you still have issues or weird behavior: Please tell us! Your feedback is very valuable, always.