More about MIDI

Official support for: mutools.com
Post Reply New Topic
RELATED
PRODUCTS

Post

I've had another think on MIDI channels and stuff.

I tend to think of each MIDI channel as a single lead taking events from a sequencer into the player (virtual or real). The MIDI standard puts sixteen of these "leads" into one real cable, assigning each to a channel. The player may not have all sixteen connected or may merge them all to a single input or it may be fully multi-timbral across all sixteen channels.

But the point is, it's down to the receiving end, not the seqencer.

In LUNA, the channel number is assigned at the Sequence Part end, rather than at the player end. I've come to the conclusion this isn't quite right. It makes no difference to the Sequence Part what its channel number is. I might want to connect the same Sequence Part to two multi-timbral players (e.g. sfz+), connecting to channel 7 on one and channel 13 on the other. If I could specify at the player end, then this would be possible. Currently, I need to copy the Sequence Part to do this. If I move one along the timeline, I have to remember to move the other, too.

Also (and more concisely ;)), take an organ with three manuals. I'd be more comfortable connecting a sequence to "channel 3 on the organ" than with "setting the sequence to channel 3" and connecting it to the organ. It seems clearer for a newcomer to understand.

Post

pljones wrote:In LUNA, the channel number is assigned at the Sequence Part end, rather than at the player end. I've come to the conclusion this isn't quite right. It makes no difference to the Sequence Part what its channel number is. I might want to connect the same Sequence Part to two multi-timbral players (e.g. sfz+), connecting to channel 7 on one and channel 13 on the other. If I could specify at the player end, then this would be possible. Currently, I need to copy the Sequence Part to do this. If I move one along the timeline, I have to remember to move the other, too.
Note that each part only has 1 target!

So if you would want to send the events of a sequence to 2 targets, you'll need 2 parts anyway. If you want, these can be ghost parts, i.e. using the same sequence.

I'm not sure if i can follow your reasoning about "setting the midi channel at the target side".

If i have a multi-timbral synth, then i can't set it to channel 5, as it receives on channels 1 to 16.

It are the events that come into this synth that already must have channel info.

Right?

Post

I'm trying to say it's the connection between the sequence and the player that has the channel assigned to it, I guess.

I want to be able to run n-to-n connections between sequence parts and targets. For that to work, the channel assignment definitely doesn't belong on the sequence part. As you say, it doesn't belong on the target, either.

If we were talking about a MIDI Out definition then channel number would be applied to MIDI message just before the message left the computer to go down the cable. For a VSTi, it should be applied just before the message goes into the VSTi. In LUNA terms, these are the same place: just before the target.

I see a sequence target as having sixteen inputs. When choosing a target for a sequence part, you can also open up the target to select which of the sixteen inputs to use. (If you don't bother, you get Ch1.)

Essentially, this just moves the channel assignment from the context menu on the sequence part to where it matters: the target.

(I can live without the n-to-n connections. This just makes it possible ;).)

Post

Sorry, but i don't see where it would be "wrong" now.

If i read your thoughts, things are ok now.

Maybe lets see it from the practical side:

What do you want to do where you feel a bottleneck now?

Post

It's not really the practical side currently. More the conceptual side. LUNA sequence parts don't really have anything to do with "channel". They're mono-timbral. Channel is irrelevant to them. Unconnected to a target, they make no sound.

When you connect them to a target, you have to pick the right channel on the target to get the sound you expected.

So it's still not the sequence part to which channel applies, but to the target.

Having channel on the sequence part just feels unintuitive.

The practical side is that it might be better to change now than later... ;)

Post

A sequence part has a target.

A target is: which plugin / device + which channel

I don't see anything wrong.

In fact, it's the usual way just like in midi land: when you generate events, you also tell which channel those events must be on.

When a midi event travels the cable, it already has a channel.

When it arrives at a midi device, the device looks at the channel, and triggers the right patch (speaking multi-timbral).

You don't set the channel on the device, but you set the channel where the events are generated.

Look at Cubase: the channel is defined for the track
Look at Live: the channel is defined for the track
Look at Tracktion: the channel is set for the part.
etc...

Each time there where the events are generated.

Hope this clarifies things.

Post

Hrm.

When you right-click the Record button, you can set the rack for audio to be processed through for auditioning, choosing a target per input channel.

I assume, then, when we get the same facility for incoming MIDI, that's where the assignment to target will happen - and you'll pick target+channel for each incoming channel (thus allowing channel re-assignment)?

Post

Now, incoming MIDI is automatically routed to the target of the selected part.

A target = Which device/plugin + which channel.

So indeed, incoming MIDI is also re-channelized.

Imagine that it won't be the case: Imagine you have a MT synth plugged in, e.g. Kontakt, and that you have a bass on chan 1, a piano on chan 2 and an organ on chan 3.

Now imagine you have a Sequence Part playing the organ on chan 3.

It's LUNA's intention that, if you select the orgn part, that you hear the organ on your keyboard.

So that's why incoming MIDI is also re-channelized, although that incoming MIDI already has channel-info, set by the keyboard itself.

But i do understand what you want to do: you want to be able to input MIDI on different channels into LUNA and that you can play the different channels of a MT plugin. Or even using these different input channels to play different plugins.

Right?

Post

The percussion controller I'm getting can output on all 16 channels (it's only got one MIDI port), with different pads assigned to different channels. (There are controllers with >1 port that can generate events on >16 channels.)

As a "minimum", I'd want to have each channel reach a multi-timbral sampler, so it could work out what to do.

Next up, I'd want to be able to route different channels to different targets.

And then, of course, it would be nice to have Muzys' multi-players: hit a pad and trigger a sequence part, with the part routed to some target.

Ideally, I could hit one pad and trigger sequences controlling more than one player, which goes beyond what Muzys had (except its parts weren't single channel, so you could sort of do this with some loopback work). Allowing a multi-player as a sequence part target could be fun ;).

Post

I see what you want to do.

Note that in Muzys, it was the same situation as in LUNA: when you set a Midi Input Player, it also defined the midi channel.

So doing MT midi input was only possible thanks to the "Midi Input Channel Routing", where you explicitly could define - based on the midi channel - which input events should go to which Player.

A similar kind of functionality will be added in a future version of LUNA.

Post Reply

Return to “MuTools”