DGEdit, the DrumGizmo drumkit editor
First things first: The DrumGizmo drumkit editor DGEdit is currently in a functioning, but very early phase of development. All of the essentials for importing, editing and exporting the raw drumkit recordings are there - but it is not exactly user friendly.
All of the drumkits you can download from this site was made using the editor. But keep in mind that it is not as simple as firing up the editor, clicking a bunch of buttons, and then you have a new drumkit. To get a functioning kit, you'll have to get your hands dirty. Specifically you'll need to create the drumkit and midimap xml files manually. This is NOT currently implemented in the editor.
With that said, the editor is certainly a huge help when creating the individual drumkit instruments (snare, kickdrum, toms, crashes and so on). The entire process of taking a bunch of wav files that you've recorded using, for instance, 16 microphones and then converting them into working instruments with hit energy levels is fully supported.
Not long ago DGEdit was split up into its own project. We don't currently have a fixed release of the editor, but if you know a thing or two about compiling, you shouldn't have much trouble getting it to work using the short how-to below.
Getting DGEdit
Clone from git
Pre-requisites
You might have to install some missing libraries, specifically “libao-dev” “libsndfile-dev” and “qt4-default”. These are the Ubuntu package names, they might be called something different on your system. There might also be more missing libraries. As we said, you need to get your hands dirty, but the configure part below should be helpful in figuring out what else you might be missing.
Clone and compile
Fire up a terminal and cd into your favorite programming projects folder. Then run the following command:
$ git clone http://git.drumgizmo.org/dgedit.git
Now run autogen.sh:
$ ./autogen.sh
Configure it:
$ ./configure
And finally, make it:
$ make
If all went well, you now have a fully working version of DGEdit located in the “src” folder. Go ahead and fire it up:
$ cd src
$ ./dgedit
But how does it work?
We're planning on doing some video tutorials. But since the editor is in such an early state, and the DrumGizmo file format still isn't finalized, we haven't put too much effort into it yet. This will change when we get a bit further along with the development.
Small disclaimer before we begin: All of the following is written from memory. I might have missed something or something is working slightly different than what I describe. It should be quite accurate though, but please let me know if you find any errors so I can correct them. - Lars Muldjord
For now, I will try to briefly explain the entire process below:
Mic up your drumkit with as many microphones as you like
Record varying hits of each drum ranging from very light to very hard hits. Be sure to get at least 30 hits in there per drum
Create a folder called “[kitname]_raw_files”
Export all of the tracks for each drum as wav into its own folder in the “[kitname]_raw_files” folder (“snare”, “tom1” and so on) with the filenames being the channel names (overhead_l, overhead_r, snare_top and so on)
Fire up DGEdit
Click “Add files…” and select ALL 16 wav files for ONE drum (or however many microphones you recorded it with, 16 is just an example)
Doubleclick the “main” file for that particular drum so it shows up in the waveform view. For instance, the snaredrums “main” file / channel would be “snare_top”. This is the wav file DGEdit will be doing its analysis on, so this step is VERY important.
Now click the “Generate” tab
In the waveform view, click and drag the threshold lines towards 0 until all hits are detected. You WILL need to use the zoom sliders to get this right. They are a bit weird right now, but they work.
Fiddle around with the settings in the “Generate” tab to make sure each hit is detected properly, and make sure you have a nice fadeout on each hit. The defaults should be ok'ish for most types of drums. But it depends on how well you recorded them, specifically if you remembered to make the pause between each hit long enough.
Pay attention to the “hit spread” in the bottom view of the editor (the view with all the little circles). This tells you how the energy levels are detected.
When you are satisfied, click “Generate”
Have a quick gander at the “Edit” tab. It basically just shows you the info of each hit as you click them in waveform view or velocity view.
Below the “Play samples” button there is a slider. Move it about 20% to the right. This slider tells the “Play samples” button how much of each hit you want it to play of each sample when clicking the button.
Click the “Play samples” button and listen to all of your glorious hits being played one after the other. Pay attention that the hits are in order of velocity. If a hit is too high or too low, move it with the mouse when it stops playing. Then click the button again and adjust again and so on.
If there are any hits in the VERY TOP and VERY BOTTOM that seem to be out of place, then click them and click “Delete” on the keyboard. The hits will now realign so that the next top or bottom hit is equal to the highest or lowest hit.
When you are satisfied, click the “Export” tab
Type in a prefix such as “snare_top” or whatever instrument you are currently working with. As good practice, DON'T USE SPACES or SPECIAL CHARACTERS! You might be able to, but it's not a good idea. We haven't tested it. Just keep it simple - letters and underscores
Now click the “…” button and choose where to export the instrument. We suggest making a toplevel folder named after your drumkit. In that folder, create folders for each instrument. If in doubt, download one of the drumkits we already made and see how we did it.
Now click the “Export” button and wait for all of the files to be generated. Shouldn't take long.
Now check that all files are there (an xml file + one wav file for each hit velocity) and quit the editor
Now relaunch the editor and complete all steps again for each of the other instruments
Done? Phew! That was quite a bit of hard work, right? Naaah, not so bad. The editor is actually quite useful :)
Next up you need to create the drumkit and midimap xml files that will bind all of the instrument xml files together into one single drumkit. We usually do this by simply downloading one of the current kits and use it as a template. It's quite simple really:
Copy one of the drumkit xml files from one of the current kits into your own kit folder. Rename it to [mykit].xml
Copy one of the midimap.xml files into your own kit folder. No need to rename this one.
Fire up Emacs or whatever text editor you usually use. Using one with xml syntax highlighting is recommended
Load the drumkit xml file and adjust everything as needed. I will not go into details with this at this point, you'll figure it out, or go ask us on irc, we'll gladly help you out :)
Same goes for the midimap file. Should be quite self explanatory. It's basically a map of the drums to certain midi notes.
Ok, so that's it! I know this howto is quite undercooked, but at the moment I (Lars Muldjord) felt it was better than nothing. We have quite a few people asking about the editor and we really want to encourage you to give it a go! It's not that hard when you've done it a couple of times, I promise.
Questions? Join us on IRC, Freenode network, #drumgizmo channel. :) Happy drumming!