• The Vendor's Bazaar forum is for commercial offers and transactions. Only unmoderated members can post here.

    diyAudio provides this forum for the convenience of our members, but makes no warranty nor assumes any responsibility. We do not vet any members. Use of this facility is at your own risk. Customers can post any issues in those threads as long as it is done in a civil manner. All diyAudio rules about conduct apply and will be enforced.

ZOUDIO AIO4CH: 4-channel amplifier with DSP and Bluetooth

I found a bug with filters.
I wanted 4order filters for midd and tweeter. However, when I set 2 x 2nd order filters together will the cut of frequency change for the channel. I.e.it will be a gap between the middle and the tweeter.

Green are 2nd order at 2500hz and Q=0.71
Red are 2x 2nd order at 2500Hz and Q=0.71
 

Attachments

  • 2nd vs 4th filter.jpg
    2nd vs 4th filter.jpg
    68.7 KB · Views: 50
With a 2nd order Q=0.71 filter (Butterworth), the mid and tweeter should be opposite polarity. Usually the tweeter is reversed.

When two 2nd order Q=0.71 filters are cascaded (put in series), the result is a 4th order Q=0.5 filter (Linkwitz-Riley). The mid and tweeter should have the same polarity.

Is it possible you do not have the correct polarity for one of the two examples you posted?

It is also important to understand that a 2nd order Butterworth filter has an inherent +3 dB bump at the crossover frequency, while the 4th order LR is inherently flat. So it is expected that you would see a frequency response difference between the two.
 
The dipp are to deep to be explained by phase interference (or opposite polarity). I have previously measured the my speaker and at 2500Hz do I have a tweeter delay of 0,2ms. With my previous DSP could I correct this. With Zoudio do I have to live with this phase shift or rebuild my speakers.

I played around the the config tool. I have set:
Blue: 2th order HP Q=0,707
Green: 2th order LP Q=0,707

Red: 2x 2th order HP Q=0,707
Pink: 2x 2th order LP Q=0,707

To have a flat curve should at any point:
Blue + Green = 0
Red + Pink = 0
in my attachment is it obvious that Blue + Green != Red + Pink at 2500Hz.

Either has I misunderstood that 2x 2th order = 4th order or the software in the DSP has a bug...
Currently have I dropped the ide of using 4th order filters. With 2th order do I get a flat response as 2500Hz.
 

Attachments

  • Skärmbild 2025-01-07 153828.png
    Skärmbild 2025-01-07 153828.png
    50.6 KB · Views: 41
To expand on @hifijim's post:

A 2nd order filter with Q = 0.707 is called a Butterworth filter. At the crossover point each driver is -3 dB down and the hi/low outputs are 180 degrees out of phase. The tweeter is usually wired in reverse polarity to bring the outputs in-phase before adjusting the delay for acoustic center differences.

Two 2nd order filters with Q = 0.707 cascaded together results in a Linkwitz-Riley 4th order filter with a Q = 0.5. At the crossover point each driver is -6 dB down and the hi/low outputs are in phase. Both drivers are connected in the same polarity before adjusting the delay for acoustic center differences.

I attached a Rane article that explains the differences between Butterworth and Linkwitz-Riley filters. Hope this helps.
 

Attachments

have tried to read and most likely failed to understand the paper 🙂. However did the last section cough my attention. Is this what I manage to measure when combining 2x 2nd order BW-filters (Q=.707)?

What Q-values should I use when cascading 2x 2nd order BW-filters to get a linear response at the XO-frequency?
 

Attachments

  • Skärmbild 2025-01-16 093925.png
    Skärmbild 2025-01-16 093925.png
    149.7 KB · Views: 33
I have just started to use this amp in a 2-way system. All the wiring are in place, now playing around with the DSP.
It is simple to build and use. The DSP are a little bit limited compared to MiniDsp. It does the most essential and a little more but not the most advanced things.
The Amp are a little on the weak side with 38W/channel (4Ohms, a little less with 8Ohm). You should not push it towards maximum spec as it will distort and digital clipping can occur. With sensitive speakers in reasonable sized rooms (<20-30m^2) is this not a problem for normal listening. If you intend to shake the ground with bass, choose something else.

