Skip to Content

H2 DrumBody User Manual

 

 

drumbody top view

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Abstract:

The H2 Drumbody is a compact USB Midi device built into a small and solid aluminium chassis. It is developed as an easy to rebuild DIY product. The electronics are based on a Tennsy2 development board which is fully Arduino compatible. The concept and realization comes from me, Michael Wolkstein. Since 2007 I am a contributor to the “Hydrogen, an advanced drum machine for GNU/Linux” open source project. The drumbody source code is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License and available at the official “Hydrogen an advanced drum machine for GNU/Linux” homepage www.hydrogen-music.org. Detailed license info is available under http://creativecommons.org/licenses/by-nc-sa/3.0/.

 

 

 

1.0 DrumBody

The DrumBody main controls are eight velocity sensitive piezo triggers and three rotary controllers. Each of these controls can send freely assignable midi messages. The device has eight cinch jacks which are connected in parallel with the Drumbody build in piezo triggers. This allows users to connect external piezo trigger. The controls can be organised in virtual MAPS. One MAP contains the eight piezo triggers and the three rotary controllers. The three way toggle switch allows quick access to three of the ten virtual MAPS (your 'favourites'). You can freely assign any map to one of the positions of the Toggle Switch. This concept allows quick access to a total of 24 different piezo trigger actions and nine rotary controller configurations.

 

2.0 DrumBody Controls

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.1 Toggle Switch Settings

enable/disable the settings menu.

2.2 Toggle Switch Maps

toggle between three freely assignable maps.

2.3 Piezo 1 – 8

are velocity sensitive trigger pads which can send freely assignable midi messages. If a user assigns control change messages to a piezo, the message value is fixed. It is possible to adjust the value between 0 – 127. It is also possible to adjust several trigger parameters to customise the trigger sensitivity. Available (software) settings are threshold, sensitivity and bounce time. The input sensitivity for each trigger can also be adjusted via built-in trimmers (potentiometers).

2.4 Rotary 1 – 3

are high quality potentiometers which can send freely assignable midi messages.

2.5 Cinch in 1 – 8

are connected in parallel to the built-in piezo's 1 – 8. These connectors allow users to connect eight external drum trigger modules. The sensitivity of the externally connected drum triggers can be adjusted just like the internal triggers.

2.6 LCD

In normal operating mode it displays the name of the currently loaded map. In setup mode it displays the menu navigation and the adjustable parameters.

 

2.7 USB connector

The connector is a mini USB connector. The interface is called 'H2 DrumBody' and has a transfer rate of 12Mbit/s (aka “full speed usb”).

The Device need no driver installation on your computer. It act as a universal USB midi device.

 

 

3.0 DrumBody Setup Menu

  • allows users to adjust general system settings

  • gives access to detailed Map settings where you can assign midi messages, parameters, values, minimum and maximum values and map names

  • save/load Maps into/from map ID 1 - 10 into/from quick access Maps 1 – 3

3.1 Menu navigation

  • Rotary 2 allows you to navigate trough the menu and increment/decrement option values

  • Piezo 7 (enter key) allows you to enter the selected menu item or confirm adjustments you made to one of the option values

  • Piezo 8 navigate back

 

To navigate into a menu section, for example “SETUP → SYSTEM → Threshold”

  1. press the toggle switch settings button to enter the setup menu

  2. rotate rotary 2 until “System” is shown on the bottom LCD display row

  3. press the enter key (piezo 7) to enter the SYSTEM menu level. Now the LCD display shows “SYSTEM” on the top LCD display row

  4. rotate rotary 2 until “Threshold” is shown on the bottom LCD display row

  5. press the enter key (piezo 7) to enter the THRESHOLD menu level. Now the LCD displays “THRESHOLD” in first row

Once you reach “SETUP → SYSTEM → Threshold”, you must use rotary 2 to adjust the Treshold value. The enter key (piezo 7) will save the parameter value to memory (eeprom). To leave this menu section you can press navigate back (piezo 8) or toggle off the toggle switch settings button.

