This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
changelog:drumgizmo-0.9.17 [2019/07/04 01:47] – [Improved Sample Selection Algorithm] chaot | changelog:drumgizmo-0.9.17 [2020/11/21 19:02] – deva | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | < | ||
======Release Notes for DrumGizmo-0.9.17====== | ======Release Notes for DrumGizmo-0.9.17====== | ||
Roadmap: [[roadmap: | Roadmap: [[roadmap: | ||
- | < | ||
- | NOTE TO AUTHORS: Insert video like this: | ||
- | </ | ||
- | {{videogg> | ||
- | < | ||
- | NOTE TO AUTHORS: Insert audio like this: | ||
- | </ | ||
- | {{videogg> | ||
- | < | ||
- | END OF NOTE | ||
- | </ | ||
- | In this release we tried to jam in as many of our planned changes to the xml as possible. There are still a few more to go but this release has brought a large step closer to our feature-complete xml format. | + | In this release we tried to jam in as many of our planned changes to the xml as possible. There are still a few more to go but this release has brought |
- | We have also added a few new big features which are much more directly | + | Quite a few other major features |
Highlights: | Highlights: | ||
Line 31: | Line 19: | ||
On a high level DrumGizmo works as follows: It gets a MIDI note as input which consists of a note value (pitch) and the hardness of the hit (velocity). The pitch tells us which instrument (e.g., snare, bass drum, hi-hat, ...) should be played and the velocity tells us which of all the samples we have for this instrument should be played. Our aim is to make the drums sound as realistic as possible, and therefore we want to make sure that we select "the right" sample. | On a high level DrumGizmo works as follows: It gets a MIDI note as input which consists of a note value (pitch) and the hardness of the hit (velocity). The pitch tells us which instrument (e.g., snare, bass drum, hi-hat, ...) should be played and the velocity tells us which of all the samples we have for this instrument should be played. Our aim is to make the drums sound as realistic as possible, and therefore we want to make sure that we select "the right" sample. | ||
- | Until now, DrumGizmo' | + | Until now, DrumGizmo' |
* //Close:// It should be pretty close to the velocity that we actually want. | * //Close:// It should be pretty close to the velocity that we actually want. | ||
Line 40: | Line 28: | ||
While we always want the last point to be true, there is a trade-off between the first three points. Therefore, you can control them in the new sample selection panel! Here is how it looks: | While we always want the last point to be true, there is a trade-off between the first three points. Therefore, you can control them in the new sample selection panel! Here is how it looks: | ||
- | INSERT IMAGE OF NEW PANEL | + | {{ : |
- | Now let us have a look and listen how the sample selection in DrumGizmo changed from the old to the new version. | + | Now, let us have a listen |
- | SWEEP EXPERIMENT | + | Old: |
+ | {{../ | ||
- | DIFFERENT VALUES FOR CLOSENESS AND AVOID RECENT | + | New: |
+ | {{../ | ||
- | A last note: By setting the power value of groups of samples | + | That should be enough |
- | Try it out and tell us what you think! :) | + | A last note: By setting the power value of groups of samples to the same value when creating a drumkit, and then turning //Close// all the way up and //Diverse// a little bit up when using it, we obtain a round robin drumkit. |
+ | |||
+ | {{ : | ||
+ | |||
+ | So, our sample selection algorithm is more general and can thus be used very flexibly. Now, try it out and tell us what you think! | ||
+ | |||
+ | Read a more in-depth description of the new algorithm and how it works its < | ||
====Clicky-Kit Feature==== | ====Clicky-Kit Feature==== | ||
- | The clicky-kit feature | + | The clicky-kit feature |
- | Not all kits supports this feature yet and the " | + | Not all kits supports this feature yet and the " |
{{ : | {{ : | ||
Line 59: | Line 55: | ||
In order to support this feature in new drumkits an image tag must be present in the metadata section. | In order to support this feature in new drumkits an image tag must be present in the metadata section. | ||
If only the '' | If only the '' | ||
- | In order to add click-map data a second image must be constructed with the same dimensions as the source image and where clickable areas are all coloured with a unique colour of the authors choice. | + | In order to add click-map data a second image must be constructed with the same dimensions as the source image with clickable areas coloured with a unique colour of the authors choice. |
- | Each colour | + | Each colour |
This approach makes it possible to trigger on virtually anything in the image. | This approach makes it possible to trigger on virtually anything in the image. | ||
<code xml> | <code xml> | ||
Line 75: | Line 71: | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | This png files referred from the xml could look something like this: | ||
+ | |||
+ | '' | ||
+ | {{ : | ||
+ | |||
+ | '' | ||
+ | {{ : | ||
+ | |||
====Midnam Support in LV2==== | ====Midnam Support in LV2==== | ||
- | The LV2 standard has a midnam extension which enables the plugins to (among other things) | + | The LV2 standard has a midnam extension which enables the plugins to (among other things) give names to the midi-notes. This make it possible for DrumGizmo to tell the LV2 host the names of the instruments in the midimap file which the host then can show on the piano-roll or inside the midi-editor. The example below is taken from Ardour. |
- | This particular feature was conceived by the help of Robin Gareus. | + | This particular feature was conceived by great help from Robin Gareus. |
{{ : | {{ : | ||
+ | |||
====Directed Choke Functionality===== | ====Directed Choke Functionality===== | ||
- | This feature expands on the group feature | + | This feature expands on the instrument |
The old groups were simply used to tie together instruments in the drumkit file so that when one instrument were being played in the group all others would be muted. | The old groups were simply used to tie together instruments in the drumkit file so that when one instrument were being played in the group all others would be muted. | ||
Consider for example the three instruments "Hihat Open", "Hihat Closed" | Consider for example the three instruments "Hihat Open", "Hihat Closed" | ||
- | This feature proved to be rather limited since all instruments in the group would always be affected and we therefore decided to introduced | + | This feature proved to be rather limited since all instruments in the group would always be affected and we therefore decided to introduce |
- | Directed chokes | + | |
- | This makes it possible to have "Hihat Open", "Hihat Half Open" and "Hihat Foot" | + | Directed chokes |
- | Futhermore it is possible to set the choketime on a pr. choke basis. Leaving the attribute out will use the default which is 68ms. | + | |
- | The XML for the choke section | + | Example; Consider again the three instruments |
+ | We can then have "Hihat Foot" choke "Hihat Open" and "Hihat Half Open" without "Hihat Open" and "Hihat Half Open" affecting each other as they would have if they were simply put into a group. | ||
+ | Futhermore it is possible to set the '' | ||
+ | The XML for the choke section | ||
<code xml> | <code xml> | ||
<?xml version=" | <?xml version=" | ||
Line 96: | Line 105: | ||
< | < | ||
... | ... | ||
+ | < | ||
+ | ... | ||
+ | </ | ||
+ | < | ||
+ | ... | ||
+ | </ | ||
< | < | ||
< | < | ||
- | <choke instrument=" | + | |
+ | | ||
<choke instrument=" | <choke instrument=" | ||
</ | </ | ||
Line 110: | Line 126: | ||
=====Drumkit Metadata===== | =====Drumkit Metadata===== | ||
It is now possible to add all sorts of meta information to the drumkits. Most of it is not yet used by the engine but it will be in the coming releases. | It is now possible to add all sorts of meta information to the drumkits. Most of it is not yet used by the engine but it will be in the coming releases. | ||
- | Expect for example to see the logo in the UI and the drumkit URL as a direct link. | + | Expect for example to see the logo in the UI and the drumkit URL as a direct link in the UI. |
<code xml> | <code xml> | ||
<?xml version=" | <?xml version=" | ||
Line 141: | Line 157: | ||
=====Experimental Cocoa UI support for MacOSX===== | =====Experimental Cocoa UI support for MacOSX===== | ||
Well; an image says more than a 1000 words ;) | Well; an image says more than a 1000 words ;) | ||
+ | |||
{{ : | {{ : | ||
- | As this feature is highly experimental we do not yet supply .dmg files for it, so users who wants to give it a try will have to compile the VST themselves. | + | |
- | Instructions | + | Because |
+ | Users who would like to give try DrumGizmo on OSX will therefore | ||
+ | |||
+ | Detailed instructions | ||
=====Other Minor Changes and Bugfixes===== | =====Other Minor Changes and Bugfixes===== | ||
====Set Default Path==== | ====Set Default Path==== | ||
- | A new button "Set default path" has been added to the filebrowser. | + | A new button, "Set default path" |
- | Clicking this button will store the current directory in the settings and new instances of the plugin will then open file browser | + | Clicking this button will store the path of the current directory in the global plugin |
{{ : | {{ : | ||
Line 158: | Line 179: | ||
[default=16] | [default=16] | ||
</ | </ | ||
- | This will make it possibler | + | This will make it possible |
====dgvalidator - drumkit validation tool==== | ====dgvalidator - drumkit validation tool==== | ||
- | A new tool, dgvalidator, | + | A new tool, dgvalidator, |
+ | |||
+ | Simply run it like this: | ||
+ | < | ||
+ | dgvalidator MyDrumkit.xml | ||
+ | </ | ||
+ | It will report any errors found to the terminal and return non-zero value ('' | ||
+ | |||
+ | Expect many more checks as well as more elaborate console error reporting to be added to this tool in the future. | ||
====Fix Cache Limit Storage==== | ====Fix Cache Limit Storage==== | ||
In previous versions when setting the disk-stream cache limit above 2GB it would erroneously be set to unlimited when reloading the session. | In previous versions when setting the disk-stream cache limit above 2GB it would erroneously be set to unlimited when reloading the session. | ||
This bug has now been fixed. | This bug has now been fixed. |