65.19.76.104
In Reply to: RE: 2L Downsampler Comparison Test posted by fmak on June 26, 2008 at 05:05:07
"It is not a general test of resampling as the files are being asynchronously downsampled from 352.8k to 96k - not a good thing for integer maths."
Not to pick a nit as this is primarily a question of terminology, but these conversions are not "asynchronous". The processing involved is purely mathematical and does not involve any clocks. This is because the two sampling rates are in a ratio of 147 to 40. The SRC conversion can be implemented without any fractional conversion by upsampling 40 times to the least common multiple and then downsampling 147 times. (The LCM is 14112000.) This is a costly process, but there are computational techniques that make it less brutal than it appears at first glance. If the conversions are done in double precision floating point (64 bits) there won't be any loss of precision that is relevant after the final result is reduced to 24 bits. This costly process need only be done once by the mastering engineer, so the computational cost is irrelevant. Note that this process does not add or remove any jitter artifacts from the samples. Whatever jitter was present when making the original DXD is still present and (assuming jitter free playback) will be the jitter in analog playback.
Asynchronous sample rate conversion is an entirely different animal. It involves two clocks. It allows resampling between sampling rates that not only need not be integer multiples, but they need not be constant throughout the musical track. This can be achieved by converting to analog and then converting back to digital, but this will add non-linear distortion and noise, so there is a (slightly) better way to do it that keeps the signals numeric. However, this process is still inherently inaccurate. It also embeds any jitter from the two clocks used into the final digital samples, and this jitter, like the original jitter when the DXD was made, can never be removed.
The attached reference discusses these two problems and suggests the use of different terminology for them: "arbitrary sample rate converter" and "asynchronous arbitrary sample rate converter". Now why does terminology matter? Because two different methods are used, one purely software and the other necessarily hardware. These different methods have their unique costs and limitations. If they are given the same name there will be unnecessary confusion.
By the way, some software SRCs do a poor job when converting between non-integer ratios. One of the ones that I have tested even managed to introduce non-linear distortion when converting between non-integer multiples. It added 9th and 11th order harmonic distortion at only about 80 db down, even when 64 bit computational mode was selected. It did not add this distortion when converting between integer multiples. Apparently, a computational shortcut was chosen that butchered the data. I call this a bug. Other SRCs do not exhibit this behavior. (e.g. the free version of R8BRAIN.) So you are rightly suspicious of these conversions.
We can thank the standards setters (RBCD, DVDA, whatever) for creating this situation. The participants look out for their own selfish interests and leave a morass of unnecessary complexity behind for others to cope with.
Perhaps 2L will post their own 88.2 kHz version of the file. The Linn studio master downloads are at 88.2 or 96 kHz, depending on the original source speed.
Tony Lauck
"Perception, inference and authority are the valid sources of knowledge" - P.R. Sarkar
Follow Ups: