Sunday, 24 April 2016

IQAudio I2S Pi-DAC+

I received this a while back but had not had time to set it up previously.
IQAudio Pi-DAC+

Setup

I had a new RPi3, set it up with Rune which is a Volumio equivalent on a different Linux platform (ArchLinux - only 32 bit) but already compatible with Pi3. Works wonderfully well, doing everything  I set up for myself with MPD etc. in a flash. The Pi3 built-in wireless works a treat, but has crappier reception than the USB plug-ins.

Rune does UPnP OOTB, so I was able to test with the headphone output and the MinimServer on my Mac as a music data source. Very impressive that it all worked perfectly in a stress-free manner.

Plugged the DAC+ into the RPi GPIO pins no problem, using the supplied stand-offs and screws. Powered up - recognised immediately by Rune interface, told it to use it.

Plugged my USB drive into the RPi, restarted things. Drive and music recognised, Rune UI showed Library updating. All good.

Evaluation Approach

My approach to evaluating DACs is simple.

  1. Plug the DAC for evaluation into the Disc2 input of the Chord pre-amp
  2. The Naim CD2 is meanwhile plugged into the Disc1 input
  3. Disc1 and Disc2 have the same gain setting - this makes sense as long as the DAC and Naim have the same nominal output, I check this in the specifications
  4. Using the 80s vintage HiFi News Test Disc, which has some very nicely recorded music on it, play the same track on both my Naim CD2 and the DAC, starting at approximately the same time
  5. Switch between Disk1 and Disk2 using the Chord preamp remote control, sitting in the main listening position 
This allows me to A/B the two sources pretty easily, and when there's an interesting bit, switch conveniently from one to the other. "Interesting" usually means spatially amusing, or transiently brisk.

Observations

In isolation, the DAC sounds fairly bright, and does have space around instruments. I've only listened to some classical at this point, including some Hildegarde of Bingen, as that is probably more critical than most rock in respect of the factors I'm interested in i.e. soundstage, spatial location, "air", timing.

Listened to against the Naim, the Naim sounds dull initially, and not so immediate, almost boring. However, listen harder and for longer, and the acoustic of the Naim sounds deeper and more detailed. The instruments sound woody, and less brazen, sibilant. This is on only two tracks so far, so it's a bit unrepresentative, so more listening to do.

At this point, I'd not swap the Naim out for this DAC. at least, not for the main stereo setup.

I also have to compare this to the ObjectiveDAC (a USB-connected unit) - I'll be able to do that from the Pi directly, as it allows for both to be plugged in at the same time, and switched between. Cables are a bit of a problem as I don't have two identical sets of RCA cables, so I'll have to try with one setup and then switch the cables and try again.

How much have I allowed Rob Watts' presentation to influence me? Quite a bit probably, but then, he is a long-time listener and digital dude, so that's not necessarily a bad thing. Of course, I'd like to hear Mojo/Hugo/Dave in this setup. Maybe I can if I nip along to Audio-T...

Digital Audio Principles and Techniques

Digital Audio Principles and Techniques

This page is just a place to keep some notes about various concepts that appear to be important in the sonic quality of digital audio processing. It's been triggered by the excellent presentation by Rob Watts, Chord Electronics' digital audio consultant responsible for Hugo, Mojo and Dave. He uses lots of terms which I didn't really understand, and it's in the interest of grasping the DAC process that I started this investigation.

Noise Shaping

One of the effects of quantisation is noise i.e. the difference between "reality" and the numeric representation of that reality manifests itself as random noise. Example: Assume allowable values in digital system are 0-9; sample at time t has value 5.4, which is quantised to 5. The difference (0.4) will manifest itself as noise, and clearly varies randomly (or is it random??) across samples.

Reducing bit depth i.e. the number of bits being used to represent a signal [not yet sure why you'd want to do this - seen it referred to as part of DAC construction/design] results in quantisation noise also, however, by using a feedback loop such that the noise value for the preceding re-quantised sample is used to alter the quantisation of the current sample. The way in which the feedback is applied can be used to "shape" the energy spectrum of the noise, such that although the total energy is the same, the visible/audible/perceptible effect is reduced because the energy is lower in the more sensitive areas. Phew. Cool though.

See this Wikipedia entry for more specifics.

Dither

Actually, quantisation error is not random... It generates harmonics i.e. non-random distortion. Adding random noise of some spectrum to the signal prior to sampling makes the noise more random, and reduces the maximum level of the distortion/noise, although again I suspect the overall energy is constant.

1 Bit Conversion (!)

It's easy to understand multi-bit e.g. 16 bit ADC. Conceptually, the analogue signal is a continuously fluctuating voltage. The voltage is measured at the "sample rate" e.g. for Red Book CD 44.1k times/sec, and the resulting measurement is "quantised" to the current bit depth i.e. to fit in the number of possible values. So for 16 bit audio, the value can vary between 0 and 65535 i.e. 0 to 2^16-1. So how would a 1 bit ADC work?! I've always struggled with that...

Apparently, by using a colossal sampling rate e.g. 2.4MHz in the case of DSD, and 1bit (with a dynamic range of 6 dB!), then doing (serious!) noise shaping to push the noise out of the 20-20kHz region into the ultrasonic, you can get > 100dB SNR/dynamic range. However, it is hard (impossible?!) to add reasonable amounts of dither in the feedback loop in the pure 1 bit case, so most realistic systems use more bits to enable better and more effective dither. Sounds like DSD is crap to me... Fundamentally flawed. Especially as it gets turned into PCM anyway...

Decimation

The process of reducing the bit depth or sampling frequency, for whatever reason. Interestingly, this requires two steps
  • Reduce high-frequency information so that fmax is < new sample rate; this is to prevent aliasing in the resulting digital output; this can be done with a digital filter, using IIR or FIR techniques
  • Resample the data i.e. chuck away all the unwanted bits/samples
Obviously this reduces the effective bandwidth and dynamic range, but you'd expect that. Rob Watts describes using downsampling as part of the DAC process, not sure why yet, maybe it's to simplify the conversion i.e. by requiring fewer steps.

[Infinite|Finite] Impulse Response Filtering

Digitally represented signals can be filtered for frequency response i.e. low/band/high-pass filtered using two approaches
  • Infinite Impulse Response
  • Finite Impulse Response
Analogue electronic filters are necessarily IIR i.e. their components always retain some trace of an impulse input in their state. Thus capacitors retain some charge, however long you wait (although admittedly vanishingly small) and this necessarily impacts the working of the filter.
The presence of feedback in a digital filter generally creates an IIR filter and its "z domain transfer function" contains a denominator in its sequence of terms. An FFR series contains only a numerator.