MIDI Drum Programming in Ardour

So, if I understand you correctly drum programming is done completely in Muse (never used it) then the audio is captured in Ardour.
What are the major features that Muse has and which Ardour seems to be lacking?
(I do all my drum programming inside Ardour today - initially I had used H2)

MusE has a “special way” how to display a MIDI drum track. Instead of a piano roll you see one drum instrument per line and you can move those lines up and down to group e.g. all toms or hihat sounds together, like shown in this screenshot:

And this is what I definitely miss in Ardour (well, I still have 6.9 here, not sure if since 8.x something was changed here…)

Now, since I want to do editing in MusE but mixing in Ardour, I have to “transfer” the drums somehow between one to the other. My journey so far was:

  1. Export drum track as MIDI in MusE, import it in Ardour, and have the DrumGizmo plugin plus the fan-out connections to the (up to) 16 wave tracks there. This had two disadvantages for me: a. Ardour takes MUCH longer to load up the session (because of DrumGizmo loading the drum kit), and b. sometimes DrumGizmo just became mute while working on the mix and only a restart of Ardour would help.

  2. Do the fan-out to wave tracks and the writing to wav files within MusE and import those wav-files in Ardour. This is how I did things quite a while, until I noticed that sometimes (rarely) the written files contain a drop-out as if an xrun occured, but without MusE indicating that this happened. These drop-outs by the way also happen for Synth-tracks, if I render them that way.

  3. Back to square one, I tried out the first variant again, but only enabling the DrumGizmo plugin when I do a “rewrite” of the drum channel tracks and after that just work with the written wav-regions. But … at some time I noticed that sometimes an unwanted delay happens between the shape of the waveforms, where e.g. the snare hit came earlier in the overhead mics than at the actual snare mic. If this happened, also the drum mix started to sound weird.

Which brings me to the current way how I transfer the drums:

  • export MIDI track of the drums in MusE
  • have a separate Ardour project which only has a MIDI track with the DrumGizmo plugin and the (up to) 16 wave tracks for DrumGizmo’s output channels. The Ardour project runs the same sampling rate as the drumkit I use (for CrocellKit it would be 48kHz) and there are NO other plugins applied to any of the tracks.
  • do the writing of the wav-tracks within this Ardour project
  • then import those wav-files into the actual Ardour project for the song.

Sounds complicated? Hell yeah, it is. :unamused:
I hate doing it this way, but so far that’s the only process (for me) which does NOT screw up something on the way (like the mentioned unexpected mutes, xruns, and delays in the waveforms)…

It seems as if the crux of your problem is rooted in drum kits that do not use adjacent notes for related samples (e.g. Kick R and Kick L being on C1 and B0).

Have you considered just using a more “sane” drumkit design? If you did that, Ardour’s editing process would be very similar to the one you’re using in Muse (though missing things like per-sample note length and quantization).

Well, this is called General MIDI (GM). :sweat_smile:
The CrocellKit (like the other DrumGizmo drum kits) try to map as good as possible to this standard, but there are some exceptions like:

  • GM defines 6 toms, but the kit only has 4.
  • The kit has some additional hihat and crash-stop sounds that just do not exist in GM.

Furthermore, B0 and C1 in fact ARE adjacent notes, I just swapped the display order of them because I wanted the “main” kick pedal on top.

Hmmm, I think it would be possible to adapt the midi mapping of the drum kit, which is just an xml file assigning each drum instrument to a particular “note”. On the other hand, it makes sharing the project “harder”, because whoever opens it must also apply the same changes to the midi mapping first…

That would be true, yes. But in a MIDI region I still would just see a piano roll on the left side instead of the instrument labels, right?. And I also prefer to have a lollipop line to do volume adjustments (which I didn’t include in the screenshot). :lollipop:

PS:
Thanks to you, Paul, and of course to all other developers for making Ardour the way it is. :+1:

I do it this way also, but after everything is OK I just record the 16 Tracks within Ardour as audio. Just hit the record button on the fanned-out tracks, then set them from “monitor input” to normal. After that I deactivate and hide the Drumgizmo-Track (the MIDI). This way I am able to do small corrections within Ardour if I need to. Just unhide and reactivate the Gizmo-Track and re-record the part.

I really don’t understand why you go through this really complicated proces for just having your drum-instruments grouped together?

And to me it’s not clear how you build up a song this way. Editing drums is part of a creative proces where drums is interacting with the other instrument, don’t you need to have the other musical parts playing along like guitar, bassguitar etc. If you (for example) want to change one or two snare-hits because it needs to emphasise a later introduced guitar-lick at some point, you have to go to MusE, do your edit, re-import the midi file in the Drumproject, export the wav, import the wav to the main project. (??)

By the way, Ardour has lollipops nowadays.

Yes, Ardour has lollipops.
Just wasn’t able to select e.g. snare only last time I tried. If someone knows how to select lollipops of one instrument only so I can adjust them with mouse movements please let me know.


shift-left mouse click on the instrument in the piano roll selects all lollipops for this instrument.

2 Likes

For the drum plugins I’m using (often AVL drums) I see the actual names in the piano roll. (Snare, kick …)
Actually for the ugritone drums I recently bought I created side files with the instrument names to show up in the piano roll.
No details I’m away from my laptop.

(Any moderator feeling like splitting off this discussion?)

@slash
Sorry, I did not mean to hijack your post.

What plugin type were you using for Drum Gizmo ? LV2 or VST ? I have had several breaking issues with the LV2 version. The VST version was actually usable and generally stable.

