A resposta curta é que você realmente deseja um hub Multi-TT para esta aplicação, onde 2 ou mais de seus dispositivos USB provavelmente têm 12 Mbit / s. Procure por "Multi-TT" na Amazon, Newegg ou em outros sites para encontrar esses hubs.
Infelizmente, esse importante detalhe técnico raramente é mencionado. A maioria dos hubs usa um design Single-TT mais barato. Os bons TT múltiplos raramente são anunciados como tendo esse recurso, nem mesmo marcados na embalagem. Infelizmente, a maioria das pessoas provavelmente nunca ouviu TTs, e é por isso que os profissionais de marketing não se preocupam em dizer qual design seus hubs usam.
Você pode verificar se o seu hub possui esse recurso usando o Windows Device Manager. Procure as palavras "O hub possui vários TTs" na guia Avançado.
No Linux, o tipo de hub pode ser verificado com "lsusb -v | grep TT". Não conheço nenhuma maneira simples de verificar no Macintosh, exceto o utilitário "USB Prober", que a Apple publica em suas ferramentas de desenvolvimento do Xcode.
TT significa Transaction Translator. Os detalhes são complexos e estão totalmente documentados no capítulo 11 da especificação USB, que é um download gratuito em www.usb.org. Em resumo, o TT converte entre 480 MBit / s do seu PC para velocidades mais lentas de 12 ou 1,5 MBit / s.
Normalmente, quando você toca esses instrumentos musicais, seus controladores geram mensagens MIDI e os embalam em buffers de memória, que aguardam o momento em que seu PC solicita os dados. Quando o seu PC se conecta diretamente, ele envia uma mensagem chamada token IN para o seu instrumento. Seu instrumento pode responder ao token IN de duas maneiras, um pacote DATA ou um token NAK para indicar nenhum dado. Seu PC envia esses tokens de entrada muito rapidamente, então o resultado é a entrega quase instantânea de seus eventos musicais como mensagens MIDI.
No entanto, quando o seu dispositivo MIDI de 12 MBit / s se conecta através de um HUB USB 2.0, ocorre uma comunicação muito diferente, tudo a 480 MBit / s. Seu PC realmente se comunica com o Transaction Translator no hub. Envia 2 mensagens. Primeiro, a mensagem SSPLIT (Iniciar transação dividida) é enviada ao TT. Se o TT não estiver ocupado, envia uma confirmação. Em seguida, o TT transmite o token IN para o teclado MIDI na velocidade mais lenta de 12 MBit / s. Enquanto isso, seu PC pode se comunicar com outros dispositivos a 480 Mbit / s. Seu teclado MIDI não pode dizer se o token IN veio diretamente do seu PC ou do TT de um hub. Faz exatamente a mesma coisa que se estivesse conectado ao seu PC. O TT dentro do hub recebe a resposta NAK ou DATA. Enquanto isso estiver em andamento, seu PC começará a enviar mensagens CSPLIT (Complete Split Transaction) para o TT do hub. O TT responde com um token especial da NYET: o TT ainda está ocupado se comunicando a 12 Mbit / s, ou o NAK ou DATA do seu teclado.
Se você tem um teclado MIDI e uma bateria MIDI conectados, o que acontece se o seu PC deseja enviar uma mensagem SSPLIT solicitando que o TT se comunique com a bateria, mas o TT já está ocupado se comunicando com o teclado? Com apenas um TT, o hub pode responder NYET a uma nova solicitação SSPLIT, porque está ocupado executando IN + DATA a 12 MBit / s. Você definitivamente não quer esse cenário!
Vários hubs TT têm um TT dedicado em todas as portas downstream (nas quais você conecta dispositivos). Com vários TTs, o hub sempre pode aceitar uma solicitação SSPLIT, mesmo quando os outros TTs estão ocupados comunicando outros dispositivos a jusante. Com apenas um TT, seu PC pode acabar esperando, mesmo com uma largura de banda de 480 MBit / s, porque o hub tem capacidade limitada de converter mais de uma mensagem por vez entre as diferentes velocidades.
Esta descrição destacou muitos problemas importantes de tempo de USB que os TTs lidam, mas o ponto importante é que os hubs USB 2.0 podem usar dois designs distintos. Você realmente deseja evitar os hubs Single-TT mais baratos.
As velocidades USB 3.0 e 3.1 foram mencionadas em outras partes dessas respostas. Mas os TTs no hub nunca se convertem entre as velocidades de 5 ou 10 gigabit e 480, 12 ou 1,5. Em vez disso, os hubs USB 3.0 e 3.1 funcionam como um par de hubs. Os sinais de gigabit têm seus próprios pinos dedicados nos conectores USB mais recentes, que são conectados a um hub que roda apenas a uma velocidade de 5 ou 10 Gbit / s. A comunicação simultânea de 480 Mbit / s ocorre nos pinos originais; portanto, os dispositivos de 12 e 1,5 MBit / s são convertidos em 480 Mbit / s por TTs, mas nunca em 5 ou 10 Gbit / s.
Também mencionado em outro lugar é "baixa velocidade", que tecnicamente significa 1,5 Mbit / s no jargão USB, mas pode significar 1,5 ou 12 Mbit / s em conversas casuais. 12 Mbit / s é chamado de "velocidade máxima" na terminologia USB. O protocolo USB MIDI, que é tecnicamente parte da "Audio Class Specification", usa o protocolo "bulk" ( não o protocolo de interrupção, conforme reivindicado em outra resposta). A especificação USB não permite protocolo de transferência em massa para velocidade de 1,5 Mbit / s. Portanto, a menos que um dispositivo MIDI USB viole muito a velocidade do USB, ele sempre terá uma velocidade de pelo menos 12 Mbit / s. O MIDI USB pode ter uma velocidade de 480 Mbit / s; nesse caso, os TTs não se aplicam. Mas a grande maioria dos produtos MIDI USB atualmente ainda tem velocidade de 12 Mbit / s.
Então, você realmente deseja garantir que seus hubs USB sejam do tipo Multi-TT, se você planeja maximizar o desempenho.