Fixed channel map

Moderators: MattKingUSA, khz, muldjord, deva

Post Reply
User avatar
AlexTheBassist
Established Member
Posts: 353
Joined: Mon May 19, 2014 3:44 am
Location: Russia, Moscow
Been thanked: 1 time

Fixed channel map

Post by AlexTheBassist »

As I constantly am in search for a new sound, I'd like DrumGizmo to have standardized output channel map, so I won't need to reroute all 16 channels when choosing an appropriate kit for current production. I know it's virtually impossible to make all the channels fixed, but it's still possible to hard-map things like kick, snare, basic cymbals and so on. If I want to replace a drumkit now, I need to delete a bunch of busses and reassign all the sidechains after I load another XML and instrument map. Eliminating this fuss (at least a part of it) will be more than appreciated by the community.
Last edited by AlexTheBassist on Thu Aug 23, 2018 10:08 am, edited 1 time in total.
Being creative does not imply being lazy, stupid, or illiterate.

Working in Harrison Mixbus and Ardour on KDE Neon + KXStudio.
JamesPeters
Established Member
Posts: 188
Joined: Fri Jun 29, 2018 6:35 pm
Has thanked: 8 times
Been thanked: 15 times

Re: Fixed channel map

Post by JamesPeters »

Given that the channelmap depends on the samples and audio channels used (what the person recording the samples intends), this might be tricky. Recommending that a certain guideline to be followed...that might help.

Anyway you can edit your kit.xml files to rearrange the order of the channels, if they're inconsistent. It won't account for different/additional channels from one kit to the next (if the samples/kits were made by different people who recorded different mic setups), but you could make the order of the most significant channels consistent at least. Editing the order of the channels is quick and easy. You just need a suitable XML editor (you want to ensure you're saving the file as proper XML when you're done editing).

Between <channels> and </channels>, all the <channel name="xxx"/> entries: just cut and paste them in the order you want.

I'd made some kits and later decided to move the cowbell channel before the room/OH channels. All I had to do was move the <channel name="Cowbell"/> entry up a few lines.
ivoaudio
Established Member
Posts: 11
Joined: Wed May 30, 2018 12:28 pm

Re: Fixed channel map

Post by ivoaudio »

DrumGizmo is open for everyone who wants to create his/hers own drumkit. So, it´s difficult to enforce a fixed channel map.

Whereas I have the same difficulty whenever I try different kits on a given musical piece, I recognize that the possibility of customizing the xml files should suffice.
User avatar
AlexTheBassist
Established Member
Posts: 353
Joined: Mon May 19, 2014 3:44 am
Location: Russia, Moscow
Been thanked: 1 time

Re: Fixed channel map

Post by AlexTheBassist »

JamesPeters wrote:Recommending that a certain guideline to be followed...that might help.
This looks like a good compromise. Anyway, most of kit elements and mic setups are similar: the “standard” mics that are always present are kick, snare, hihat, overheads, toms (by quantity) and room.
JamesPeters wrote:Anyway you can edit your kit.xml files to rearrange the order of the channels
Yes I can, but most of DrumGizmo users have no idea about what is an XML file. They want to play drum parts, not to mess around with some “code” they'll see inside that mysterious file.
JamesPeters wrote:You just need a suitable XML editor
Did you mean vi/vim?
ivoaudio wrote:So, it´s difficult to enforce a fixed channel map.
As James stated above, it's still possible to create some guidelines. Of course, it's a free app and a free world, but it doesn't mean that anybody who wants to try another kit should spend 10-20 minutes on rerouting all the stuff just because the drumkits are built too differently. Following such guidelines should be considered as an act of respect to both users and creators community. And, as you probably know, time is expensive when you're going commercial. Don't we want Linux audio to grow bigger? If we do, then we should make it comfortable to use. Almost everything is very usable today, but unfortunately it's not the best Linux drum machine.

As an example, we could also take EzDrummer's approach: it's got 32 fixed role channels, which seems to be enough for any case.
Being creative does not imply being lazy, stupid, or illiterate.

Working in Harrison Mixbus and Ardour on KDE Neon + KXStudio.
CrocoDuck
Established Member
Posts: 1133
Joined: Sat May 05, 2012 6:12 pm
Been thanked: 17 times

Re: Fixed channel map

Post by CrocoDuck »