All system options follow the same menu structure. The top LCD row displays the option (for example PIEZO BOUNCE) and the bottom row displays two values: on the left, the active value and on the right you can see the value that can be controlled by rotary 2. Pressing enter will instantly apply the new value to the MAP Memory.

 

Option view example PIEZO BOUNCE time

 

 

 

 

 

 

 

3.2 Menu structure

  • System

    • Threshold

    • Piezo bounce time in ms

    • Piezo sensitivity

  • Map-Menu

    • Edit Map

      • Name

      • Piezo 1...8

        • Message

        • Channel

        • Parameter

        • Value // needed by piezo's and CC messages

        • Min Value

        • Max Value

      • Poti 1...3

        • Message

        • Channel

        • Parameter

        • Value // unused here

        • Min Value

        • Max Value

    • Load Map

    • Save Map

    • Restore Default Maps

3.3 System options

  • Piezo Threshold

  • Piezo Bounce

  • Piezo Sensing

Piezo Threshold

adjust the minimum velocity level needed to trigger a midi action. Low values will give the piezo's a more dynamic character but might introduce cross talk.

Piezo Bounce

adjust the time in milliseconds that the piezo is blocked after a hit. This is important to prevent double triggering a midi message. If you notice that 1 hit fires two or more midi messages at once you should increase the bounce time. A good value is around 30ms. The DrumBody handles the bounce time period for each trigger separately. 30ms allows 33 hits per second on a drum trigger. I really doubt if even the fastest drummer can reach such a frequency :).

Piezo Sensing

adjust the velocity min/max mapping (in percent) of the drum trigger on your controller.

To explain this, we will need to take a closer look at some simple background theory :). If you hit a piezo trigger, the DrumBody will record an 10bit value (0-1024). In theory 1024 represents the maximum velocity of the piezo output which is equivalent to 5V. In real life the piezo's output signal will depend on the environment and how it is mounted. This means that our piezo may never produce the maximum level of 5V. In this case we can adjust the piezo sensing to a lower level. That way it is possible to use the full velocity range even if a piezo only produces a 3V output signal.

Example:

A powerful hit on your trigger only triggers a note message with a velocity value of 80, where you expect 127 (this is the maximum possible midi note velocity). In this case you should simply reduce the piezo sensing from 100 to 60 and try again. Now the same hard hit will produce a midi message with a velocity value of 126. You have now adjusted your system so it uses the maximum possible dynamical range.

 

Tip :)

Use a midi message monitor application if you want to adjust piezo settings.

 

3.4 Map Menu Options

Edit-Map Menu

Name

Enter a name for the currently active map. Editing a name begins at the first character in the second row. Simply turn rotary 2 until the character you are searching for is displayed. Pressing enter (piezo 7) confirms the first character and jumps to the next character and so on. After choosing the last character (pos 8) pressing enter two times will store the new name in the eeprom. You can go back to a previous character with the backward (piezo 8) button.

Option view example Edit-MAP Name

 

 

 

 

 

Piezo 1...8 and Rotary 1...3

select the controller you want to edit the map option of. The available Controller Options for each controller are...

Message

change the midi message. Available messages are Note On, Control Change, MMC and Program Change. Important: if you choose MMC message you also have to set a parameter to select the MMC message typ. See chapter 5.1 MMC Massages.

Channel

select the midi channel (1 – 16). Note that MMC messages ignore this setting.

Parameter

select a parameter between (0 – 127). If the controller is configured to send MMC messages, select a parameter between 0 – 7. See chapter 5.1 MMC Massages.

Value

is only applicable for Control Change messages that are assigned to piezo triggers. It allows you to create a fixed Value CC controller. It makes no sense to use the trigger velocity as a CC value.

Min

The Min/Max options allows you to map controller values to a range between Min and Max. On piezo triggers this is usefully to setup the dynamic range of a piezo.

You can make a piezo static by setting Min and Max to the same value. Or you could invert a Rotary if you set Min to 127 and Max to 0. You can also define the range for a Rotary from Min 0 to Max 10. This is usefully if you plan to use it to select patterns in Hydrogen with the “SELECT_NEXT_PATTERN_CC_ABSOLUT” midi action (and your song has 10 different patterns).

 

Max

See Min.

 

