Amount of connected instruments?

here’s a quote of my favorite gearslutz post where some calculations explained:
(source: https://www.gearslutz.com/board/showpost.php?p=13971568&postcount=62 )

it’s not gear-specific, it’s how MIDI protocol designed and works since early 80s.

Another more thorough answer to this in case it’s not already fully covered. (I wrote this out mostly for my own understanding of why this is necessary, so please do correct me on any of this that I got wrong.)

  1. MIDI runs at 31250 baud. That’s 31250 bits every second
  2. To transmit each byte, actually takes 10 bits: 1 start bit, 8 data bits, and 1 stop bit. So that’s 3125 bytes transmitted every second
  3. A “note on” message takes 3 bytes (noteon+channel, key, velocity), so that’s 1042 note ons messages per second. Alternatively every note on message takes around 1 millisecond.
  4. A chord on a poly device might have up to for instance 16 note ons. A drum machine might have e.g. 8 voices. Add a few monos for good luck and you’re in the realm of events that happen at the “same time” from a conceptual perspective are now around 30 milliseconds different in time.
  5. Also consider that we require a 3 byte “note off” message, regular clock messages, 3 byte CC messages, multi byte Sysex messages etc. all to take up the same time slices that we want to send note on info within.
  6. Now consider a bass note that might be as low as 30 Hz for sake of argument (i.e a period of 30 milliseconds). Imagine that you are trying to place two competing notes in a similar frequency band (perhaps these are actually a bass note and a kick drum). Place two 30Hz sine waves 15 ms apart and they cancel out. Place them 30 milliseconds apart and they play double as loud. You can see how being constrained about where note placement happens based on other messages on the same physical channel hurts things musically and sonically.
  7. The easiest way to get around the situation where playing notes for things that conflict like this at more exacting times is to add more physical channels.
  8. Note: This is one example, another similar example is to just consider the emotive feel to drums / piano. We notice small 10s of milliseconds changes in these values.
  9. Also consider the values that you might enter using percentage based swing. A 51% swing value at 120BPM shifts the delayed note just 10milliseconds (50% swing: notes at 0ms and 500ms, 51% swing: notes at 0ms and 510ms).

so, the bottom line: one box per physical output = 3 multitimbral boxes (e.g. Nova, Electribe, Blofeld, as on the picture below), and i heavily use their own internal arpeggiator/sequencer functions where possible, leaving Pyramid only for jobs that gear can’t do by itself — various complex modulations, euclidean stuff, etc etc.

on the other hand, such division of labour helps me to keep Pyramid projects in scopes of ~8k events limit, which is absolutely not huge too.

1 Like