JamesPeters wrote:Anyway you can edit your kit.xml files to rearrange the order of the channels, if they're inconsistent. It won't account for different/additional channels from one kit to the next (if the samples/kits were made by different people who recorded different mic setups), but you could make the order of the most significant channels consistent at least. Editing the order of the channels is quick and easy.
I am not familiar at all with this, but this seems to me something a perl or bash script could automatize nicely, at least at first sight.
JamesPeters
Established Member
Posts: 188
Joined: Fri Jun 29, 2018 6:35 pm
Has thanked: 8 times
Been thanked: 15 times

Re: Fixed channel map

Post by JamesPeters »

@CrocoDuck:

There are only 16 channels, so editing the XML file takes very little time. A few cut/paste operations, that's it.


@AlexTheBassist:

The XML editor I used is called "XML Copy Editor" (I'm currently using Windows, not Linux). I searched for "open source XML editor" and it was the first one that I found.

It took me about 1 minute total to download the XML editor and edit the channel arrangement. Of course, knowing that I could edit the order of the channels was required (I just guessed, and I was right). If anything, focusing on *that* might be more important: having clear documentation of that so people can do that themselves. I'd argue that documentation for DrumGizmo in general is a bit slim at the moment; I've had to look around various websites and watch videos to understand what the different features do (and I still misunderstood some of it).

I understand that you want something done a certain way, and also that others might appreciate the same thing. But keep in mind DrumGizmo is open source and it's meant to accommodate a channel mapping that anyone wants for any reason. Since some people will want to create a channel map in a different order, then release their kits for free, I look at it more like "hey this awesome kit is free, and if I find part of it inconvenient I'll do a very minor change to it by editing an XML file like I'd edit any document". :) No matter how many kits are going to be available for DrumGizmo, there will always be enough differences among them that they can't just be swapped around without redoing the mix for some reason (channel map, different busses, volume levels, whether it was recorded with bleed or not, etc.) I'd consider it like trying multiple different drum plugins, how different they can be from one another. That's a more realistic way of thinking about it. So your channel map arrangement is one of many things you'll have to deal with, and that'll never go away.

As for DrumGizmo users "messing around with code"...well, this is a Linux forum...I figure if someone is using Linux, editing the order of channels in the XML file is the least of the challenges they will have faced with Linux! :D

As for EZdrummer, it has some limits you may not even be aware of such as: how the MIDI mapping is different for different kits (despite the fact they're all released by Toontrack); how you can't necessarily properly swap kit pieces from one kit to the next (the channel mapping is sometimes different due to busses being named differently, or certain mic channels not being used from one kit to the next); or how the entire kit "sounds a certain way" even in the most basic aspect of how it's EQed compared to loading the same kit pieces individually into a "different kit" irrespective of using the most basic/dry mixer preset available (take Snare A from Kit A and put it in Kit C, you'll hear differences even if you try to "mix" it the same in the mixer). As flexible as it is, it's certainly not perfect.
User avatar
AlexTheBassist
Established Member
Posts: 353
Joined: Mon May 19, 2014 3:44 am
Location: Russia, Moscow
Been thanked: 1 time

Re: Fixed channel map

Post by AlexTheBassist »

CrocoDuck wrote:I am not familiar at all with this, but this seems to me something a perl or bash script could automatize nicely, at least at first sight.
I don't think so. When it's still possible, writing such a script is a job for a programmer, it has nothing to do with musicians. I surely can write something like that, but that wouldn't be all automatic. Besides that, I'd prefer to spend my time writing songs, recording or mixing rather than writing some script I'll use for 1/1000th of time it takes to create it. A better approach for everybody is either going EzDrummer-alike or following guidelines which I suggest to coin here, in public, with the help of the biggest Linux audio community.

I'd like to start a poll on how exactly this will be done if DrumGizmo's devs react positively on that suggestion. I hope they are highly interested in bringing some standardization to kits and the drum machine itself, as it significantly simplifies a whole lot of usage patterns, thus covering a much wider audience than it has for now. I don't know anybody who can properly route DrumGizmo besides one very experienced guy who's too lazy to try it because commercial drum machines offer easier and more transparent ways to route everything as it should be. Other people using proprietary drum software (of course it's stolen) use just two first channels (mixed output which has it all) and have no freaking idea about how does it all work: miking the real drumkit, mixing a real drumkit, inverting a bottom snare mic (and why it's usually a necessity) etc… They just put it on a mixer strip and feed MIDI there. Yes, I personally hate this kind of people, I bet most of us experienced guys do too, but we should listen to their f-d up opinions also. Having a faster way to try a new kit is good for everybody, regardless of skill, intelligence level and experience. I of course don't demand anything, but I don't think my idea is worthless.
Being creative does not imply being lazy, stupid, or illiterate.

Working in Harrison Mixbus and Ardour on KDE Neon + KXStudio.
ivoaudio
Established Member
Posts: 11
Joined: Wed May 30, 2018 12:28 pm

Re: Fixed channel map

Post by ivoaudio »

AlexTheBassist wrote:
JamesPeters wrote:Recommending that a certain guideline to be followed...that might help.
This looks like a good compromise. Anyway, most of kit elements and mic setups are similar: the “standard” mics that are always present are kick, snare, hihat, overheads, toms (by quantity) and room.
Almost every drum kit has, at least, one bass drum, one snare drum, one rack tom, one floor tom, one ride cymbal, one crash cymbal, one hi-hat.
Drum kits with two bass drums are very popular in rock music.
Overhead mics could be used to cover most cymbal setups.
How about this:
  1. Ambience L
  2. Ambience R
  3. Overhead L
  4. Overhead R
  5. Ride Cymbal
  6. Hi-hat
  7. Bass Drum 1
  8. Bass Drum 2
  9. Snare Top
  10. Snare Bottom
  11. Tom 1
  12. Tom 2
  13. Tom 3
  14. Tom 4
  15. Extra 1 (Cowbell)
  16. Extra 2 (Snare 2)
AlexTheBassist wrote:
JamesPeters wrote:Anyway you can edit your kit.xml files to rearrange the order of the channels
Yes I can, but most of DrumGizmo users have no idea about what is an XML file. They want to play drum parts, not to mess around with some “code” they'll see inside that mysterious file.
Unless they are typical Linux users.
AlexTheBassist wrote:
JamesPeters wrote:You just need a suitable XML editor
Did you mean vi/vim?
Or gedit... I used to edit html in notepad. I believe I could move xml tags around.
AlexTheBassist wrote:
ivoaudio wrote:So, it´s difficult to enforce a fixed channel map.
As James stated above, it's still possible to create some guidelines. Of course, it's a free app and a free world, but it doesn't mean that anybody who wants to try another kit should spend 10-20 minutes on rerouting all the stuff just because the drumkits are built too differently. Following such guidelines should be considered as an act of respect to both users and creators community. And, as you probably know, time is expensive when you're going commercial. Don't we want Linux audio to grow bigger? If we do, then we should make it comfortable to use.

Ok. I can agree with this "time is money" in a studio environment. Even now, I fell like it´s too much trouble just to switch from, say, Crocell Kit to Aasimonster.
AlexTheBassist wrote:Almost everything is very usable today, but unfortunately it's not the best Linux drum machine.
Now I lightly disagree. I am a drummer. I have little use for a "drum machine". All I care for is good sounding and responsive, realistic drums. Let me do the playing and editing (mostly tweaks, in a good day).
AlexTheBassist wrote:As an example, we could also take EzDrummer's approach: it's got 32 fixed role channels, which seems to be enough for any case.
I don´t know this EzDrummer, but 32 channels are too much, most of the time. Remember, we are not talking about MIDI notes, wich will remain hidden from view when we are mixing. 32 channels of drums and cymbals take a lot of screen space. Just imagine the mixer window, with the drums and all the other insruments.
User avatar
AlexTheBassist
Established Member
Posts: 353
Joined: Mon May 19, 2014 3:44 am
Location: Russia, Moscow
Been thanked: 1 time

Re: Fixed channel map

Post by AlexTheBassist »

JamesPeters wrote:The XML editor I used is called "XML Copy Editor" (I'm currently using Windows, not Linux). I searched for "open source XML editor" and it was the first one that I found.
JamesPeters wrote:XML is plainly text with tags (much similar to HTML), there's no need in a special app for that.
I understand that you want something done a certain way, and also that others might appreciate the same thing. But keep in mind DrumGizmo is open source and it's meant to accommodate a channel mapping that anyone wants for any reason. Since some people will want to create a channel map in a different order, then release their kits for free
I'm talking “fits for generic use out of the box, flexible when needed” approach. Of course I'm not talking about eliminating possibility to rearrange channels, it's about most comfortable mapping for majority of users. I'm not scared of editing a text file, and I always use GM-standardized note mappings I make myself (because most drumkit creators don't give a flying F about GM specs, which is bizarre and is another problem we need to discuss here), but I'm not the only DrumGizmo user. Most of them aren't really capable of writing in their own native language, how do you expect them to edit XMLs with such “technical” content?
JamesPeters wrote:As for DrumGizmo users "messing around with code"...well, this is a Linux forum...I figure if someone is using Linux, editing the order of channels in the XML file is the least of the challenges they will have faced with Linux! :D
Today's Linux is times simpler than Windows for a generic user. Installation is much more automatic, prepared distributions like KXStudio enable users to install (and automatically preconfigure!) all the software they need. Package managers bring latest updates to all installed software by a single click and a password entry, unlike Windows, which forces users to browse gazillions of sites just to update a small toolkit. Installation of new software is more like browsing Apple Store or Google Play, rather than browsing the web with a regular browser just to get an installer package, which in result can turn out unsuitable for your system. Yes, most of the guides still give you terminal commands, but that's because it's still more convenient (and times faster) than any GUI available on any platform. By the way, I can't recall last time I needed to tweak Linux in a way that scares an average PC user.
JamesPeters wrote:As for EZdrummer, it has some limits you may not even be aware of such as: how the MIDI mapping is different for different kits (despite the fact they're all released by Toontrack); how you can't necessarily properly swap kit pieces from one kit to the next (the channel mapping is sometimes different due to busses being named differently, or certain mic channels not being used from one kit to the next); or how the entire kit "sounds a certain way" even in the most basic aspect of how it's EQed compared to loading the same kit pieces individually into a "different kit" irrespective of using the most basic/dry mixer preset available (take Snare A from Kit A and put it in Kit C, you'll hear differences even if you try to "mix" it the same in the mixer). As flexible as it is, it's certainly not perfect.
I know about all this stuff, but main channels (kick, snare, overheads, room, hihat) are always on their places, no matter which kit you open. This is exactly what I want in default channel configurations of DrumGizmo kits. It's easy to re-route and re-pan 3 toms to 4 or vice versa, it's not a big fuss if an additional ride mic is replaced with a china mic or a third (center) overhead, but it's a pain to re-route all 16 channels to respective busses. Especially when a drummer you're about to record is nervously battering a kit, waiting for you to make it sound right.
Last edited by AlexTheBassist on Thu Aug 23, 2018 7:54 pm, edited 2 times in total.
Being creative does not imply being lazy, stupid, or illiterate.

Working in Harrison Mixbus and Ardour on KDE Neon + KXStudio.
User avatar
AlexTheBassist
Established Member
Posts: 353
Joined: Mon May 19, 2014 3:44 am
Location: Russia, Moscow
Been thanked: 1 time

Re: Fixed channel map

Post by AlexTheBassist »

ivoaudio wrote:How about this:
  1. Ambience L
  2. Ambience R
  3. Overhead L
  4. Overhead R
  5. Ride Cymbal
  6. Hi-hat
  7. Bass Drum 1
  8. Bass Drum 2
  9. Snare Top
  10. Snare Bottom
  11. Tom 1
  12. Tom 2
  13. Tom 3
  14. Tom 4
  15. Extra 1 (Cowbell)
  16. Extra 2 (Snare 2)
That is very much the same thing that's rolling in my head, but I'd focus on classic rock kit instead. They are still more popular.
ivoaudio wrote:Now I lightly disagree. I am a drummer. I have little use for a "drum machine". All I care for is good sounding and responsive, realistic drums.
I see more drummers buying an electronic kit for home use. They are the biggest user group for acoustic drum samplers after studio engineers.
Being creative does not imply being lazy, stupid, or illiterate.

Working in Harrison Mixbus and Ardour on KDE Neon + KXStudio.
JamesPeters
Established Member
Posts: 188
Joined: Fri Jun 29, 2018 6:35 pm
Has thanked: 8 times
Been thanked: 15 times

Re: Fixed channel map

Post by JamesPeters »

ivoaudio wrote: How about this:
  1. Ambience L
  2. Ambience R
  3. Overhead L
  4. Overhead R
  5. Ride Cymbal
  6. Hi-hat
  7. Bass Drum 1
  8. Bass Drum 2
  9. Snare Top
  10. Snare Bottom
  11. Tom 1
  12. Tom 2
  13. Tom 3
  14. Tom 4
  15. Extra 1 (Cowbell)
  16. Extra 2 (Snare 2)
Well...I'm making kits for DrumGizmo, and my map is going to be this:
  1. SnareTop
  2. SnareBtm
  3. KickIn
  4. KickOut
  5. KickSub
  6. Tom1
  7. Tom2
  8. Tom3
  9. HiHat
  10. Cym_L
  11. Cym_R
  12. Cowbell
  13. OH_L
  14. OH_R
  15. Room_L
  16. Room_R
The order is the way I want it to be, but even if I re-ordered it, consider the differences. I have 3 kick proximity mics, which a lot of people won't. (You could file "KickSub" under "extra" if you want, but then consider the grouping and how it'd have to be rearranged since you want that with your other kick proximity mics). I have cymbals in their own OH buss to allow for better volume adjustment of them relative to how "roomy" the kick/snare/toms sound (if you want a "big kit" sound but don't want the cymbals being too loud, or if you want a dry "metal kit" sound and find the cymbals too quiet because the OH is turned down too much). Since there are several cymbals I can't give them each a proximity mic channel. I also only have 3 toms (although for one of the kits which is more suited to "metal" I'll have an edited version of Tom3 that's deeper sounding, and it'll have to go through the same channels as the "normal" Tom3 or I'll sacrifice the cowbell channel).

So it's easy enough to say some of the channels should be the same for all kits, and even suggest an order. But the differences will happen depending on the recording process and intent of the kits. It's unavoidable, unless you want people to limit their recording process and intent of the kits (considering the channel map first, then recording). I didn't have that option in the first place since the samples I'm using weren't recorded by me (they're the Tchackpoum kits).

Here's a recommendation. I use REAPER. It allows saving of effects chains and track templates. I don't know if the DAWs you're using allow for it, but if it does: load the kit you want and all the channels in the order you want, set the levels, etc. Then save it as a track template. Do the same for whatever kits are different enough in their channel layouts/sound/volume levels. Now when you want to compare the CrocelKit to DRSkit, you can load a track template for one, then remove it and load the track template for the other. The process is as quick as loading a drumkit to RAM (the rest, adding/removing channels in the DAW mixer) is instantaneous.

As for "out of the box" use, each kit already offers that as much as reasonably possible. Since there will always be differences from one person's kits to another person's kits, there will be things like this which prevent it from being an "automatic swap" (let alone the other differences I mentioned). Saving track templates makes sense. Hopefully your DAW allows this.

On the note of the MIDI map: I wanted as much compatibility as possible but I realized it's not easy. If a person uses Ezdrummer (etc.) then wants to use a kit that I've made, I have different kit pieces. (I was also planning on having round-robin alternates on adjacent notes, but it turns out I won't have to do that, so that's one problem solved.) Also Addictive Drums uses different maps from Ezdrummer (and I say "maps" because Ezdrummer doesn't just use one map). So if I target GM drums as the compatibility to achieve, I get this map I'm not comfortable with (toms mixed in with cymbals, some of my articulations will have to be outside that range too, etc.) I'm almost forced to aim for the default Ezdrummer map (or Addictive Drums) map if I want to bother with any kind of compatibility in that regard. At least in REAPER I can use a MIDI remapping plugin that takes no noticeable CPU, to remap the notes how I want. Hopefully other DAWs have this ability too. (Note: this MIDI remapping plugin can be saved in a track template along with everything else in REAPER.)

I'm saying that the most "simple, out-of-the-box" compatibility will not happen with DrumGizmo's kits (among various kit authors). It's about the same as expecting the same level of compatibility among Ezdrummer, Addictive Drums, Kontakt drums (various different MIDI maps and channel maps for those kits too). Even suggesting people follow a certain channel map...it's kind of pointless since chances are they're going to have proximity mics for snare, kick, toms (and whatever differences they have, they won't want to specifically conform them to a recommended channel map).

The benefit of course is that if you can save track templates (or something like that, depending on the DAW), you should still be able to quickly exchange kits to try them with a given MIDI file.

(edit) I forgot to mention that since I'm using Windows (at the moment), I can't use DGEdit (it's only for Linux). I don't know if it allows for quick rearranging of the channel map, but if it does I'd say that covers things fairly well. If not maybe request that DGEdit has this functionality added.

Either way (DGEdit or "manually" editing XML files), you realize that editing a kit is only necessary once and it's quick. So when you first download a kit, yes it's understandable that the channel map might annoy you. But it's something that will only bother you once if you edit the kit XML file. The next time you load the kit, the channels will be arranged the way you want them.
ivoaudio
Established Member
Posts: 11
Joined: Wed May 30, 2018 12:28 pm

Re: Fixed channel map

Post by ivoaudio »

JamesPeters wrote:Either way (DGEdit or "manually" editing XML files), you realize that editing a kit is only necessary once and it's quick. So when you first download a kit, yes it's understandable that the channel map might annoy you. But it's something that will only bother you once if you edit the kit XML file. The next time you load the kit, the channels will be arranged the way you want them.
Well, in the end, this is exactly what I think.

It's useless to force complete or even partial channel compatibility.

Besides that, there is nothing to prevent someone of recording any other instrument and creating a DrumGizmo version of, say, an orchestra percussion section. Hey, that would be nice!
Post Reply