PDA

View Full Version : SqueezeBox Testing (beyond the "DTS" test)



mswlogo
2007-04-07, 23:03
I finally have proven to myself “Bits are Bits” and the SqueezeBox 3 (no mods) transmits every last one of them. I was discouraged to hear folks talking about Linear vs Switching power supplies, changing caps and who knows what else. The standard SqueezeBox 3 transmits (over SPDIF) perfectly. What really got me was the Coax vs TosLink debate. I have, as many of you have, had done a sanity check with a DTS CD. But some folks argue that DTS may have error correction (or recovery to smooth over errors) even if the pipeline isn’t perfect. So it wasn’t proof enough for some.

To test I generated a simple 200 Hz sine at max amplitude in MatLab. Then sampled this at 44.1Khz for exactly 2 seconds and saved it to wave file. I did this because it was important I knew exactly when it started and ended. I then “played” this on the SqueezeBox 3. The simple max amplitude sine wave does not have to be any more complex. It measured the full dynamic range and a good many levels in between (441). The hardware does not care what order the data is (i.e. how many simultaneous frequencies) the DACs, crossovers and speakers worry about that. I could just as easily used complex music. But I would have had to add markers to help line things up for comparing. I may do this in the future for grins. I chose 200 Hz so I could hear it on my PC speaker working in MatLab.

Recording this was a bit of chore. I went through 5 USB SPDIF input/output devices (2 of them twice) before I was happy. Folks at guitar center hate me. I tried a Fast Track Pro, EMU 0404 and Audigy 2 PCMCIA, Fast Track Pro again and finally the EMU 0404 again. You must use ASIO (or similar) drivers to get data “bit perfectly” in and out of the PC.

What was nice with the EMU is it came with tons of software including WaveLab Lite which was the perfect tool for this. Most ASIO software are multi-track Recorder/Mixers that don’t mind resampling or normalizing. The folks that sell WaveLab invented ASIO. To test the softer I actually managed to loop a DTS Track through SqueezeBox 3, into EMU 0404, into WaveLab (in monitor mode) back out the EMU 0404 and into the Meridian. Without skipping a beat. I could record the stream at will and then play it back. I needed this base line before looking at bits in the MatLab generated waveform.

Then I finally recorded my MatLab waveform out of the squeezebox and saved it to disk. Question was, was it bit for bit, sample for sample the same. I had to edit the recorded waveform down to the exact samples I started with. This was tedious but fairly easy to confirm and do in WaveLab. Then I read it back in MatLab and plotted the difference between the two vectors. And they were ZERO. In fact the files were so close (even the headers) I was able to diff then with FC/b in Windows (FileCompare in Binary).

For grins and I’m sure this has been done before. I burned the waveform and ripped it to see if anything was lost there as well. Header were different and I could not diff them with FC. So I used MatLab and they were the same.

So if you’re hooked up with SPDIF you can do no more perfectly than a standard squeezebox 3. If you want 24/96 or need good analog then you may consider mods or a transporter.

Oh yeah I recorded off the Coax using dirt cheap cables.

ceejay
2007-04-07, 23:31
Hi

hope you enjoyed your testing! And yes, bits are bits. However, you should be aware that (IMHO) you haven't proved very much, at least that is relevant to the debates that spring up from time to time.

The main problem is that you were sending the bits into a data capture device, which if course did precisely what it was meant to do. You were *NOT* playing it into a device that was trying to catch the bits and then feed a DAC, which is how these things are really used.

Basically, in your testing you've eliminated the effect of jitter, which is (alleged by some to be) the cause of real-life sonic differences.

Yuo have therefore, unfortunately, proved nothing - if you are using a downstream DAC which is prone to jitter (which all of them are to varying extents) then you may well have differing results from an SB vs a Transporter, or via Coax or Optical, or with different cables....

All IMHO, of course.

Ceejay

mswlogo
2007-04-08, 06:03
Well I would expect anyone considering mods to their squeezebox has a Receiver or Preamp that is capable of locking onto the SPDIF output of the squeezebox jitter free as well as or better than the cheap $200.00 box and junky cables spliced together I used. If your system can't I wouldn't be looking at improvements to the squeezebox to fix the problem. The device I used doesn't have any special capabilities over what any receiver/preamp has which is a phased lock loop. My Meridian has Digital outputs as well and I plan to check there as well. If it were to fail, I'd blame the Meridian not the SqueezeBox.

