Difference between revisions of "Theory of Operation"
BiggerNoise (Talk | contribs) (Created page with "Connecting a Yamaha or Roland drum brain to the corresponding pads is usually pretty simple. However, if you want to use a Roland pad with your Yamaha brain you may end up hav...") |
Airflamesred (Talk | contribs) (→Note Selection and Velocity Scaling) |
||
(One intermediate revision by one other user not shown) | |||
Line 4: | Line 4: | ||
'''The purpose of this document is to explain the forest and where each tree fits.''' | '''The purpose of this document is to explain the forest and where each tree fits.''' | ||
+ | |||
+ | (I have pictures that I will add when the wiki allows me to) | ||
+ | |||
+ | == Block Diagram == | ||
+ | Consider the following (very simplified) block diagram: | ||
+ | [[File:Simple_block_diagram.svg|frame|Simple Block Diagram|none|800x800px]] | ||
+ | |||
+ | === Sampling === | ||
+ | The inputs from your pads are presenting some sort of analog signal. The purpose of sampling is to convert this signal into discrete events that can be dealt with more simply. | ||
+ | |||
+ | === Filtering === | ||
+ | Filtering is used to remove unwanted events from the event stream. A good example of this would be if a strike on one drum pad caused a faint strike to register on another pad that was connected to the same rack. MD allows a filter to be created that can reduce or eliminate this problem. | ||
+ | |||
+ | === Note Selection and Velocity Scaling === | ||
+ | This is the final step before transmitting a note. Based upon the input, a MIDI note and MIDI channel are selected and, based upon how hard the input was hit, a velocity is selected. MD provides some very nice tools for transforming input strike strength into a note velocity. | ||
+ | |||
+ | [[Input Types]] | ||
+ | |||
+ | [[Sampling]] |
Latest revision as of 22:24, 7 December 2014
Connecting a Yamaha or Roland drum brain to the corresponding pads is usually pretty simple. However, if you want to use a Roland pad with your Yamaha brain you may end up having to do some tweaking if you can even get it to work at all.
MegaDrum is agnostic with regards to the pad vendor and even supports a wide variety of DIY triggers. In order to do this, it needs to expose many more configuration options than the vendor specific units do. Unfortunately, having this large number of parameters available can make it difficult to understand just what parameter you should adjust when something is not behaving correctly. It can be hard to see the forest for the trees.
The purpose of this document is to explain the forest and where each tree fits.
(I have pictures that I will add when the wiki allows me to)
Block Diagram
Consider the following (very simplified) block diagram:
Sampling
The inputs from your pads are presenting some sort of analog signal. The purpose of sampling is to convert this signal into discrete events that can be dealt with more simply.
Filtering
Filtering is used to remove unwanted events from the event stream. A good example of this would be if a strike on one drum pad caused a faint strike to register on another pad that was connected to the same rack. MD allows a filter to be created that can reduce or eliminate this problem.
Note Selection and Velocity Scaling
This is the final step before transmitting a note. Based upon the input, a MIDI note and MIDI channel are selected and, based upon how hard the input was hit, a velocity is selected. MD provides some very nice tools for transforming input strike strength into a note velocity.