Freedrum midi commands
Some of you techies out there will be happy to hear that Freedrum can be controlled via standard MIDI messages. There are a few, per-sensor, global settings that are set via MIDI CC messages along with per-zone (zone==pad or drum) settings.
Don't forget that, depending on how you send these values you might need to add the standard 2-byte MIDI header to the data. Usually 0x8080 works fine for that.
Also note that none of these values are guaranteed to be stay the same forever. They are valid for v3 of the firmware but we don't promise more than that.
"Global" settings (affecting all zones of a sensor)
Sets the sensitivity of the sensor. This value is sort of an amplification factor: If you need to strike too hard to get a loud sound/velocity with a sensor, this is the value to tweak. Defaults to 10. For a foot pedal it's often better to set it higher, at 30 or so.
This is the lowest hit strength at which the sensor will generate midi on notes at all. Set it higher if you get a lot of false hits (notes when you were not intending to hit anything.)
default value: 12
This one affects how quickly the reference drum adjusts the drumkit. The reference drum is the currently most played drum/zone and it's used to eliminate drift. Each hit on the reference drum slightly orients the kit towards an angle where the reference drum is in a good position in its zone. This is to prevent gyro drifting. As long as you hit the reference drum now and then, the kit will remain stable and not turn.
This value determines how many pad hits we look at for determining what is a good reference drum. The higher this value, the less often we switch between reference drums.
There are also settings for the different pads/zones of the sensor. As of v3 of the firmware there are 6 different zones. The MIDI channel represents the zone (ranging from 0-5). By default zone 0 is the hihat, 1 is the snare etc.
Sets the midi note to send for this zone/pad.
With this one you can set the angle of a specific zone. Keep in mind that midi values range from 0-126, we scale this so that 126=360deg. By default, the drums on the lower layer (hihat, snare, floor tom) are at y=0deg and the upper layer (cymbals etc) are at y=50deg
The z-axis is the one point up from earth. By default, the snare is at z=0deg.
When you set this > 0 the sensor begins to stream x axis values as CC 107 messages. Values come at a rate of about 10/second.
To read one of the values from above, send CC 22 with value set to the corresponding CC. The sensor will answer with the currently set value for that parameter. Use the channel as zone number where applicable.
We also have a few MIDI Sysex messages. Sysex are sent as
0xf0 0x04 0xf7 - enter bootloader (for firmware update)
0xf0 0x05 0xf7 - turn off