What if you need to use more than 16 MIDI channels?

Conventionally, I know the short answer is that it’s impossible. However, I’m sure I’ve done this at some point in the past; failing all else, I remember doing a cover of ELP’s ‘Hoedown’ ( a rather more elaborate affair than even their usual live versions ) which used a total of something like 70-odd channels in total. Unfortunately that was around twenty years ago and I can’t for the life of me remember how I did it now. I realise the answer is going to have to be something of a workaround, but still, there must be one …? I know that one alternative is to record one or more of the existing MIDI channels to audio and then re-use that channel for something else, but of course once you’ve committed even one track to audio, you can’t go back and do things like tempo changes, for instances, nor can you edit the MIDI track whose channel you’ve now re-used. That’s problematic if you even re-use one MIDI channel, let alone all of them, let alone all of them more than once.
Aside from my own past experience, I know that people sometimes create large orchestral pieces using Cubase plug-ins, so there must presumably be some way of achieving this. Any inspiration, anyone?

As an inspiration, I would say that it depends of the number of MIDI ports in use (16 channels for each). After this…

Hi,

The 16 channels limit is not on Cubase side at all. This limit comes from 40 years old MIDI standard. A MIDI Port can contain up to 16 MIDI Channels, not more.

One device could have multiple MIDI Ports. HALion can do this, NI Kontakt can do this, some hardwares can do this (even very old Yamaha MU80).

So either the device offers multiple MIDI Ports, or you have to record to audio.

If such setup is based on instrument tracks, there’s no need to have more than 16 midi channels for this purpose. In reality, not even more than 1. At any given time, we can arm-record just one track, and having set its midi input to “any” (or any midi channel we want) it will properly record. And of course we can later go back and edit its midi data in our editor(s) of choice.

The most straightforward way now would be to add 70-odd Instrument Tracks each one using MIDI Channel 1.

I’m getting old, I don’t understand the question.
70 channels = 2 instances of HALion, half a dozen Kontakts, or 70 individual instruments.
Like @raino said.

Which is how we all do it. (Unless you’re using HALion, Kontakt, etc.)

And even those it’s mostly one instrument per Track for most uses.

Thank you all for your responses.
Firstly, let me just clarify that I do understand this is a MIDI issue rather than specifically a Cubase one. However …
I think there’s something I’m just not getting here, or else I’ve failed to explain the problem clearly. As far as having, say, half a dozen instances of Kontakt open, I wouldn’t have the computing power for that in any case: the machine I’m using was built almost fourteen years ago and doesn’t, I’m sure, have the capacity that a machine built today would have. However, for simplicity’s sake, let’s say that I was to open two instances of Kontakt with, again, let’s say, 16 instruments in each. I record a MIDI track for, let’s say, violins, and assign it to MIDI channel 1. In instance A of Kontakt, I find a violin setting that I like, load it up, and set it to respond to MIDI channel 1. I play back the MIDI track I’ve recorded and it triggers the violins as intended.
Now I record a MIDI track for, let’s say, timpani, and assign it to MIDI channel 1 in instance B of Kontakt. I find a timpani in Kontakt instance B and load it accordingly, set to respond to MIDI channel 1.
I’m guessing you’ll have seen where this is going, but when I play back either the MIDI violin track or the MIDI timpani track, it triggers both the violins and the timpani, as it is that they’re both set to MIDI channel 1, irrespective of the fact that there are two separate instances of Kontakt.
Whatever it is that I’m missing, I’m obviously missing it quite spectacularly, because I really don’t see how the concept of only using MIDI channel 1 for multiple instruments would work.
I’m not sure if I need to say this; I’ve sort of taken it as a ‘given’ till now, but all of this is a problem only because I need to be able to play all the instruments back simultaneously rather than individually.
I hope ( I do say ‘hope’ ) that’s made the situation clearer.
F.Y.I., I do have an assortment of other keyboards which get used when needed; all of these are in the region of 25 years old ( and still going strong despite having been gigged relentlessly! ). I haven’t explored the question with regard to those keyboards, but I’m pretty sure they would all only have one MIDI port each.

Just as an added thought, but the hypothetical scenario described above is equally problematical even if you don’t think in terms of a second ( or subsequent ) instance of Kontakt; if I have more than one instrument in a single instance of Kontakt and assign both or all of the instruments to, say, MIDI channel 1, then all of those instruments will respond to any MIDI tracks assigned to MIDI channel 1 ( unless, obviously, I mute or solo any of those tracks, which defeats the object ).

This should not be happening. I usually have at least four instances of Kontakt (brass, guitars, basses, vox), each with no more than 6 patches loaded, each with MIDI channel number starting from #1 and incrementing. I am as flummoxed as yourself.

That will not happen. Each instance of Kontakt will have its own unique MIDI port. Personally I only load one instrument in a single Kontakt instance but use multiple instances. Since each instance of Kontakt uses its own MIDI Port I can have them all set to channel 1.

I’m sure in the past you’ve used some form of a MIDI interface connected to your computer. If your interface only has one MIDI Out port, then you’re stuck with just 16 channels. If your interface has two ports you would have 2x16 channels at your disposal. Also note that there is no cross talk between the ports.
A VST Instrument always gets its own unique virtual MIDI port automatically. You can see this in the Cubase Track Inspector under MIDI Out. In conclusion, we don’t really have to worry about MIDI ports or channels when using virtual instruments. It’s all handled seamlessly by the DAW. It’s only when you use hardware instruments and have multiple daisy chained and all connected to a single MIDI Out port that you have to think about assigning unique channels to each on the instruments.

