Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


Perceived SQ differences playing local files
#18
(10-20-2021, 02:16 PM)Tim Curtis Wrote:
(10-20-2021, 08:24 AM)the_bertrum Wrote:
(10-19-2021, 06:26 PM)Tim Curtis Wrote: Yes apparantly not enought time to mention Time. Even less likely is a mention of the transfer method used after the bits leave the safe haven of the file/stream reader :-0

In conversations of this type, I always wish to know the "why" of it.  There is plenty of "why" to explain how accurate timing is important in conversion and transport after the safe haven, but I've yet to ever hear a "why" for how the information in a file can be corrupted in specific detectable but non-destructive ways by things like plugging a USB cable in the other way before it leaves that safe haven.  For some, that they hear a difference is enough never mind the why, for me I always want to know why.

Timing jitter is effectively handled by audio devices that operate as bus masters and "pull" the audio data from the host and then re-clock it using onboard precision clocks. Devices connected via the I2S bus become bus master by setting up whats called I2S Master Mode. Devices that connect via the USB bus become bus master by setting up whats called USB Asynchronous Transfer Mode. There are also dedicated re-clocking devices that sit inbetween the host and the audio device.

Corruption of digital signals transmitted within a system occurs by the usual suspects including electrical noise, implementation bugs, resource congestion/starvation, etc. The specific causes depend on the transmission medium and method of transmission. Types of corruption include bit errors, dropped packets, out of sequence packets and so on.

Recognising this the implementation of many digital communication protocols for example TCP/IP include robust error detection, correction and retransmission mechanisms to ensure data integrity. File transfer, downloading files Web browsing, Email and many other types of bulk data transfer use these robust mechanisms because their purpose is to guarantee error free delivery of the data. There are no timing or data rate constraints with these types of protocols.

Some communication protocols for example USB Isochronous Transfer Mode or I2S bus serial transfer however have no such data integrity mechanisms because their purpose is to deliver data in real-time at a specific constant rate and under strict timing constraints. The reason there is no data integrity mechanism is that the time it takes (overhead) to perform these operations exceeds the rate and timing constraints. In these protocols regardless of the integrity of the data its simply passed on to the end point.

Audio data that is to be transmitted in real-time for example between a host and a USB attached audio device will use Isochronous Transfer Mode. If the audio device is attached to the I2S bus for example a Pi HAT audio board it will be using I2S serial transfer protocol.

To determine the integrity of the data being transmitted across USB or I2S busses its necessary to connect a bus protocol analyzer between the host and the device that can capture the data in real-time and provide an intelligent analysis showing any data, sequence or other errors.

Links
https://www.xmos.ai/download/Fundamental...o(1.0).pdf
https://en.wikipedia.org/wiki/I²S
https://www.totalphase.com/blog/2020/07/...hoot-them/
https://www.totalphase.com/solutions/wp/debugging-usb/

Thanks for the links Tim, very useful insights.  Are the files generally read from storage over these low/no integrity methods , i.e. "streamed from disc" or do the file reads happen over an error corrected method into memory and streamed from there?
I'm wondering if the general principle that SQ is improved in these low integrity situations by using methods that result in the accumulation of fewer errors over time, or perhaps that the compensation applied in some methods is better than others?
----------------
Robert
Reply


Messages In This Thread
RE: Perceived SQ differences playing local files - by the_bertrum - 10-20-2021, 04:48 PM

Forum Jump: