MIDI Channel information ignored

Consider the MIDI channels on an instrument channel:
MIDIchannels.png
where I will call the items shown:

  • Red Oval = Track Input Channel (TIC)
  • Orange Rectangle = VSTi Input Channel (VIC)
  • Blue Rectangle = MIDI Note Channel (NC)

In this example, all the notes have NC = 1, except for one boxed in blue, which has NC = 2. What will happen?

TIC = 1, VIC = 1: All notes sound
TIC = 2, VIC = 1: No notes sound
TIC = 1, VIC = 2: No notes sound
TIC = 2, VIC = 2: All notes sound

So if TIC = VIC then all notes sound, otherwise no notes sound. The same is true for notes entered on the MIDI controller keyboard.

Now, I was expecting that if NC = 2 and VIC = 1 then there’d be no sound for that note. And when VIC = 2, it would be the only note to sound. In my mind, VIC would be sensitive to the channel of every MIDI note regardless of its source (track, MIDI controller, inputs from MIDI sends); and TIC would be sensitive to the channel of MIDI notes coming from outside the track (MIDI controller, MIDI sends).

So did I miss something or is this a problem?

In the Inspector where you have the MIDI channel set to 1 (your red oval). What that does is it takes every note that is in a MIDI Part on that Track and it sends them to the VSTi on channel 1. So the note you have which is on channel 2 gets changed to channel 1 on the way to the VSTi. If you want to preserve the channel numbers of the notes themselves then change the channel setting in the Inspector from 1 to Any. If you do that with the setup shown then the channel 2 note would not play anything because you don’t have an instrument in Halion that plays on channel 2. However if you then added a 2nd instrument in Halion on channel 2 it would play that note.

You’re a genius. It works exactly as you say. So the red oval isn’t a track input at all. It’s a MIDI transformer.

