@herman As a programmer and electronic interface design engineer, you're not "locked" into using isochronous mode: You have bandwidth and buffers so if i can transfer 500 MBps+ (using SATA SSD = 4 Gbps+) of data without error (well, if there are errors, they are corrected), it should't be a problem to playback music!
The USB spec has a enough protocol sophistication to handle many things. Of course, computer setup, minimal cabling care (lenght, compliance, etc) and other evidences must be met.
Want to test cables for performance?
https://www.passmark.com/downloads/USB3LoopbackPlugUsersGuide.pdfIt's about 100$ so for those who want to spend big money on cables, that shouldn't be a problem.
On the Linux platform, you can hook to the kernel and you have a rich set entry points / data to monitor USB for performance and errors. Windows / Mac should have a couple of tools too (i'm a Linux user, so not sure about those 2). So imagine testing a USB cable with NVMe to USB adaptor and pushing gigabits of data through it. If your cable is not good, it'll show.
cp /dev/nvme0n1 /dev/null
(copy from external NVMe USB drive to NULL = Max Speed of the source). Of course it's bulk mode!
As for transfer mode, here is a user question and a response from usb.org:
https://thepenguin.eu/2018-01-19-audiophile-usb-cables/
USB transmits information digitally. Bits are either received correctly or
not received. What a bit looks like on the wire has no effect on quality if
the bit is received correctly. If a bit is not receive correctly, error
checking in USB protocols will flag the error in data transmission.
Jitter is not a cable problem. Jitter is a transceiver (PHY) issue on the
devices.
Can bits get scrambled within a cable assembly on occasion? Yes, primarily
due to EMI but this is highly unlikely -- more on that later. Is occasional
data scrambling a problem for audio/video?
Maybe. The answer depends on the
hardware receiving/rendering the data.
USB supports isochronous transport which is a timely delivery of data. The
isochronous transport has guaranteed bandwidth on USB. Isochronous
protocol, however, does not support error recovery. In other words, if data
is flagged as an error by the receiver, there will be no attempt at data
retransmission.
So if the receiver is using the isochronous protocol, then
there can be errors in data. Most webcams use the isochronous transport.
High-end audio/video equipment that does not mandate real-time delivery of
data should not use the isochronous transport because accurate data delivery
is not guaranteed.
USB also supports bulk transport. The Bulk transport shares bandwidth and
timely delivery is not guaranteed. Bulk protocol does have error recovery
and errors in data will be retried. If the receiver uses the bulk USB
protocol, then there will be no errors in the data.
This is why USB mass
storage devices always use the Bulk transport.
Most USB audio/video devices use the bulk transport because real-time
delivery of the data is not necessary. Bulk audio/video devices will buffer
data before rendering it.
I can think of only two situations where the
audio/video will be disturbed when rendered: 1) If the host is busy
performing IO to other USB devices, or 2) There are errors in data
transmission where continual retries cause buffer under-run to occur.
The
second point could be cable related -- it could also be poor hardware design
of the host or peripheral as well. The USB Bulk transport works very nicely
for audio and video because data is accurately delivered.
Now onto cable quality. A cheap USB cable will work perfectly fine in the
vast majority of home/office environments. All USB certified cables use
certified connectors and are shielded, have minimal skew on the data lines,
and meet criteria regarding impedance and voltage drop. If the environment
is extremely noisy with EMI, then a better shielded cable may be necessary.
Usually relocating the cable or power strips will suffice to mitigate EMI.
Personally, I would never recommend anyone buy an expensive USB cable unless
they are experiencing problems not related to their hardware and there
exists definitive suspicions of environmental interference.
I do always
recommend that the cable purchased be USB certified which provides assurance
that the product is properly designed for USB. Using USB certified
audio/video equipment also assures that the USB signal quality and other
packet parameters of the transceiver meets specifications.
Of course, all of the above is premised upon properly designed and
functioning hardware.
Regards,
Mark Paxson
USB-IF Compliance Administrator
TechAdmin@usb.org