• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Seeking DAC/ADC for RPi + CamillaDSP (2in/4out)

PeteSahat

Member
Joined
Dec 28, 2023
Messages
30
Likes
11
Hi!
I am looking for a DAC solution for the Camilla DSP. The RPi and DAC should be able to fit together with the amplifier boards in a compact enclosure. The DSP is mainly used as a crossover for a pair of two-way desktop monitors.


I thought I had found a suitable solution with the Audio Injector Octo Pi Hat. Unfortunately, it seems that the project has been abandoned. After some searching, I found the correct kernel for using it with the Octo. The board works with Camilla. However, for use as a DAC in connection with a crossover, it seems unsuitable because the output channels get swapped in a certain pattern after every reboot. This could prove fatal for a tweeter.
A Github user provided code to fix the channel swapping issue. (gtkiostream/test/ALSAFullDuplexMinScan.C at master · flatmax/gtkiostream · GitHub)
I used this code to create a bootable image with the help of a code-generating AI. However, this doesn’t work reliably, and the channels are still occasionally swapped.


So I am looking either for a solution to use the Octo with fixed output channels, or another compact IO interface for the RPi. I would like to keep using Camilla. I like the GUI and find the web interface setup very convenient. The computing power of the RPi surpasses limited DSPs like the ADAU1701. I already use miniDSP and Sure boards. The latter I find quite inconvenient due to the need for a programmer and Sigma Studio.


Do you perhaps have any tips for this rather typical project? Any recommendations are much appreciated! Thanks!
 
This could prove fatal for a tweeter.
This is NOT a solution but it's "good practice" to put a capacitor in series with the tweeter to block bass just in case anything goes wrong. It will also protect from DC if the amp blows and puts-out DC. It should be calculated to "kick-in" at a lower frequency than the actual crossover so it doesn't mess-up your carefully designed/calculated crossover.
 
I wonder if you've seen

I did but couldn't find a suitable solution for my case.
This is NOT a solution but it's "good practice" to put a capacitor..

I will take this into account in the speaker design.

Get a HiFiBerry DAC8x:

Then I would still need to implement an ADC. The cool thing about the Octo is that it combines both an ADC and DAC as well.
The channel swapping issue renders it unusable for now. But it seems this problem can be solved through software upgrades.

For now I'm using a Maya 44 USB audio interface for testing purposes.
 
I did but couldn't find a suitable solution for my case.


I will take this into account in the speaker design.



Then I would still need to implement an ADC. The cool thing about the Octo is that it combines both an ADC and DAC as well.
The channel swapping issue renders it unusable for now. But it seems this problem can be solved through software upgrades.

For now I'm using a Maya 44 USB audio interface for testing purposes.
There's an Hifiberry ADC that works with the Hifiberry Dac8x
 
Yes that's one I was thinking, I'm contemplating buying one myself and I'm not sure on it's performance though
 
Whoa, I finally managed to run the Audio Injector Octo and CamillaDSP without the channel swapping issue! The key is to use the JACK Audio Connection Kit API with a fixed channel assignment. Now, with JACK and real-time scheduling, I have an extremely low-latency audio environment that's also suitable for music production.
I can provide all steps necessary for setting up if anyone's interested.

Now I can move on building the 4 channel amp.
 
Get a HiFiBerry DAC8x:
How can these two boards - Raspberry and Hifiberry DAC 8 - be used to not only listen to music, but also watch movies with this digital audio crossover? If YouTube viewing is possible, that would be perfect.
 
How can these two boards - Raspberry and Hifiberry DAC 8 - be used to not only listen to music, but also watch movies with this digital audio crossover? If YouTube viewing is possible, that would be perfect.
The Raspberry Pi is a computer. You watch YouTube on it. The HiFiBerry DAC8 is a HAT that sits on the Pi and provides 8 audio outputs.

When using a software DSP for a crossover there will be some latency. This will probably cause some lip sync problems because the audio may be delayed compared to the video. So this solution may not be for you if YT is your use case. For music only, this is not a problem.
 
When using a software DSP for a crossover there will be some latency. This will probably cause some lip sync problems because the audio may be delayed compared to the video. So this solution may not be for you if YT is your use case. For music only, this is not a problem.

Latency is the main issue with video content, i noticed well with 2 channel and i guess it can be 3 times with 5.1 content. Some player have the option to sync audio/video manually but it's not very comfortable and I'm not aware of any video streaming service which can allow that (netflix, disney+, YT, prime video ...)
 
The Raspberry Pi is a computer. You watch YouTube on it. The HiFiBerry DAC8 is a HAT that sits on the Pi and provides 8 audio outputs.

When using a software DSP for a crossover there will be some latency. This will probably cause some lip sync problems because the audio may be delayed compared to the video. So this solution may not be for you if YT is your use case. For music only, this is not a problem.
Do you know whether any of the browsers use the latency info available from PipeWire to delay the video stream accordingly?
 
RPi5 can use any PCIe card with Linux ARM drivers

Or just use a USB interface.

But bulky.

For integrated HATs, besides the excellent HiFiBerry options

there is Raspiaudio 8xIN+8xOUT

For multichannel those are the ONLY options, obv require RPi5

Please (anyone) correct me if I am wrong
 
The ones already with RPi compatible drivers need compiling? I thought at most file-based configuration?

My first project will be Firewire, which I believe is like USB Class-mode, built into the kernel?

For now anyway I realize going away in a couple years.

I'm also looking at the special Intel NIC to enable AVB streaming

and see that MOTU legacy interface cards vary widely...
 
The ones already with RPi compatible drivers need compiling?
Someone has to compile them to turn the source code into the binary for the right architecture, but typically that's done by the distro not the end user. You only need to compile yourself if you need to change the kernel config for some reason, or patch it.
 
Back
Top Bottom