What I miss are:
  • Time delay: This is actually the biggest disadvantage. All filters available in the DSP presume that the drives are time aligned to give you the best performance. Most speakers are not physically aligned to this has to be done in the DSP. Zoudio does not have this function. (explanation of why it is not in place can be found in this tread).
  • Linkwitz-Riley transform: I'm using basshelf to eq+ the bottom end, LR-transform are a more powerfull tool.
  • Not so easy to bridge several amps boards, it is possible but you loose some functionality. I plan to bridge in a second amp for a pair of passive subwoffers in the near future.

You have to work with a separate measurements system as PC + Mic + REW-software to set all filters etc. I can live with this as it is only used for setup.
 
have tried to read and most likely failed to understand the paper 🙂. However did the last section cough my attention. Is this what I manage to measure when combining 2x 2nd order BW-filters (Q=.707)?

What Q-values should I use when cascading 2x 2nd order BW-filters to get a linear response at the XO-frequency?

Since you can't adjust the time delay it's hard (impossible) to guess what filter configuration will give you a flat response. However, since a 2nd order Butterworth seems to work you can try a 4th order Butterworth. For a fourth-order Butterworth filter, the Q factors of the two second-order filters should be Q=0.541 and Q=1.307.
 
  • Like
Reactions: PerCarlin
When I ceank up the volume do I get a hum. I have located this hum to the line-out of my HTPC (running ubuntu), if I publiken out the cable is the amp silent.

Therefore do I consider a USB-I2S module, to skipp the analog input and go for digital all the way.

Would this USB-I2S do the job?
USB-I2S

II has the 48kHz as required, but only 16bit. Would it be more benificial to have an module with 24 or 32bit?

Can I feed two Zoudio amps with one module? I'm considering a second amp to a pair of subs.

Any other recomendation for USB-I2S module/device that can be bought in Europe?
 
Can I feed two Zoudio amps with one module? I'm considering a second amp to a pair of subs.

Any other recomendation for USB-I2S module/device that can be bought in Europe?
I used the JLSounds one, http://jlsounds.com/i2soverusb.html. Its a bit more expensive than the one link'd. But can do multiple sample rates and bit widths, as you'd see clicking the link.

I also want to try to drive two Zoudio boards, but that's been on the back burner for quite some time. One would thin they'd operate entirely independently, not being aware there was another board connected to the same I2S bitstream and clocks. I'd be counting on the JLSounds drivers "fan out" as we used to call it, to pull that off.
 
I have bought the Arylic Up2Stream Pro and tried to connect it to the AIO438 via I2S

Step 1 - Disable the BT by sendning "bt disable"
step 2 - Making the harness, here do I need support: is this correct?

AIO438 - Up2Stream
  • DAT -> IIS-Data
  • CLK -> BLACK
  • WS -> LRCK
  • Do I also need a ground connection, where to connect it to AIO438?
I have not cut down any of the leads, therefore are the signal path about 40cm, this will be optimized when i install everything in the chassie.

I do not get any sound out of the AIO438, not even during the power up signal. What have I made wrong?

Pinout for AIO438:
Skärmbild 2025-02-24 110432.png


Pinout for Up2Stream:
Skärmbild 2025-02-24 110359.png
 
Last edited:
Did the board reply with a confirmation after sending 'bt disable'? I have seen some people sending this while the board was off, thus not applying it properly.

Do you have another board you could feed the I2S signal into to test?
Is 'black' the clk? Chinese version of BCLK?
What frequency does MCLK run at?
 
First time did I not get any status update, next time did I get "BT enable = False".
Up2Stream-out are 44,1kHz / 16-bit.
I have no idea if Black/Clk/BCLK are, I guess that I can ask in the Arylic forum. Hoped that someone here hade the answare.

I have 2pc of AIO438. My idea was to test on this card, when I have it running with up2Stream implement the second in parallell. The goal are to drive a pair of 3-ways system, 30+30+60W in 8Ohm.
 
From the Up2Stream manual: "For the IIS, BCLK is 2.8MHz, the LRCK is 44.1KHz, the MCLK is 11.288MHz, the DOUT following the standard IIS data format and have 16 bits depth. The system is running in master mode, you should make sure the IIS port of connected device is running in slave mode."
 
  • Like
Reactions: Yatsushiro
Now does it work. I guess there anyway was an issue with the "BT disable" command.
There are some distortion, digital clipping in the sound. I will try to shorten the leads and perhaps also ad a shield around the cables to make the signal path better.
Next step will be to hook up the second AIO438 to run them i parallel.

Are there a list of commands which I can use when experimenting with the AIO438?
So far Have I only used "BT disable/enable" and "Status", I assume there are some more that can be useful in the future.