Looking it up in the C9 manual (p114/115) (AKA https://steinberg.help/cubase_pro_artist/v9/en/cubase_nuendo/topics/tracks_about/tracks_about_instrument_track_inspector_r.html), I see that they call it an Input Transformer, and the complete description reads:

Opens the Input Transformer dialog that allows you to transform incoming MIDI events in realtime.

… which I previously thought would not include events on the track itself. But I suppose it’s better this way. Thanks again!

No, they’re different things. The Input Transformer let’s you take the incoming midi data stream and manipulate it in a variety of ways before recording the data. The channel number setting just lets you tell Cubase how to interpret channel number data.

I suppose so. It’s among the places I’ve been poking around lately. It would seem then that the meaning of the channel number control isn’t documented anywhere. (Other than “allows you to specify the MIDI channel”.)

I have groove agent SE on a track, and I’m trying to filter what it plays according to channel. Unlike HALion, there doesn’t seem to be a way to make groove agent respond to a specific channel. I’d like to be able to split a drum part between kits. (For example, Beat Agent is sample based, Acoustic Agent is not. How to combine them via Beat Designer, or otherwise?) What has worked is to have the whole part on a MIDI track, then use a Transformer on a pre-fade MIDI send from that track to the destination track/kit. In the transformer, I simply filter out anything with the wrong channel number. I’m hoping to do the same job input transformers.

It may be simpler to filter on note values, as Beat Designer does not (and probably never will) allow you to assign a MIDI channel to each lane. However, the channel assignment approach has still been interesting.

Yeah that is the best way to do it if want all the midi notes to be in the same Part. An alternative would be to use a different Track for each VSTi. Copy the MIDI Part and use the Logical Editor to delete (or mute) the notes on the channel you don’t want. Remember the Key Editor can edit multiple Parts at the same time - although you then need to take care you are editing in the Part you want. Not at my DAW to check but I think there might be a function that lets you split a Track into several based on channel which would be easiest.

I think typically (always?) only multi-timbrel VSTi’s let you set channel numbers.

Take a look at the Dissolve Part section of the manual (pg 708). It lets you split a MIDI Part into multiple Parts based on channel or pitch.

Thanks for reminding me of that. I have this concept for a workflow based off of Beat Designer, where I want to build up the kit and what it plays at the same time. It’s a long, strange tale that goes contrary to current design and conventional practice.

Common Practice #1: Start with a Beat.

The writer starts with a drum beat and builds around it. Cubase has many resources serving this approach. Groove Agent has pattern libraries triggered by pads. Acoustic agent even has a dial that does style, complexity, and intensity. World percussion has pattern libraries too. Steinberg keeps offering them, so they must be popular.

My approach to writing emphasizes melody. Groove is essential, but I think of it in the context of melody, lyrics, mood, sonic texture, and so on. I can barely play drums. I certainly don’t compose of drums-first. Even if I did, I’d use my imagination instead of a pattern bank. I do find these collections educational, however.

Common Practice #2: Start with a Blank Slate.

The writer enters the intended beat, probably one or two drums at a time. Entry can be via MIDI keyboard or drum editor. My keyboard entry is too imprecise for drum parts, and my drum editor workflow isn’t very smooth. One is also locked into the currently loaded kit, but we can open a second instance of GA and drag drum sound onto the pads of the current kit. There’s a lot of cumulative awkwardness in all this.

My 3rd Way

I seems to need at least 2 passes to lay down a song.

  • The song is written long before the first pass. Many of the parts are written out in pencil on multi-staff score sheets. However, I can only hold (at most) half a dozen independent lines in my head at any time. The exact chord voicings tend to suffer in my imagination, even with the score in front of me.
  • So I work out the details in the DAW. This is the first pass. I record the most important parts first, the parts that drive the song. There are revisions. Additional parts are added, including a drum part that amounts to more than a quarter note kick-snare pattern.
  • I abandon this project after all the musical problems have been solved, then start from scratch. This is the second pass, and it begins with drums, bass, and rhythm tracks. It’s the classic recording session method. Parts go down more or less in order of decreasing loudness in the final mix.

So my problem is writing the drums during the arranging pass.

I find drums need to be written while the music loops over a 4 or 8 bar cycle. It needs to be heard in motion, preferably with the other parts. The give and take, the relative velocity of the hits, the offset from the beat, the individual drum sounds, and other factors can _completel_y change the feel. Beat Designer, handles these considerations well, except for drum sounds. I’d like to be able to easily change between 150 different candidates for snare drum. :slight_smile:

Problem #1: Few of the kits are “All snares”, and those that are can’t contain incompatible sources (such as mixing beat agent and acoustic agent and world percussion). So I listened to thousands of drums and collected them into custom kits dedicated to cover this or that particular drum sound. Now they’re all in one place. I can drag from the custom kit to a target kit. Any yet…

Problem #2: There drums outside of GA in HALion, world percussion, and elsewhere. They need their own tracks. So I have to use a MIDI send from Beat Designer to do this. I seem to have found a way, thanks to your help. But this test has only been done with MIDI recorded on a MIDI track. Can it be done directly form Beat Designer? That brings us to…

Problem #3: AFAIK, there’s no way to assign MIDI channels to lanes in Beat Designer. Since I’m the only person on Earth that wants this, it’s not going to happen. (Could I sneak channels into Beat Designer by imported channel-bearing MIDI notes?) Furthermore, my experiments indicate that Beat Designer has an internal store of MIDI data, much like a flex phraser or any sequencer. The internal store must be exported to a MIDI track before in order to add channel information. Abandoning the channel-based approach in favor of a note based approach might avoid this step.

Regarding dissolve part: Certainly a worthy suggestion, but it would only work after the Beat Designer store has been exported. I’m sure it would work, but I’d really like to make this workflow concept into a reality that’s as efficient as possible.

I don’t really use Beat Designer so can’t offer much insight on workflow with it. Oddly I did use it before the introduction of the Chord Track to generate chords (wonder now how that was setup :confused: ).

I use the internal Groove Editor in BFD3 95+% of the time to program drum parts. It is similar to Cubase’s Drum Editor but also lets you paint in drum rudiments like paradiddles or complex rolls etc. I write the parts instead of trying to play them but never quantize. That way I can have offsets from the beat that vary between themselves.

I used to hate the drum parts I tried to write and over the years bought a bunch of midi groove libraries. While those were better than what I could do they were often close but not quite right for the song. Then I took a Groove3 course on how think like a drummer when programming drums. Now I can get drum parts just like I want & really enjoy making the parts.
https://www.groove3.com/music-theory-and-notation-training-video-tutorials/drumming-explained

Thanks for reading my long story. I suppose when it comes to writing drum parts, I subscribe to the philosophy that the drum kit is a reflection of the rest of the arrangement, at least for now. One thing that really made a difference for me was buying a pair of drum sticks and pretending my phone book was a snare drum. Somehow it made my mind work differently. The pattern programming took on an important new meaning.

I have succeeded in getting Beat Designer to send parts of its patterns to specific tracks, the targets being both Groove Agent and not. This involved filtering based on note values using the transformer on MIDI sends from a MIDI track with a Beat Designer insert. The transformer programs like the logic editor, so it’s easy to divide the notes space among the sends. I still don’t know how this workflow concept will pan out, but at least the technical issues are under control.