The following is defined in the USB MIDI 2.0 specification. (see picture).
1. Assume the statement for multiples of 4KB/sec should be for values 2 and up, not for 0 and 1 as they are reserved for unknown and legacy MIDI speed.
2. The total bandwidth should be for all groups in a GTB.
Suppose there legacy groups, should this still value be 1 ? that would means 4 groups share the 31.25Kb/sec , this make sense.
Suppose you want to limit each of the 4 group to 31.25kb/sec , then this value should be 31.25 (around 30 or 32)
3. if the OS would throttle, suppose 2 applications use the same groups/device. That could still result on more data send to the
device as each application could limit it, but if each send that that limited speed it still double the expected speed.
4.. Same as [3] for FB's. Function blocks do not use 4kb steps. though it specifies legacy port in the m1.0 bits and by the spec, there can only be one group in such case..
Though with two applications sending data to the same group, the speed could be double as well
5. AFAIK none of the operation systems will throttle the bandwidth based on the GTB settings. So then what's the use ?
6. Bottom ,line. Thus the conclusion might be that bandwidth in the GTB and m1.0 bits wont limit the data to the device as the device specifies in FB's or GTB's