Actually the risk of creating performance problems works the other way around (and yeah it isn’t intuitive). Having 12 instances of Kontakt open with each running only a single instrument will generally perform better than having a single instance of Kontakt running 12 instruments.

This is because all the instruments within an instance end up using the same CPU Core. So 1 instance with 12 instruments - all that work is done by 1 core. Where if you use 12 instances with 1 instrument each that work gets spread across all your cores.

Kontakt without an instrument loaded barely consumes resources. It’s the instruments that consume the resources, and 12 instruments is gonna consume X amount of resources independent of how you group the instruments together.

This is a situation where the easiest way of doing it is also the most effecient.

I understand your explanation, and although it is, as you say, counter-intuitive, I can see the logic of it. I have therefore tried a version of what you suggest, which is to say that where feasible, I’ve now opened separate instances of Kontakt and loaded a single instrument each time, directing the MIDI tracks accordingly. Unfortunately this has not solved the problem.
As far as I can tell - not that I’ve conducted extensive experimentation ( God knows this has taken long enough as it is ) - the problem seems to occur only with the guitar tracks. Even after having done all of the above - hence the period between the last post and this response to it - when I try to load a second guitar track, as it loads up the samples, I get an error message which reads: ‘Panic ( at least they don’t mince words, I suppose ): could not allocate enough memory. Application is likely to become unstable.’ What happens next is that the application does indeed become unstable, and Cubase freezes and ultimately shuts down. This applies whether I try to load two guitar instruments into the same instance of Kontakt, where nothing else is loaded into that instance, or whether I open a separate instance of Kontakt for each guitar. I understand that the guitars rely on a pretty huge number of individual files to do what they do, but I still wouldn’t have thought it would be this difficult. However, clearly I’m wrong. As it stands, I’m in a situation where the only solution I can find whereby I can play back both guitars simultaneously is to record one of the two guitar tracks as audio, using a single guitar loaded into Kontakt, and then use that same instrument to play the second guitar part whilst playing the first one back as audio. Obviously the problem with this is that if I then need to change the tempo, for example, I need to go back and re-record the first guitar part over again. I can’t believe this is actually the best or only way of solving this problem, but then I suppose there would be an argument that it couldn’t possibly take any longer than this has taken me so far, to be no further forward than I was a week ago.
Just by the by, please don’t anyone interpret this as being in any way critical of any of you who have been kind enough to respond: I understand that all responses are given in good faith and obviously in the belief that they will work. It’s just unfortunate, and nobody’s fault, that in this particular instance, they don’t.

Well that sounds like your available memory is smaller than what the Kontakt Libraries need. Have you verified this using Task Manager?

There is a feature in Kontakt that lets you unload unused samples to reclaim memory space.

Details of which may supply a clue to the issues?
Modern software doesn’t seem to optimise memory usage as in the days of yore.

Kontakt supports MIDI Ports A-D, same as HALion, so one instance can host 64 MIDI Channels (16 Channels per port).

Kontakt and HALion are identical in this respect.


Kontakt is better in that you can purge all of your instances to avoid having unused samples loaded into RAM. The libraires you use have a lot to do with the resource utilization of any sampler.

Samples, Synthesis, Time Stretching, Effects, etc.

Software wise its easy (answer’s already been given) but hardware wise is just as well.

5 or 6 multi-timbral ROMplers could do it easily. One of these is still the heart of my MIDI studio, I got 32 channels alone between the two samplers connected to the first two ports. Another 16 on a Roland XV, 16 from a Blofeld, etc…

Hi again everyone,
Not that anyone would have been losing sleep over it, I’m sure ( ! ), but the reason for the long silence is that I’ve been experimenting to see what works and what doesn’t. Firstly, I’m pleased to say that I now seem to have got my head around the notion of allocating a separate instance of Kontakt to each VST instrument ( or more or less: there are a couple where I’ve doubled up string instruments etc. ). Although, in the piece I’m currently working on, it hasn’t been necessary yet to exceed the 16-channel limit, I understand how doing it this way effectively gives you a virtually unlimited number of MIDI channels ( for all intents and purposes ).
That’s the good news. The bad news is that no matter what I try, I still haven’t yet found a way to load more than one guitar instrument from the ‘Electri6ity’ group, and as far as I can think of, I’ve tried all the possible permutations. The exact wording of the warning messages sometimes differs, depending on how far into the loading process it gets, but at some point - usually somewhere in the region of 80% through loading the second instrument - the warning will pop up, and it all goes to poopies from there on. I’ve tried using the ‘purge’ function on the second guitar, and although that sometimes allows the instrument to load, when you play the track back, several of the other VST instruments then start to ‘choke’; i.e. each note they play will be perhaps a quaver long. This, to reiterate, is when each instrument has it’s own individual instance of Kontakt.
If nothing else, this has solved the question of how to record more than 16 MIDI channels, and for the replies that got me to this point ( raino in particular ), my thanks. If anyone has any further inspiration as regards being able to open two or more electric guitar MIDI tracks, by all means send it my way.
As a matter of interest - so far - I’ve only become aware of this phenomenon with the ‘Electri6ity’ library; touch wood, it hasn’t happened in any of the others.