Orange Pi + DIgital crossover + 2x USB amps - Wrap up

JMF11

Member
2013-12-22 6:40 pm
Credits:

This post is intended to wrap-up of the main outcomes about the experiments I made to build a simple but high performance around:
- LXmini speakers (a Siegfried Linkwitz ( www.linkwitzlab.com) ),
- 2x FX-Audio D802 amps
- Digital crossover using linux/ecasound/LADSPA on a single board computer (Orange Pi PC here)
- mpd to stream the music


Objective of the project:
The objective is to build a simple but high performance using the fact that the FX-Audio D802 is said to be a Full Digital Amp. The core of the amp is a ST Soundterminal STA326 chip which input is I2S. The D802 provides USB and SPDIF inputs only.


Using Digital crossover, the signal stays digital up to the last chip. No DAC in the set-up. No analog distorsion in the "application" circuit.


There have been extended discussions in France about the performance of this D802 amp, and the general idea is that it provides great quality/price ratio. There are similar products that could achieve the same target, as the V200, D.sound D310... In my setup, this amp is (almost) the single responsible of the sound quality, with the speakers.


Stereo image is a strong point for LXmini speakers. The intention is to maintain that ability is the final system by having a well engineered design from time accuracy perspective: synchronization between L and R channels, limited jitter... Objective is not best level performances, but good enough performance for a stable and accurate stereo image. This is clearly identified at the beginning of the design as the tricky point, that the synchronization is expected to rely on adaptative behaviour mode on the amps side, synchronized with the USB hub they are hooked up to. Each amp controls the woofer and tweeter of a single speaker (one stereo amp for the Left speaker, and one for the Right one)


Bottom line:
The system delivers a lot about transparancy, dynamics, emotion. The driving of a single speaker, by one dedicated amp is "perfect". But there is a confirmed timing issue between the 2 amps. The stereo image is clearly pulled to one side.


This could no be solved by setting an alsa virtual device based on the two amps.


I could neither get the 2 FX-Audio D802 amps work on the same USB hub:
- neither on a laptop (used for prototyping),
- nor using an external USB hub on the Orange Pi.
I don't have the final explanation about that issue.


So I discard that design for my objective of a stable and accurate stereo image.


Positive aspects:

  • there are great people on that forum, that provided me outstanding help to learn, understand, solve issues. Specific credit to phofman and Charlie Laub. They deserve a lot of credits about those lessons,

  • Digital crossover can deliver incredible performance, with high flexibility, at no or low cost. Thanks a lot to Charlie and Richard to have provided so nice tools !

  • MPD/ecasound/LADSPA is a reliable and proven framework. It was possible to install everything very easily on the Orange Pi PC,

  • Orange Pi PC works thanks to the armbian linux distribution without which this piece of hardware would be useless. I used the sever version, which doesn't comes with too many things installed. This helped, as for example I was not poluted by pulseaudio (as I was on my laptop with Ubuntu)
  • There is a lot of CPU power still available: all this only takes less than 50% of a single core out of the 4 cores available (12 biquads filters, 44100, 16 bits).


To note:

  • miniDSP / RT / ACD seem to all use different definitions of Q parameter for parametricEQ. So they have to be retuned going from one platform to another. I should have drilled down the math calculations instead of tweaking the Qs one by one by trial and errors.
  • ecasound is powerfull, but the syntax is not always easy. Good to spend at the beginning some time to fully understand the implications of each parameter and the implicit setup.


Reference threads:
Digital Crossover/EQ with Open-Source Software: HOWTO | Richard's Stuff
http://www.diyaudio.com/forums/pc-based/274331-ladspa-plugin-programming-linux-audio-crossovers.html
http://www.diyaudio.com/forums/pc-b...tp-ok-inspired-c-laub-speech-burning-amp.html
http://www.diyaudio.com/forums/pc-based/292098-issue-alsa-virtual-multi-channel-device.html
http://www.diyaudio.com/forums/pc-based/292796-ecasound-mpd-problem-device-resource-busy.html
http://www.diyaudio.com/forums/pc-based/288848-rpi-2x-usb-fda-amps-time-synch-ok-issue.html
http://www.diyaudio.com/forums/pc-based/288880-multi-channel-audio-i2s.html


Important links:
LADSPA-plugins
Asoundrc - AlsaProject
Music Player Daemon HOWTO Troubleshoot - Music Player Daemon Community Wiki - Wikia
 
Last edited:
Bottom line:
The system delivers a lot about transparancy, dynamics, emotion. The driving of a single speaker, by one dedicated amp is "perfect". But there is a confirmed timing issue between the 2 amps. The stereo image is clearly pulled to one side.

Did you try just changing the LR balance (try it in mono first) until the sounds come from the center?
With the LXMini I would balance the tweeters, then woofers

Edit: I was under the impression the LXMini used an amp for each driver, not each speaker. Am I wrong?
 
Last edited:

JMF11

Member
2013-12-22 6:40 pm
Did you try just changing the LR balance (try it in mono first) until the sounds come from the center?
With the LXMini I would balance the tweeters, then woofers

Edit: I was under the impression the LXMini used an amp for each driver, not each speaker. Am I wrong?

Yes I tried. But the result is mixed. Buy forcing a significant level difference between L and R, in mono, you can somehow recenter the image. But you don't get a pin point one. You just get a larger than expected thing (difficult for me to express with words). So for me it didn't solved the thing.

JMF
 

JMF11

Member
2013-12-22 6:40 pm
Hi,

It is one amp per speaker: one channel for the full range, and one for the woofer.

I also tried the other configuration with one amp for Full range drivers and one amp for the woofers. In this case the image is centered, but the frequency response at the crossover point becomes bad because of the changing delay between the amp.

At the moment, I try to develop a solution with a stm32F7 nucleo board to get 2 synchronized I2S or SPDIF channels.

JMF
 
Yest I tried, but the delay is not always the same, so you can't fix it with an additional delay in the loop.

JMF

Ah, a "random" difference in delays.... :(

What's the next stop? I'm mooting trying to follow Charlie's progress on streaming using RPis or similar in the clients.

I've seen three HAT or HAT-like products that minimise the footprint...
IQAUDIO DIGIAMP+
Polyvection PlainAMP (Though they seem to be in the process of dropping it. :( )
Supstronics X400 (Seen very cheap on Gearbest).

J.
 

JMF11

Member
2013-12-22 6:40 pm
I've seen three HAT or HAT-like products that minimise the footprint...
IQAUDIO DIGIAMP+
Polyvection PlainAMP (Though they seem to be in the process of dropping it. :( )
Supstronics X400 (Seen very cheap on Gearbest).

J.


You can add to your list that extension board from ST Micro, based on the STA350: http://www.st.com/content/st_com/en/...o-cca01m1.html, provided software libs bring very near from that idea. Only limitation is the power (2x40W, a bit lower than the STA326). For DIYers, this board is really interesting as there is no blob around the chip, and you have all tools to configure and drive it.

As an outcome of my above failure (or partial success, I work on a STM32 solution, that would perfectly match with this STA350 board.

JMF