The Lyrebird Pi2DAC Story
Passionate for Audio
My passion: audio, electronics, embedded systems. I used to design analog audio filters, sound cards, even power amps and loudspeakers. I have left all my sound setups in Germany when I came to the US. So, I thought about to design again, but better and a more high-end sound solution. My goal was and is: try to achieve the best possible audio quality, the most flexible setup and use modern technologies such as DACs, FPGAs, embedded systems, MCUs etc.: a mix of HW and SW, well designed systems, as HW-SW-Co-Design.
Best Audio Quality?
What are my criterias for best audio quality?
- a very low distortion, THD+N: should be much better as typical 0.01%, e.g. less than 0.001% THD (often you see 0.1% as "good")
- a very high SNR, Dynamic Range: even BlueDisc Audio CDs might provide just 60, typically 70..80 dB - why not trying to get out really more than 110 dB (see below about 24bit)? at least: 120 dB SNR
- a very tiny but flexible setup: let's use the module on different MCUs, as different setups, e.g. as Network Audio Player, as Soundcard, as Bluetooth Wireless DAC, as Sound Processing Engine ...
- related to high SNR and Dynamic Range: fight for very low noise, including hum, e.g. power supply hum, ripples or humming ground loops, also well-designed power for digital and analog circuits needed
- and have a flexible platform to do audio processing, e.g. with FPGAs, a DAW solution, a software and tool set where I can play with sound effects, filters, e.g. Dynamic Range Extension: e.g. MATLAB, SimulLink, GNU Octave ..., tools with similar approach for audio processing with live input and output or my own audio tool suite would be nice, using HW acceleration and SW + HW as system
True24 bit?
People think, 24bit DAC means also 24bit out. Not true! Not possible! No way.
Be happy if yoy have really 16bit out, even you would play 32bit files.
For 24bit really coming out you would need a DAC with 144 dB SNR or Dynamic Range. But there is not any. Best DACs I have found have a Dynamic Range (or SNR) about 100 dB ... 120 dB.
But with 120 dB SNR you get just 20 Effective number Of Bits (EOB). And a typical 48KHz, 16bit audio CD could provide up to 96 dB Dynamic Range - way enough for your ear or most of the DACs on market.
Imagine: 96 dB as loudness, volume ends up in noise similar to sitting on an airport runway with jet planes starting not far from you.
And please check your DACs, also in smartphones: often they have SNR of 90 ... 100 dB. So, you are fine with 16bit, but nothing can give you really more as 16bit in terms of quality on outputs
(necessary to measure it, no way to hear 24bit or 144 dB SNR).
But my technical challenge is: even you cannot really listen to, you cannot hear the difference between 96 dB and 144 dB - is it feasible to get really 24bit out from an audio
system? Could I design a True24 bit DAC?
Even power amps, loudspeakers, headphones are never able to reproduce such a sound, I am sure: if I improve the sound quality as input to following systems such as power amps or headphones,
I could "feel" the improvement. Similar to HDTV or 4K: if better quality on input (source) - even displayed on standard SDTV - you do not get the full resolution, but you see the improvement due to better processing and "perfect" output.
BTW: even a DAC would be able to reproduce 24bit - the signal changes (the steps), are so small, that they will disappear immediately again in noise: just adding a simple resistor, think about a potentiometer for volume control, you create again so much noise that some bits (signal level changes) are lost again. A 1K resistor would generate similar noise as the lowest few bits on a 24bit sound sample would be or as a need to recognize still as bits instead of noise in any following device.
I would need a design running with very high voltage, so that signal changes will be large enough not to disappear in noise floor again. This was my original idea to create a High Voltage DAC.
The history
Lyrebird Pi2DAC stands for version two, also means: intended for Raspberry Pi 2. And I have used the animals (bird) name Lyrebird as indication to let it sound really great (as brand name and audio quality similarity).
It has parents and brothers, also designed by me.
T-DAC, RPi-DAC
I have started with a good, but simple DAC, used on an FGPA board with an ARM Cortex-M4, XynergyXS. It was working so great that I decided to continue, to improve and create a full working system.
In order to make the audio processing easier, to offer also to other people - I have changed the design to use a Raspberry Pi (all versions, from B, B+ and 2). I could send this RPi-DAC to some clients and users and it looks like they are very happy.
DurioSound
The interest and feedback was so great that I have designed a more cost-effective version of a DAC for the Raspberry Pi. It ended up in getting in touch with company Gravitech and a great guy in Thailand, Pitichai. They took over my design and run it now as their business.
The DurioSound is based on my schematics, PCB and first prototypes.
For DurioSound, please see also these links:
- DurioSound Kickstarter: it was supported by me
- DurioSound Forum: I am member and in close touch with Pitichai
My final setup, as a real "product", with enclosure, ended up in a Soundcard DAC device (with enclosure). It uses a DualMono DAC configuration running in NOS mode, with FPGA (for NOS, audio filtering, Stereo Wide Effect). And it has several interfaces to use as soundcard, such as: S/PDIF, TOSLINK, USB, Bluetooth. Please see pictures on RPi-DAC IF.
R-2R, Ladder DAC, Delta-Sigma, NOS ...
Here some of my thoughts for the experts:
Often audiophile people complain about Delta-Sigma DACs. Delta-Sigma DACs are quite common, they do oversampling and create a high frequency noise spectrum (which needs filters and Noise Shaping inside DACs). People believe, NOS DACs (Non-Over-Sampling) are better. Such one can be an R-2R or Ladder DAC.
I thought about all, did some investigation and tried to design a High Voltage R-2R, NOS DAC. Ideas where:
- use a high voltage DAC which can run with +/-18V and generates an audio signal swing of -16..+16V (compared to - .. + 4V on a 5V system)
- increasing the signal level changes into larger voltage steps can take the 24bit out of the noise, a bit will not disappear in noise again
- due to fact that such R-2R DACs are maximum 16bit wide - use two DACs and do a careful split and add together the output. It means: upper and lower part of audio samples throught different DACs. But this by itself is very challenging: combing must be very accurate (very low tolerance or errors/offsets) and very stable in terms of temperature change, voltage drift and differences etc. An issue to solve by its own.
- use R-R2 DAC, even it does not have native I2S input: OK, no problem: convert I2S into the serial protocol (similar to a SPI) need on DAC via an FPGA. Nice and interesting project.
This was the idea for the Lyrebird True24 bit DAC. (see more here)
But checking the R-2R DACs and the intended chip to use ended up in a "maybe not working for audio" decision:
R-2R DACs, where people think, they "sound better", have two major drawbacks:
- R-R2 (or NOS) DACs have a SINC filter characteristic: the output has a attenuation on high frequency part and would need an Inverse SINC Filter (amplify higher frequencies before sent to DAC or have outout filters with 1/SINC characteristic)
- Even the DAC I have selected for my future design was carefully selected - such R-2R DACs have always Switching Glitches: when the DAC must change internal switches on resistor network, to change output voltage - there is always a glitch, an over- and underswing on the output signal. R-2R DACs have also a Setting Time.
- Even the Setting Time would allow me to support 384KHz sample rate - the switching glitches scare me (a lot). The switching glitches would create distortion, noise and would need again filtering after the DAC. And the remaining noise energy could be still quite high, especially when running with higher sample rates. And they are not noise shaped (not moved into inaudible spectrum as done on Delta-Sigma).
Therefore, I decided to discard the idea with R-2R DACs, to use instead Delta-Sigma. These Delta-Sigma DACs seem much faster and better prepared for audio processing, especially if they do a great job on Noise Shaping. It is much easier to add a low pass filter just to make sure the high frequency artefacts do not come out compared to deal with artefacts, noise and distortion on an R-2R DAC which is in the audio spectrum we need and potentially we could hear it.
Therefore, I changed back to Delta-Sigma and the PCM1794A which is for my feeling the DAC with best parameters and features.
Audiohile people talk also often about NOS, Non-Over-Sampling. Actually, it can only mean to use an R-2R DAC. But they use it also often on Delta-Sigma DACs when they let it run in external filter mode, assuming it is NOS mode. Here, the DAC will not do Over-Sampling internally anymore, all internal filters are bypassed and not used. But: you have to provide the DAC input as 4x or 8x the sample rate, an external unit had to do the pre-filtering. Actually, it is still Delta-Sigma, still Over-Sampling. Just: the DAC does not do anymore but the digital audio input is still over-sampled. An FPGA can do. And it could also do some pre-emphasis, use this over-sampling feature to do some Dithering. (BTW: what Dithering is it will not explain here, but experts would know: simplified info here: add artificial, White Noise, to please you ear)
What is the goal?
I try to provide the modules, a setup which can be used by you. People interested in the best possible audio with a Raspberry Pi (focused on RPi 2, maybe B+) can enjoy and participiate. I try to provide Lyrebird Pi2DAC as a product ready to order. But I have to see how to manage a mass production.
But this is not the final goal, just as a Pi2DAC DIY modular concept. It is more an interim step in order to create a real product, with enclosure, certificates (e.g. CE, UL) and to offer as a High-End Network Audio Player.
My thoughts about a "real product":
- a Network Audio Player, also for wireless connections (WiFi, Bluetooth)
- have also options to use as it Soundcard: it should have options for S/PDIF, TOSLINK, Bluetooth audio. But use
also the network connections as Virtual Audio Cable or Virtual Sound Card,
e.g. Dante Virtual Soundcard or JACK2 Audio Connection Kit
or: bring out the audio, e.g. on S/PDIF, TOSLINK, for another soundcard: Raspberry Pi with output to other sound systems - Use a processing engine which is powerful and flexible: it can be Raspberry Pi, but should also support AirPlay. But it can be also someting else, e.g. Parallela, ZedBoard or ZYBO running my own Linux and audio processing software, at least MATLAB or SimulLink for audio processing, a Digital Audio Workstation (DAW)
- use 8 (EIGHT !) or even 10 (TEN !) DACs, running in DualMono mode. Every DAC provides additional +3dB SNR. Use so many DACs that it ends up in 24bit resolution, a True24 bit output, potentially to get it out (no idea how your power amp or headphone will kill it again)
Therefore, the final goal is to create a product, in an enclosure, with interfaces, including user control (e.g. LCD/OLED display, rotary, LEDs) which has inside 5 (FIVE !) different streams of I2S audio. Potentially 10 (TEN !) DACs and five separate streams, e.g. for five different audio frequency ranges (spectrum).
It gives freedom for Bi-Amping (two audio streams with different spectrum for separated power amps, speakers), or as audio processing, e.g. Equalizer (EQ) where the audio streams are really processed in parallel, by hardware. And summing all at the end will increase the SNR and provide best possible audio quality. Or imagine Tri-Amping: you have loudspeaker with bass, mid-range and tweeter. Instead of passive, heavy filters inside speaker box, used to split one audio into three different frequency ranges for the different sound drivers - use three power amps and do the filtering before any digital-to-analog conversion. And have the flexibility to change cross-over frequencies, to adjust the spectrum volume, correct phase and audio characteristics ... an Equlizer (EQ) taking loudspeakers into consideration as well.
For sure, it will be expensive (assume USD 2,000.00 or more). Therefore, it must be feature reach, looking nice (e.g. enclosure, VU meter, user control). And:
It should be accompanied also with very powerful software where you can adjust audio filtering, do audio processing, parameterize the hardware, adjust for your preferences. Think about a DAW as software tool with powerful hardware support.
It should be a Network Audio Processor which will do much more as just playing songs. It should be a central audio processing unit where you can also upconvert, change dynamic ranges, filter, add effects, decode different types of audio formats ... For your living room, for your high-end HiFi audio setup, for your flexibility and best audio quality output ever possible.
Feedback welcome
Please, send me your thoughts, ideas, suggestions via email or join the forum: Lyrebird DAC Forum.