I've been thinking about my next new big stereo and some of the challenges of integrating the best of the digital streaming and analog worlds. Some general wants:
1. Linkwitz LXMini /w subs or LX521
2. Active digital crossovers using high quality DACs and Hypex/Purifi Amps
3. Good streaming single-board computer, performing crossover computations and sending to external USB DACs.
4. Good support for analog sources, tube buffers, headphones
Challenges:
a. Computational overhead for high quality crossovers may affect DSD to PCM conversion and/or continuous delivery of streaming content to DACs.
b. Analog integration in a heavily digital system where analog only occurs just before Amps.
c. Cost and complexity of multiple high quality DAC outputs, resampling audio and timing.
One possible solution I've considered:
- Use a $99 NVidia Jetson SBC to stream audio using something like Moode Audio, then create an ALSA sound plugin to perform Linkwitz filtering using cuSignal and builtin CUDA hardware acceleration. Stream the filtered audio channels to a high quality external audio interface. (note 1)
- Use a studio grade audio interface like a Motu 8a to convert 4 - 8 channels of tightly synchronized and filtered streaming digital audio to the driver amps.
- Use the analog I/O on the Motu to support turn tables, tube buffers, headphone amps.
- You get extreme recording, mixing and parametric EQ for free.
- You get audio over ethernet (AVB) for free.
- You get a cool display for free.
- All at the cost of about $100 per DAC output channel, which is well within the DAC budget for audiophile-wannabe consumer DACs on the market. Why buy ChiFi, when studio grade pro-level equipment is so affordable? No offense to friends at Schiit.
Anyway, constructive comments most welcome.
Note 1: I'm a linux systems software engineer, so if the basic tools are available I'm pretty sure I can do this. It will take a little bit of signal processing theory / crossover theory research.
1. Linkwitz LXMini /w subs or LX521
2. Active digital crossovers using high quality DACs and Hypex/Purifi Amps
3. Good streaming single-board computer, performing crossover computations and sending to external USB DACs.
4. Good support for analog sources, tube buffers, headphones
Challenges:
a. Computational overhead for high quality crossovers may affect DSD to PCM conversion and/or continuous delivery of streaming content to DACs.
b. Analog integration in a heavily digital system where analog only occurs just before Amps.
c. Cost and complexity of multiple high quality DAC outputs, resampling audio and timing.
One possible solution I've considered:
- Use a $99 NVidia Jetson SBC to stream audio using something like Moode Audio, then create an ALSA sound plugin to perform Linkwitz filtering using cuSignal and builtin CUDA hardware acceleration. Stream the filtered audio channels to a high quality external audio interface. (note 1)
- Use a studio grade audio interface like a Motu 8a to convert 4 - 8 channels of tightly synchronized and filtered streaming digital audio to the driver amps.
- Use the analog I/O on the Motu to support turn tables, tube buffers, headphone amps.
- You get extreme recording, mixing and parametric EQ for free.
- You get audio over ethernet (AVB) for free.
- You get a cool display for free.
- All at the cost of about $100 per DAC output channel, which is well within the DAC budget for audiophile-wannabe consumer DACs on the market. Why buy ChiFi, when studio grade pro-level equipment is so affordable? No offense to friends at Schiit.
Anyway, constructive comments most welcome.
Note 1: I'm a linux systems software engineer, so if the basic tools are available I'm pretty sure I can do this. It will take a little bit of signal processing theory / crossover theory research.
Several of us been doing this, and talking about it in the "PC Based" forum during the past few years. For example, I wrote a bash-script based Gstreamer app, and it runs on hardware from Raspberry Pi to low-powered Intel boxes, with any Linux that has bash available. I use it for all my loudspeaker projects.
I like this sort of approach (as opposed to hardware based DSP) because, as you have mentioned, I am free to choose and later upgrade the audio interface. I can use a cheap USB soundcard, or an expensive pro audio interface. At the top of my list currently is the MOTU M4, for example, but you can also run 1U interfaces like the Behringer UMC1820, Presonus 1818VSL, or the Focusrite Scarlett series. It just has to be supported by ALSA (check on this before buying).
Also, you might look at the threads "CamillaDSP - Cross-platform IIR and FIR engine for crossovers, room correction etc." and "Pulseaudio Crossover Rack - multi-way crossover design & implementation with linux" in the PC Based forum. They will also give you the DSP functionality and might be more in line with what you need. My app is more for streaming across my LAN (e.g. distributed audio management in my home) but also includes DSP IIR filtering and routing.
I like this sort of approach (as opposed to hardware based DSP) because, as you have mentioned, I am free to choose and later upgrade the audio interface. I can use a cheap USB soundcard, or an expensive pro audio interface. At the top of my list currently is the MOTU M4, for example, but you can also run 1U interfaces like the Behringer UMC1820, Presonus 1818VSL, or the Focusrite Scarlett series. It just has to be supported by ALSA (check on this before buying).
Also, you might look at the threads "CamillaDSP - Cross-platform IIR and FIR engine for crossovers, room correction etc." and "Pulseaudio Crossover Rack - multi-way crossover design & implementation with linux" in the PC Based forum. They will also give you the DSP functionality and might be more in line with what you need. My app is more for streaming across my LAN (e.g. distributed audio management in my home) but also includes DSP IIR filtering and routing.
Thanks, Charlie. That's great information. I'll check it out. I'm familiar with ALSA pluggable soft DSP engines. I didn't know about PulseAudio Crossover Rack. That's a new one. To me it's really a question of whether I want to dedicate a full chunk of Intel / AMD to computation with it's attendant heat etc or hack up something with the Jetson, which I think it a pretty cool solution and CUDA can do this in its sleep. Maybe I can adapt Pulse Cross Rack to the Jetson for CUDA acceleration.
BTW: Great home page.
BTW: Great home page.
Last edited:
Well, if sticking tubes in it, might as well just get the cheapest junk you can find as the tube distortion will mask everything else. 😀
It is pretty unanimous to use a MAC or Pi for the server. Anything but Windows.
For a multi-channel DAC, don't overlook devices like a Focusrite 4i4 or similar,. The DAC in them is better than you can likely hear. You could stick any old analog front end on it to feed into the music server. In loopback, even my first gen has less than .003% THD+noise. V3 is better. The advantage is a single USB out but as many channels as you want.
Several have suggested you do better with dedicated DSP boards such as minidsp rather than host based. They can be fed by results from REW
As I dipped my toe into the digital side, I am pulling back for more analog. It just works.
It is pretty unanimous to use a MAC or Pi for the server. Anything but Windows.
For a multi-channel DAC, don't overlook devices like a Focusrite 4i4 or similar,. The DAC in them is better than you can likely hear. You could stick any old analog front end on it to feed into the music server. In loopback, even my first gen has less than .003% THD+noise. V3 is better. The advantage is a single USB out but as many channels as you want.
Several have suggested you do better with dedicated DSP boards such as minidsp rather than host based. They can be fed by results from REW
As I dipped my toe into the digital side, I am pulling back for more analog. It just works.