When writing down a song idea in MusE, I usually already “hear” in my head how the basic patterns for verse, chorus, etc. should be. So for a verse I click it down once, then copy&clone the region to the other verses. This is what I do not only for the drums, but also for bass, guitars and the vocal lines.
At this early stage, the drum fills respective transitions between the different sections will sound the same, because they are cloned. Nevertheless this is “good enough” to go into the guitar and vocal recording sessions.
It is after these recordings that I might find out that the singer is singing a part differently or I play a guitar part differently than initially thought. Either the overall groove is still ok, or I’ll start de-cloning and adapting the drums to emphasize the actual groove if needed.
When the song is about to be finished, I’ll polish it up by de-cloning everything, merge all regions together into a single big one and start to add variations (e.g. different fills, apply pattern differences between the verses, etc.)

That’s exactly what I do. :slight_smile: But of course I won’t do this for every little drum change I apply, but only “in bulk” when I think that I should sync up the current drums with the mix again.
Eventually, when there’s nothing more left I want to change, it’s done.

Yummy. :heart_eyes:

Oh my, this screenshot looks nice. What version of Ardour are you using?
(I will have to do an upgrade from Ubuntu 22.04 to 24.04 soon, so maybe I take the opportunity and go directly for the latest version instead of using the Ubuntu-packaged one. Not sure yet…)

Regarding instrument selection:
MusE does it a little bit different. Left of the lollipop line there is a small button/icon which can be toggled between a single eighth note and multiple eighth-notes. The difference is, that for the multi-eighths all lollipops are displayed, while for the single-eighth only the lollipops of the selected instrument are shown (respective nothing, if there are no MIDI events on the selected instrument)…

LV2, I don’t use any VST plugins at all…

OK… such as? “breaking” as in “crashing”?

OK, thanks for the hint…

I use Ardour 8.10 and it’s great fun

If not a crash, which would happen, there would be strange behavior. I can’t recall what it was, but it was random and I decided to never use lv2 of drum gizmo again.

Ask and you get the reaper!

 Seablade

Done and done by the way obviously

1 Like

Sorry, but I’d prefer to stay with Ardour :slight_smile:

1 Like

Would you describe how you did that?

(Talking for a Linux system)

The side files have the extension midnam and they go into
$HOME/.config/ardour8/patchfiles
That’s where any user defined midnam file should be

A lot of examples can be found here
/opt/Ardour-<version>/share/patchfiles
but many are not for drumkits.

The reference manual has something here:

and here:

Here is an example that I’m using successfully. (copied from somewhere I don’t remember and modified)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE MIDINameDocument PUBLIC "-//MIDI Manufacturers Association//DTD MIDINameDocument 1.0//EN" "http://www.midi.org/dtds/MIDINameDocument10.dtd">
<MIDINameDocument>
  <Author>Peter Zenk</Author>
  <MasterDeviceNames>
    <Manufacturer>Ugritone</Manufacturer>
    <Model>Arena Drums</Model>
    <CustomDeviceMode Name="Drumkit Keymap">
      <ChannelNameSetAssignments>
        <ChannelNameSetAssign Channel="1" NameSet="Names"/>
        <ChannelNameSetAssign Channel="10" NameSet="Names"/>
      </ChannelNameSetAssignments>
    </CustomDeviceMode>
    <ChannelNameSet Name="Names">
      <AvailableForChannels>
        <AvailableChannel Channel="1" Available="true"/>
        <AvailableChannel Channel="10" Available="true"/>
      </AvailableForChannels>
      <UsesNoteNameList Name="Notes"/>
      <PatchBank Name="User Patches">
        <PatchNameList Name="User Patches"/>
      </PatchBank>
    </ChannelNameSet>
    <NoteNameList Name="Notes">
      <Note Number="36" Name="KickDrum"/>
      <!--<Note Number="37" Name="SnareSidestk"/>-->
      <Note Number="38" Name="Snare"/>
      <!--<Note Number="39" Name="Flexi1/HandClap"/>-->
      <!--<Note Number="40" Name="SnareShallow"/>-->
      <Note Number="41" Name="FloorTom"/>
      <Note Number="42" Name="ClosedHat"/>
      <Note Number="43" Name="Tom Lo"/>
      <Note Number="44" Name="PedalHat"/>
      <Note Number="45" Name="Tom  Mid2"/>
      <Note Number="46" Name="SemiHat"/>
      <Note Number="47" Name="Tom Mid 1"/>
      <Note Number="48" Name="Tom Hi"/>
      <Note Number="49" Name="Crash1"/>
      <Note Number="50" Name="Crash1Chk"/>
      <Note Number="51" Name="Ride"/>
      <Note Number="52" Name="China1"/>
      <Note Number="53" Name="Ride Tip"/>
      <Note Number="54" Name="Ride Crash"/>
      <Note Number="55" Name="Splash"/>
      <Note Number="56" Name="Crash3"/>
      <Note Number="57" Name="Crash2"/>
      <Note Number="58" Name="Crash2Chk"/>
      <Note Number="59" Name="Cowbelll"/>
      <Note Number="61" Name="China2"/>
      <!--<Note Number="60" Name="ChinaCrash3"/>-->
      <!--<Note Number="61" Name="Flexi3"/>-->
    </NoteNameList>
   </MasterDeviceNames>
</MIDINameDocument>

You can select your midnam file in the midi track (Tight Studio Drums)
First select the manufacturer, then the model (like specified in the midnam XML file.

HTH

1 Like