I am working on a project that uses a Raspberry Pi and a number of usb audio devices to do audio playback as described here:
https://www.esologic.com/multi-audio/I am using a Raspberry Pi 4 B 4GB and three of these audio devices:
https://www.aliexpress.com/item/4000226869404.html?spm=a2g0o.9042311.0.0.51c14c4dH2a235As in the example project cited, I have a Python script that uses threading to perform playback through multiple devices at the same time via the sounddevice library (
https://python-sounddevice.readthedocs.io/en/0.3.12/api.html).
Trough experiment I have found that I get different results depending on the controller chip in the USB hub.
When a hub with a Realtek RTS5401 controller chip (
https://datasheetspdf.com/datasheet/RTS5401.html) is used there is no audio distortion when more one device is playing audio. It works as wanted and expected.
When a hub with a Genesys Logic GL3510 controller chip (can't find datasheet) is used audio playback through two or three devices at the same time is distorted. It is scratchy and unintelligible.
Both hubs are powered with their own power supply independent of the RPi. The Realtek device is INSIGNIA brand from BestBuy. The Genesys device comes from USBGear (
https://www.usbgear.com/CG-3510S4-Board.html)
The question I have is what is difference between the hubs/chips that might account for the difference in audio quality. The possible engineering issues are outside my experience and expertise, but I am curious to know what they might be.
Thanks in advance for any observations/explanations/ideas.