[LAU] Advice: solution to hookk up several USB-MIDI devices

David Kastrup dak at gnu.org
Thu Jul 26 18:03:43 CEST 2018


Clemens Ladisch <clemens at ladisch.de> writes:

> David Kastrup wrote:
>> If you want to hook up several ones of those via a USB hub, make sure
>> that this hub has a separate "Transaction translator" per port so that
>> a USB1.1 transaction from one Midi interface does not keep other
>> transactions from happening: the 12Mbps limitation should only be per
>> Midi interface, not per aggregating hub which can talk at 480Mbps to
>> the computer.
>
> MIDI's speed of 0.03 Mbps is less than one percent of the USB 1.1 limit;
> the lack of a transaction translator does not matter at all (unless
> other, high-speed USB devices are connected to the hub).

If we are aggregating 4 4-port interfaces used in two directions (USB
rates are half-duplex), we need 32 times the bandwidth.  So we are
already at 1Mbps of raw data rate without any packaging.  90% of the
full-speed bandwidth can be reserved for isochronous transfers which
MIDI isn't.

Queuing theory tells us that independent events close to filling up a
given bandwidth tend to stack up, so in what order is a single
transaction translator going to schedule transfers?  What will be the
effect on jitter?  And events created by arrangers are not actually
independent: time codes and chord notes and drums are coming out
back-to-back.

You'll be getting to "nobody will ever need more than 640kByte"
territory sooner than you'll think...

-- 
David Kastrup


More information about the Linux-audio-user mailing list