I recently auditioned four CD players to use as digital transports, and discovered they can sound very different. I wanted to understand why these CD players sounded different, given that they were reading the same digital source material, and transmitting that material digitally to the same pre-amp. When auditioning audio equipment, I really only care how the equipment sounds to Jeanie and me. This time, however, my curiosity motivated a few extra experiments.
In two previous posts, I explained a bit about digital audio interfaces, and what types of errors might account for acoustic differences. I described a test I performed to check whether CD read-errors might account for the differences I heard between CD players, and decided that wasn't the issue (for a couple reasons). Of my remaining hypotheses, I could only hope to test whether jitter (timing errors) was an issue in the digital signal output by the CD player.
I don't have the right electrical test equipment to really measure jitter in an SPDIF or AES/EBU signal. However, I do have a digital oscilloscope and can can transfer electrical measurements to my computer. So I made a plan to record each CD player's SPDIF output as an analog waveform, in some way that would allow a reasonable back-of-the-envelope analysis.
Here's the experimental setup for each CD player: I connected a good RCA-terminated 75ohm cable to the CD player's SPDIF output, and connected my oscilloscope to the other end -- the scope probe hook wouldn't fit around the RCA plug's signal conductor, so clipped it to RCA ground, and clipped the probes grounding clip to the RCA signal conductor. Also note that I didn't use proper termination, leaving the scope's 1M impedance to terminate the 75 ohm line. For each of four pieces of music, I chose a particular passage I would play while taking SPDIF measurements. I wrote a small script to configure and fetch waveform samples from my Tektronix TDS-210 oscilloscope. While playing each of the selected bits of music, I ran my script when the CD player's track timer reached the predetermined time. The script recorded a sample of length 1200 nanoseconds, then 6000ns, then 19200ns. The short samples have good time-resolution, while the long samples have more waves to measure.
Using my equipment, I couldn't run my script on exactly the same section of each music passage on each CD player. However, the overall "type" of music should be the same. For example, the low and high frequency contents of the music should have roughly the same proportions across my samples for each CD player, and the volume levels should be nearly the same, too. Another source of error might have arisen from terminating the SPDIF termination with a 1 megaohm load (my scope). Though this probably caused some overshoot and ringing in the digital signals, I don't believe it caused important timing errors. I eventually picked up better cables and a 75 ohm BNC terminator -- I'll post again if the results are interesting.
After collecting all that data, I chose to use the 6000ns samples for analysis. I wrote another script to find the first time the captured data crossed zero volts, and then measure the distance from that zero crossing to all the other zero crossings we captured. Those distances should have been multiples of 177ns. If the distance between the first zero crossing and a later zero crossing was 880ns, then I assumed it should have been 885ns (since 885ns is five times 177ns), and recorded a 5ns error. Each 6000ns sample had about twenty zero crossings after the first zero crossing. After compute the approximately eighty errors from my four 6000ns samples for a musical passage, I computed the average and standard deviation for the errors.
The four musical passages I used were
- Shostakovich's preludes and fugues for piano, performed by Tatiana Nikolayeva, prelude no. 24 (Hyperion CDA66441/3)
- Alizee's "Moi... Lolita" from her Gourmandise album (Universal/Polydor/Requiem Publishing 549 545 - 2, LC 00309)
- Bruckner's 5th symphony, performed by Barenboim and the Berlin Philharmonic (live, c. 1992), first movement (Warner Classics, 2564 61891-2)
- Josquin Desprez, Sanctus de Passione, performed by the capella antiqua Munchen under Ruhland (Seon/Sony Classical SBK 60362, 01-060362-10)
The four CD players were
- Lexicon RT-10
- Pioneer Elite 79avi
- Rotel RCD-02
- Momitsu v880n
The Lexicon RT-10 has both SPDIF and AES/EBU outputs, and I recorded data from both. I also recorded data from my pre-amp's SPDIF record-out jack. The pre-amp is an Anthem AVM-20. We also did informal listening tests between these CD players, usually doing a/b comparisons, and one time doing a single-blind trial.
I will write about the results in my next post. If you want to read ahead, take a look at my rough experiment writeup of the CD players' performance, on my regular webpages.
Labels: audio, electronics, experiments