Release Notes for DrumGizmo-0.9.18 (and 0.9.18.1)

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:

  • Sample selection algorithm now behaves a lot better when using a small sample set.
  • Error reporting has been drastically improved when loading drum-kits.
  • Sample normalization option has been added.

Sample Selection

One of the main goals of this bugfix release is to fine-tune the sample selection algorithm. The things we changed are:

  1. Make the pDiverse parameter behave less extreme
  2. Make the pClose parameter behave less extreme
  3. Fine tune parameters and knob ranges of the sample selection algorithm

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:
Open video file

And here is that same piece with the fix applied in version 0.9.18:
Open video file

Improved Error Reporting

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.

Sample Normalization

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>

OSX improvements

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

CLI Improvements

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.

Other Bugs Fixes

  • Some spelling errors has been fixed in the UI.
  • A crash has been fixed on Windows when the plugin window was being close while the file-browser was still open.
  • The plugin UI was not initially shown in Reaper on Windows until the UI was toggled off, then on. This has now been fixed.
  • The file-browser is now shown always on top on all platforms to prevent it from popping up under the DAW window wnd therefore hidden form the user.
  • The stddev sample spreading is now enabled/disabled with the velocity humanizer.

In version 0.9.18.1 the following fix was also added:

  • The filebrowser was non-responsive and showed nothing if the default kit path was not set or was set to an invalid path.

As always, if you still have issues or weird behavior: Please tell us! Your feedback is very valuable, always.

changelog/drumgizmo-0.9.18.txt · Last modified: 2019/10/23 18:58 by deva
Trace: drumgizmo-0.9.18
GNU Free Documentation License 1.3
Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0