Load-Map

load a map (Map 1 - 10) from eeprom to one of the quick access virtual maps (your 'favourites'). To chose the map destination simply set the “toggle switch maps” button to the position in which you want load the map and apply.

Option view example LOAD-MAP

 

 

 

 

 

Info: Please read chapter 6.0 and 7.0 about internal map handling and eeprom memory.

Save-Map

save the currently active virtual map to an eeprom Map destination (1-10).

 

Option view example SAVE MAP

 

 

 

 

 

Info: Please read chapter 6.0 and 7.0 about internal map handling and eeprom memory.

Restore Default Map 1 – 3

The DrumBody comes with three pre-defined maps: 1. Drumming, 2. Transport and 3. Tempo Control. This option allows you to restore these three maps. Maybe we can call this... restore factory defaults :)

 

Info:) Please read chapter 6.0 and 7.0 about internal map handling and eeprom memory.

 

 

4.0 General Map Structure

4.1 Example map

Controller

Midi

Message

Midi

Channel

Parameter

Value

(optional)

Value

Min

Value

Max

Piezo 1

MMC*

-

0

-

-

-

Piezo 2

MMC*

-

2

-

-

-

Piezo 3

CC*

1

69

5

0

127

Piezo 4

Note on

10

38

-

30

120

Piezo 5

Note on

10

39

-

30

100

Piezo 6

Note on

10

40

-

15

127

Piezo 7

CC**

1

70

1

0

127

Piezo 8

CC**

1

71

1

0

127

Poti 1

CC

5

40

-

40

60

Poti 2

CC

5

41

-

127

0

Poti 3

CC

5

42

-

0

127

* If you define a MMC Message, the 'parameter' value holds the MMC message type. See table MMC Messages.

** If you define a CC Message for a piezo trigger pad, the value is fixed. This means you have to define a value for this controller.

 


5.0 Supported Midi Messages

  • Note On

  • Control Change

  • sysEx MMC

  • Program Change //not supported for the moment. Will be added in the next firmware revision

5.1 MMC Messages

MMC messages need a parameter between 0 – 7. This parameter defines the MMC message type. Available messages are...

MMC MESSAGE

PARAMETER

PLAY

0

PAUSE

1

STOP

2

RECORD READY

3

REWIND

4

RECORD STROBE

5

FASTFORWARD

6

RECORDEXIT

7

 

 

 

6.0 Info about internal Map handling

The drumbody holds 10 internal memory banks to store Maps. Each Map is stored at a fixed place in it's memory. You can load each map into one of the three fast accessible virtual Maps that you can recall using the “toggle switch maps”. If you load map 6 to switch position one, for example the drumbody remembers this and map 6 will be loaded into switch position one when the device boots.

Important: If you edit the map that is assigned to “toggle switch maps” position 1, the changes will be stored directly into the map that is linked to 'position 1'. In this example : map 6.

6.1 Default Maps 1 - 3

On eeprom position 1-3 are the predefined h2 default maps. Named 'Drumming', 'Transport' and 'TempoCtr'. Of course you also can edit and overwrite these maps if you want. You can restore these three maps by going to SETUP → MAP-MENU → Restore. But remember that this will overwrite your custom settings in memory banks 1-3. Banks 4 – 10 will not be affected by this action.

 

 

7.0 Info about eeprom memory

The drumbody has a 1kbyte eeprom memory. This allow us to save system settings and maps into the eeprom. The advantage of this is that the eeprom can save data even when power is removed, so the drumbody will never forgot your settings and maps :). The disadvantage is that an eprom has a maximum number of memory rewrites. A realistic number is around 100000 - 300000 (the manufacturer guarantees up to 100000 rewrites before the chip dies). Ok, so “100000” means that if you save a map 20 times per day every day of the year, the drumbody brain will live approximately 13 years.

 

 

8.0 License Information


H2 DrumBody Manual by Michael Wolkstein is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

 

AttachmentSize
drmbodytop.png68.31 KB
drmbodycontrols.png92.94 KB
menstr.png36.49 KB
editmapname.png41.95 KB
loadmap.png35.87 KB
savemap.png40.06 KB