Actually my DACs are in my Speakers. Most decent systems rebuffer (dejitter) just before the DAC.

I also plan to introduce errors into a DTS stream to see how much error correction it actually does and see how good a test using DTS is. I plan to try timing errors (jitter) and level errors.

ceejay
2007-04-08, 07:26
Well I would expect anyone considering mods to their squeezebox has a Receiver or Preamp that is capable of locking onto the SPDIF output of the squeezebox jitter free as well as or better than the cheap $200.00 box and junky cables spliced together I used.

Sorry, I really don't think you get it. If the box you were using was just doing a digital capture, without attempting a DAC, then jitter is irrelevant. It matters not a bit (sorry!) if the timing wanders all over the place, because the bits will all arrive eventually, in the right order. Jitter becomes a problem at the point where the bitstream is converted to analog, and your experiment doesn't include that stage, AFAICT.

And the assertion that any receiver or preamp should be capable of locking on to the SB's output stream "jitter-free" is, to say the least, highly contentious.

Your experiment is rather like one which is looking for the presence of a blue colour in some chemical reaction, by taking photos with a black-and-white camera...

IMHO.

Ceejay

mswlogo
2007-04-08, 14:47
Most decent external DACs and preamps have a Dejitter circuit. Basically a small memory to store the stream as it arrives (just like a computer capture device). It then pumps that buffer out on a new clock for internal use (e.g. a DAC). That is, it records it to storage and the plays it in real time. So yes, I have not proven some crappy receiver won't screw it up. But I have shown the data can be captured without error and if EMU 0404 can do it I expect a quality preamp/DAC can to do as well and if can't, get one that does. The EMU didn't use any special external word clock.

People think SPDIF has to processed immediately to the DAC as it arrives. It doesn't. That how DTS, AC3, work. SPDIF is just a transmission medium and it doesn't have to directly drive your DAC clock. It can be buffered and often is and the SPDIF is just a transmission medium and as long as like you said they arrive in order with correct values then it's the consuming device that should reclock it and be responsible for timing of it. And that's how most equipment is these days. There is no need to make the bits any "squarer" if they are already good enough.

Like I said earlier since my system does reclock it (several times). I plan to check it further down the pipe as well which will confirm the prior stage got it right. Like you said it does not matter until you get to the DAC, but the DACs in some cases are a long long ways away. In my case they are AFTER the crossovers in the speakers.

My assumption is if folks are serious enough to think about Mods and external word clocks for their SqueezeBox I would hope they have a dejitter circuit somewhere very close to there DAC.

Patrick Dixon
2007-04-08, 15:00
People think SPDIF has to processed immediately to the DAC as it arrives. It doesn't. That how DTS, AC3, work. SPDIF is just a transmission medium and it doesn't have to directly drive your DAC clock. It can be buffered and often is and the SPDIF is just a transmission medium and as long as like you said they arrive in order with correct values then it's the consuming device that should reclock it and be responsible for timing of it. And that's how most equipment is these days. There is no need to make the bits any "squarer" if they are already good enough.
The DAC clock has to lock (in some manner) to the SPDIF clock. Because the input and output clocks are nominally (but not exactly) the same as each other, you can't just buffer the data and have it take care of itself.

Have a go at designing and building yourself a DAC, and you will start to appreciate the issues involved. It's really not quite as straightforward as you seem to think it is!

ceejay
2007-04-08, 15:00
Most decent external DACs and preamps have a Dejitter circuit. Basically a small memory to store the stream as it arrives (just like a computer capture device). It then pumps that buffer out on a new clock for internal use (e.g. a DAC). That is, it records it to storage and the plays it in real time.

Actually, its a lot harder than that, which is why most DACs don't do a very good job of this process. Simply having an intermediate buffer doesn't get you anywhere because the incoming and outgoing clocks will never be quite synchronised - and in SPDIF there is no "hurry-up/slow-down" mechanism for the receiving device to control the input flow.

There is one foolproof way of doing this, of course, and that is to have a large enough buffer - in extremis, an entire CD's worth - but generally users don't wait to wait even a few seconds before having sound come out.

There are some clever techniques available but they are far from simple and not widely used except in the more esoteric kit.

Anyway, this is all going somewhat off topic (should really be on the Audiophile board!). Fact remains that your experiment doesn't prove a whole lot except that bits get from A to B over SPDIF links. Doesn't help anyone decide whether to use one link rather than another, or to get a Transporter, or a digital mod for an SB...

IMHO.

Ceejay