Sorry if this has been already mentioned here ?
I have a MIDI setup I have been using now for 2 decades now, I use a MIDI patchbay MX-8. You can use other brands as long as you maintane a simple as possible straight MIDI in/out and not go through several MIDI thru's on the way to your sound modules. If you keep it simple like having only one master MIDI controller and or one master DAW sequencer, you then should have better MIDI timing results. Keep the MIDI cables as simple straight connection to the Master MIDI source(sequencer/DAW) as possible. Not going through multiple MIDI thru's. So that each MIDI sound module is connected directly with the master MIDI controller device, all being connected at the same time.
This works great when you are both playing back MIDI tracks and recording new MIDI tracks, it really does cut down on MIDI timing errors and latency.
For example, what I do with my MIDI patchbay is have my computer DAW and master keyboard MIDI outs both merged going into the MIDI patchbay MIDI ins then going back out to the multiple MIDI outs on the MIDI patcbay and then connected to all my outboard sound modules MIDI ins at once.(with the MX-8 MIDI patchbay it does not effect the MIDI latency or timing when merging the 2 master MIDI ins to multiple outs) For me this lowers the MIDI timing errors because each sound module is getting a direct link from the master controller or MIDI sequencer.
You can use this setup also with a master drum machine and a master keyboard controller, having both MIDI outs on the 2 MIDI master controllers merged into all your MIDI ins on all your sound modules makes it easy to both record and play MIDI at the same time. You can also use other MIDI setups as well with a MIDI patchbay, such as a drum machine/DAW/sequencer, multiple master keyboards etc.
MIDI patchbays eliminate all that MIDI daisy chaining ins/outs to thru's. MIDI patchbays are also great for changing your master controller or master sequencer setup instantly without having to unplug and plug in again and again. If you have more than one MIDI master controller and or MIDI sound module, then you definately need a MIDI patchbay !!!
You can also do seperate MIDI out interfaces on your master controller/DAW/sequencer if you want to send more than just one bank of 16 MIDI channels. Sending on seperate MIDI outs and seperate MIDI interfaces is best for MIDI accuracy. It lightens the load and spreads out the data on multiple seperate 16 channel MIDI data serial streams, by doing this on multiple MIDI banks you will get better accurate MIDI playback and recording.
Lets say If you have all 16 MIDI channels/tracks being played back and being recorded at the same time , using only one MIDI out interface, then you probably will get a major slow down (MIDI timing latency errors) using just one MIDI bank. So if your MIDI songs are complicated with allot of MIDI data streaming ,then it is best to use multiple MIDI banks.
As a general rule, use 8 MIDI channels on playback at once per MIDI output bank. There is no set rules for this just as long as you keep the data stream as simple as possible on each MIDI bank. You can use all 16 MIDI channels on each bank as long as it does not overload the MIDI stream on that particular bank and or cause timing errors. You can hear it if the MIDI stream is over loaded.
You can Get lets say another MIDI output interface and output on that seperate bank for when you are recording allot of MIDI drum tracks, and or for allot of MIDI notes playing back at once, especially for allot of MIDI controller information being recorded and played back, all at once.
You just may end up needing 64 MIDI channels ? (4 seperate MIDI banks) I am not saying you should use all of 64 MIDI channels, but rather just use as many MIDI out banks that are needed, and use only the MIDI channels that are necessary for the MIDI accurate playback of your song, thus keeping your MIDI serial timing errors down to a bare minimum for a rock solid MIDI performance.
So keep your MIDI data strean as simple as possible, and use as few MIDI channels as possible for each bank. I have used all 16 channels on one MIDI bank before and it does work. But if the MIDI serial data is too much, then you may get permanently stuck on MIDI notes, and many MIDI timing errors, and some MIDI tracks playing slower and or faster than others at random. So everytime you play back the same sequence of MIDI tracks it sounds different each time. Random MIDI track timing differences. This has happened to me before when I use just one MIDI bank in a fairly complicated song.
ANother words your MIDI sequencer sounds like really drunk musicians all playing together, which may be a good thing !?!
But then you don't have to worry about all of this MIDI timing stuff, rather just use your DAW to convert your MIDI tracks to audio tracks as soon as you can. Record your external MIDI sound modules into your DAW or multitrack recorder by playing your MIDI tracks 1 at a time on your MIDI sequencer, this way it will not overload the MIDI data stream and timing errors will not be recorded. So after this you can tweak all your New MIDI recorded audio tracks with your DAW, for sample accurate playback and rock solid timing, everytime.
MIDI is great for writing your music initially and getting your ideas down fast to a MIDI sequencer, but then you should not completely rely on MIDI throughout your whole song. But many artist and people do rely on MIDI. So It isn't all that bad, MIDI is especially good for getting your music printed out in music Notation.
You should when ever possible record your MIDI instruments live using the audio line outs on your keyboard or sound modules. It teaches you how to play and practice your musical style and teaches you to remember how to play every part of your song live. This ultimately prepares you for band practice, or for up and coming gigs, and or for live studio recording.