This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
hihat_openness [2024/06/22 17:28] – [Idea 1: Sample Control] deva | hihat_openness [2024/06/22 18:36] (current) – removed deva | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ======Hihat Openness Control Feature - Design Document====== | ||
- | //This document does not describe a feature in DrumGizmo, but is rather a collection of ideas for how a future feature could be implemented.// | ||
- | =====Concept===== | ||
- | Midi drumkits can sometimes send midi events when the hihat pedal position changes. | ||
- | |||
- | No standard way exists for how this is done, but two major ways have been observed: | ||
- | - When the hihat is hit, different note-on events are sent depending on openness, and a specific note for when the hihat is completely closed. See [[https:// | ||
- | - When the hihat is hit, the same note-on event is sent, but when the openness changes a midi CC event is sent with the openness parameter. See [[https:// | ||
- | |||
- | Somehow map these events to control DrumGizmo sample engine in the most natural way possible. | ||
- | |||
- | See this [[https:// | ||
- | |||
- | =====Requirements===== | ||
- | Since no one way exists, the feature should be configurable by the users to make it work with whatever kit they have available. | ||
- | |||
- | It should be possible to also use this feature with a DAW, without a drumkit, using " | ||
- | |||
- | =====Idea 1: Sample Control===== | ||
- | Extend the features of the sample generation to include openness parameter, similar to the position parameter of the snaredrum. | ||
- | When a hihat note is played, select the appropriate one from the set. | ||
- | |||
- | The openness must be mappable through the midimap file, which needs extending with a new syntax for mapping either notes to " | ||
- | |||
- | If a hihat note is being played and the openness changes the following should happen: | ||
- | - The percentage of the current play position is calculated (eg. 40% in) | ||
- | - A new sample is selected from the new " | ||
- | - A fade-out is activated in the current sample. | ||
- | - The new sample starts playing also 40% into its duration, with a similar fade-in resulting in a cross-fade between the two. | ||
- | |||
- | =====Idea 2: Simple CC mapping===== | ||
- | Instead of extending the sample format, reuse what is and simply extend the midi map to be able to map a specific note with different CC values to different samples. | ||
- | Otherwise similar to //Idea 1//. |