Further technical hurdles
‘I do this not because it is easy, but because I thought it would be easy.’ It seems like there’s still a lot to do before I can actually start recording. The legacy of the scorewriting workflow I got used to now comes back at me. So I need to learn new tools, adapt to new formats, and find a new workflow. However, I can do this because I want to do this. And one thing I know is: Going the hard way leads to many insights.
Scoring with a drum machine
In my last blog post I wrote about how I got used to save my ideas with a tablature editor and happened to compose and arrange with it. But that’s only half the story. Since the drums of a soundfont quickly sounded not vivid enough for me and I was curious to try out other free software, I started scoring drums with Hydrogen, the advanced drum machine.
Using the integrated Sound Library1 the drumkit Flac_GSCW-2, which is based on samples from Salvador Pelaez2, appealed to me. Hydrogen provides a lot of options to fine tune the sound of a drumkit. However, I have basically used it to better imagine the sound of the drums in my arrangements. And I ended up drictly feeding single instrument tracks, such as the kick, snare, etc., into separate tracks in Ardour in the recording step to do the fine tuning in the DAW bypassing all the advanced options of Hydrogen.
Exporting a Hydrogen Song to MIDI
My drums scores are currently saved in Hydrogen’s XML3 format and bound to the drumkits provided by Hydrogen. In order to work with the Tchimera Drum Kit, as described in the #Drums section of my pro audio documentation, I export the Hydrogen song (.h2song
) to MIDI.
However, importing the resulting .mid
file into an Ardour MIDI track—which has been initialized with an sfizz-multi instance loading the full_kit.sfz
of the Tchimera Drum Kit virtual instrument—doesn’t do the magic. While listening to the MIDI notes triggering the samples in sfizz I note that a crash cymbal is triggered instead of a low or floor tom, for example.
The reason is that the mapping of MIDI notes for the Flac-GSCW-2 drumkit in Hydrogen is different to the mapping of the Tchimera Drum Kit provided as SFZ file. The value in the Note field of the MIDI Output control bar on the lower right side of the image above reveals that the Snare instrument is mapped to note 37
, for example.
Flac_GSWC-2 default mapping
First, I write down the notes used in the Hydrogen drumkit Flac_GSCW-2. The following table shows the mappings and the General MIDI (GM) standard for reference:
Note | GM4 | Flac_GSCW-2 |
---|---|---|
36 | Electric Bass Drum | Kick |
37 | Side Stick | Snare |
38 | Acoustic Snare | Snare flam |
39 | Hand Clap | Snare side stick |
40 | Electric Snare or Rimshot | Snare roll |
41 | Low Floor Tom | Snare rim shot |
42 | Closed Hi-hat | Snare drag |
43 | High Floor Tom | Crash 14" |
44 | Pedal Hi-hat | Crash 14" choke |
45 | Low Tom | Crash 18" |
46 | Open Hi-hat | Crash 18" choke |
47 | Low-Mid Tom | Tom 13" |
48 | High-Mid Tom | Tom 12" |
49 | Crash-Cymbal 1 | Ride 22" - bell |
50 | High Tom | Tom 10" |
51 | Ride Cymbal 1 | Ride 22" |
52 | Chinese Cymbal | HH closed |
53 | Ride Bell | Tom 12" flam |
54 | Tambourine | HH open |
55 | Splash Cymbal | Tom 10" flam |
56 | Cowbell | HH pedal |
57 | Crash Cymbal 2 | Tom 13" flam |
58 | Vibraslap | Splash 6" |
At first glance, this mapping appears to have been made in sequence accounting for instruments to be triggered on notes you wouldn’t expect, if you are already familiar with the GM standard.
Tchimera Drum Kit default mapping
Next, I investigate the keymap.sfz file containing the mapping of the Tchimera Drum Kit as shown in this table:
Note | GM and GS5 | Tchimera Drum Kit |
---|---|---|
22 | HIHAT_CLOSED_EDGE | |
23 | HIHAT_HALF_BOW | |
24 | HIHAT_HALF_EDGE | |
26 | Finger Snap (GS) | HIHAT_OPEN_EDGE |
30 | Scratch Pull (GS) | TRASH_BOW |
31 | Sticks (GS) | TOM_4 |
32 | Square Click (GS) | TRASH_EDGE |
33 | Metronome Click (GS) | TOM_4_RIM |
35 | Acoustic Bass Drum | KICK_FREE |
36 | Electric Bass Drum | KICK_DAMP |
38 | Acoustic Snare | SNARE_CENTER |
39 | Hand Clap | SNARE_EDGE |
40 | Electric Snare or Rimshot | SNARE_RIM |
41 | Low Floor Tom | TOM_3 |
42 | Closed Hi-hat | HIHAT_CLOSED_BOW |
43 | High Floor Tom | TOM_3_RIM |
44 | Pedal Hi-hat | HIHAT_PEDAL |
45 | Low Tom | TOM_2 |
46 | Open Hi-hat | HIHAT_OPEN_BOW |
47 | Low-Mid Tom | TOM_2_RIM |
48 | High-Mid Tom | TOM_1 |
49 | Crash-Cymbal 1 | CRASH_1_BOW |
50 | High Tom | TOM_1_RIM |
51 | Ride Cymbal 1 | RIDE_BOW |
52 | Chinese Cymbal | CRASH_2_EDGE |
53 | Ride Bell | RIDE_BELL |
55 | Splash Cymbal | CRASH_1_EDGE |
57 | Crash Cymbal 2 | CRASH_2_BOW |
58 | Vibraslap | RIDE_EDGE |
In addition to General MIDI, the mapping expands down to note 22
including notes that are part of the General Sound or General Standard (GS) superset and even non-percussion notes (notes below 26
). And compared to GM and GS the mapping in the Tchimera Drum Kit appears to be rather less systematic. The reason is that the notes correspond to those used in typical e-drums hardware made by Alesis, Roland, and Simmons.
E-drums often provide different trigger zones to simulate different sounds produced by hitting a drum or cymbal at the bow or edge, for example. For this reason, there are six mappings for hihat sounds and three mappings for the snare. Though this doesn’t comply with the GM and GS standards it’s a good practice to not spread the notes across the whole spectrum.
Remapping in Hydrogen
The tables reveal that Flac_GSCW-2 and Tchimera Drum Kit are different drumkits providing different samples using different MIDI notes and a one-to-one match isn’t possible. However, to generate a MIDI export that triggers most of the instruments just fine (kick, snare, hihat, toms, cymbals), I can remap the notes used in Hydrogen to similar instruments of the Tchimera Drum Kit before exporting the song:
Note | GM and GS | Tchimera Drum Kit | Flac_GSCW-2 |
---|---|---|---|
22 | HIHAT_CLOSED_EDGE | HH closed | |
26 | Finger Snap (GS) | HIHAT_OPEN_EDGE | HH open |
36 | Electric Bass Drum | KICK_DAMP | Kick |
38 | Acoustic Snare | SNARE_CENTER | Snare |
40 | Electric Snare or Rimshot | SNARE_RIM | Snare rim shot |
41 | Low Floor Tom | TOM_3 | Tom 13" |
44 | Pedal Hi-hat | HIHAT_PEDAL | HH pedal |
45 | Low Tom | TOM_2 | Tom 12" |
48 | High-Mid Tom | TOM_1 | Tom 10" |
51 | Ride Cymbal 1 | RIDE_BOW | Ride 22" |
52 | Chinese Cymbal | CRASH_2_EDGE | Crash 18" |
53 | Ride Bell | RIDE_BELL | Ride 22" - bell |
55 | Splash Cymbal | CRASH_1_EDGE | Crash 14" |
Additional instruments in Hydrogen, such as Snare flam, Snare roll, Crash 14" choke, Splash 6" etc., are mapped to a range of notes unused in the Tchimera Drum Kit (60
to 69
):
Note | GM | Flac_GSCW-2 |
---|---|---|
60 | Low Bongo | Snare flam |
61 | High Bongo | Snare side stick |
62 | Mute High Conga | Snare roll |
63 | Open High Conga | Snare drag |
64 | Low Conga | Crash 14" choke |
65 | High Timbale | Crash 18" choke |
66 | Low Timbale | Tom 10" flam |
68 | Low Agogô | Tom 12" flam |
67 | High Agogô | Tom 13" flam |
69 | Cabasa | Splash 6" |
Motivation
This way I can maintain the note information (length, timing, velocity etc.) and decide to drag the note to another note for triggering another instrument while working with MIDI in Ardour or find other ways to produce the sound I intended. The additional instruments cannot occupy the same note as the regular Snare, for example. Otherwise, they would be discarded as a duplicate note on export.
Although it will take some time to get used to the features of the Tchimera Drum Kit and a lot of work will be required to find ways to maintain the intended sound of the drums I composed using Flac-GSCW-2 in Hydrogen, I am confident that I can tackle Dozen Lessons for Educationists well, soon.
-
Chapter 10. Sound Library in the Hydrogen documentation ↩︎
-
A drum-samples repository providing the source samples ↩︎
-
Chapter 21. Used File Types in the Hydrogen documentation ↩︎
-
Parameter interpretation for General MIDI (GM) Percussion in the Wikipedia ↩︎
-
Additional percussion notes for General Standard (GS) in the Wikipedia ↩︎