• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. 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!

Budget Standalone "Toslink > DSP > Toslink" with Camilladsp. Set up instructions for newbies.

OP
M

MCH

Major Contributor
Joined
Apr 10, 2021
Messages
2,682
Likes
2,316
Also have no idea of how you would do it by looking at the SPDIF waveform, maybe some smarter folks know.

I have checked synced by looking at DAC outputs on an oscilloscope while playing a 15 kHz tone. For example take the UL Mk5, route the SPDIF output to the CM6206 and the SPDIF output of the CM6206 to a DAC. Then play a 15 kHz to tone to an analog output and the SPDIF output of the UL Mk5. Observe the analog output of the UL Mk5 and the DAC being feed by the CM6206 on the scope, if they are sync'd you won't see any movement between the traces.

Can also run frequency sweeps using a loopback as timing reference and see if the phase response is stable.

Actually makes we want to try it on the S2 digital to see what it looks like.

Michael
That's for sure the proper way to do it.
However now I am curious and might give the oscilloscope method a try. If I remember correctly when I tapped a spdif signal in the past, obviously you see the bits toggling all the time but I think I could trigger it to see the rises and falls well defined. If this is true (I will recheck) I could tap both in/out spdifs simultaneously and see if they stay synced over time (?) (my cheapo scope is 2 channels).
Of course I am not going to open my Ultralite to do this, but I should have a spare DIY transmitter/receiver board, so I can use regular toslink connections to the Motu and tap the electric signal from the transmitter and receiver, or directly the coax out signal from the Motu. Just out of curiosity, to see if it works.
Would that be a valid evidence of shared clock?
PS: hm, now I don't know if the scope needs to trigger both signals independently. Well, will try to find out.
 
Last edited:

Rafaille

Member
Joined
Dec 5, 2021
Messages
86
Likes
43
Never use multiple USB DACs. Never use a mixture of USB and SPDIF DACs unless the SPDIF DAC is being clocked by a USB interface.

For example, if you had an audio interface that had SPDIF and analog outputs that would be OK as they would share a common clock. SPDIF carries a clock signal so the SPDIF connected DAC will be sync'd to the interface. In this case there will likely be some delay between the analog output of the interface and the analog output of the SPDIF connected DAC, but this is easy to deal with CamillaDSP.

Michael
Thanks Michael, this is very clear. By the way, many thanks for your overall contribution on the topic.

I was actually looking into the ESI U24 XL as well which, as I understand it, would suit my needs perfectly.

Just to make sure I have got this right, do you think I can go with this pipeline?

usb source (nvidia shield) -> usb to toslink converter -> U24 XL toslink input -> RPi (usb) --(1)-> U24 XL toslink output -> DAC -> speakers
--(2)-> U24 XL analogue output -> sub

And then I would need to adjust the delay between the speakers and sub.

Two more questions if you allow me:
- I have a spare RPi 3, would that run camilladsp ok? I intend to do room correction (most likely FIR filters) and crossover for the sub.
- To adjust the aforementioned delay, do I absolutely need an ADC or would a mic be able to accurately pick up the delay in REW or other software?
 
Last edited:

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,535
Likes
3,413
Location
Detroit, MI
Thanks Michael, this is very clear. By the way, many thanks for your overall contribution on the topic.

I was actually looking into the ESI U24 XL as well which, as I understand it, would suit my needs perfectly.

Just to make sure I have got this right, do you think I can go with this pipeline?

usb source (nvidia shield) -> usb to toslink converter -> U24 XL toslink input -> RPi (usb) --(1)-> U24 XL toslink output -> DAC -> speakers
--(2)-> U24 XL analogue output -> sub

And then I would need to adjust the delay between the speakers and sub.

Two more questions if you allow me:
- I have a spare RPi 3, would that run camilladsp ok? I intend to do room correction (most likely FIR filters) and crossover for the sub.
- To adjust the aforementioned delay, do I absolutely need an ADC or would a mic be able to accurately pick the delay in REW or other software?

It is unclear to me if the U24 XL has independent analog and TOSLINK outputs, it looks to me like they might be mirrored. I just purchased a used U24 XL on e-bay so can report back when I receive it. Your pipeline looks OK, if you were using a RPi4 I would just use the raspberry pi as a USB gadget instead of the USB to TOSLINK converter.

RPi3 has documented issues with USB audio. Since you already have it, I wouldn't hesitate to give it a try, but if you run in to issues better to go with a RPi4/5.

I personally like to quantify the delay with an ADC but this isn't necessary. In addition to the delay from the separate DAC you also have the delay from sub / main path length differences and potentially additional delay due to processing in the sub (many subs have built in DSP which causes more delay). At the end of the day, you care about the combined acoustic response due to all the delays.

Michael
 

mattzildjian

Member
Joined
Oct 17, 2020
Messages
69
Likes
24
It is unclear to me if the U24 XL has independent analog and TOSLINK outputs, it looks to me like they might be mirrored. I just purchased a used U24 XL on e-bay so can report back when I receive it. Your pipeline looks OK, if you were using a RPi4 I would just use the raspberry pi as a USB gadget instead of the USB to TOSLINK converter.

RPi3 has documented issues with USB audio. Since you already have it, I wouldn't hesitate to give it a try, but if you run in to issues better to go with a RPi4/5.

I personally like to quantify the delay with an ADC but this isn't necessary. In addition to the delay from the separate DAC you also have the delay from sub / main path length differences and potentially additional delay due to processing in the sub (many subs have built in DSP which causes more delay). At the end of the day, you care about the combined acoustic response due to all the delays.

Michael

Found this in depth review of the U24 XL which may contain some answers
 

Rafaille

Member
Joined
Dec 5, 2021
Messages
86
Likes
43
It is unclear to me if the U24 XL has independent analog and TOSLINK outputs, it looks to me like they might be mirrored. I just purchased a used U24 XL on e-bay so can report back when I receive it. Your pipeline looks OK, if you were using a RPi4 I would just use the raspberry pi as a USB gadget instead of the USB to TOSLINK converter.

RPi3 has documented issues with USB audio. Since you already have it, I wouldn't hesitate to give it a try, but if you run in to issues better to go with a RPi4/5.

I personally like to quantify the delay with an ADC but this isn't necessary. In addition to the delay from the separate DAC you also have the delay from sub / main path length differences and potentially additional delay due to processing in the sub (many subs have built in DSP which causes more delay). At the end of the day, you care about the combined acoustic response due to all the delays.

Michael
Thanks, makes sense.
I will probably end up buying a Rpi4 for peace of mind, they go for £35 these days with 1GB of RAM, I am assuming it is plenty to run camilladsp. I also happen to live in Cambridge, UK so I would be supporting local companies :)
@MCH pointed me towards usb gadget mode and while it looks rather straightforward, it still requires buying a usb otg hub and a few cables. Any reason why you would favour gadget mode over a ubs->spdif converter?
 

melomane13

Active Member
Joined
Jul 24, 2023
Messages
100
Likes
73
Location
France
@Rafaille
i use terratec usb aureon 7.1 ( CM6206 )
with rapberrypi 4 or zero W 2 and camilladsp

work fine with toslink input from TV , also use as streamer ( squeezebox)

toslink output work out of the box, same signal as channel 1 and 2

8 channels for 50€ new, i get second hand for 25€

16 bit and 48khz, dac inside not are SOTA, but are best than human hearing: compared from output and another dac feed from toslink out no differences.

i use 6 channels, 2 for loudspeakers, 2 for sub , 2 for headphones : on the first 2 channel, buffer for headphones is present. output impedancy is high, but is easy to mesure and equalize. level is ok with my HD595 senheiser
 

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,535
Likes
3,413
Location
Detroit, MI
Thanks, makes sense.
I will probably end up buying a Rpi4 for peace of mind, they go for £35 these days with 1GB of RAM, I am assuming it is plenty to run camilladsp. I also happen to live in Cambridge, UK so I would be supporting local companies :)
@MCH pointed me towards usb gadget mode and while it looks rather straightforward, it still requires buying a usb otg hub and a few cables. Any reason why you would favour gadget mode over a ubs->spdif converter?

In my mind USB gadget would avoid unnecessary device(s). When I've used in the past, I've powered the RPi from the pin header and used the USB-C port to connect to the host computer. A USB-C data/power splitter is probably a more elegant solution. I've also noticed that without a splitter the RPi will draw power from the USB host.

Although, I think you probably need to rethink your solution as it does not seem like the U24 XL offers 4 channels of output.

Seems to me simplest solution for you is Shield -> USB gadget -> 4 channel DAC (or just get a miniDSP Flex).

Michael
 

Rafaille

Member
Joined
Dec 5, 2021
Messages
86
Likes
43
@Rafaille
i use terratec usb aureon 7.1 ( CM6206 )
with rapberrypi 4 or zero W 2 and camilladsp

work fine with toslink input from TV , also use as streamer ( squeezebox)

toslink output work out of the box, same signal as channel 1 and 2

8 channels for 50€ new, i get second hand for 25€

16 bit and 48khz, dac inside not are SOTA, but are best than human hearing: compared from output and another dac feed from toslink out no differences.

i use 6 channels, 2 for loudspeakers, 2 for sub , 2 for headphones : on the first 2 channel, buffer for headphones is present. output impedancy is high, but is easy to mesure and equalize. level is ok with my HD595 senheiser
Thanks @melomane13

Good value indeed, I can find it on amazon uk for £35.

However, I would like to keep using my DAC and this interface seems to be a clone of the Leagy @MCH got and apparently digital in and out cannot be used at the same time.

If I follow @mdsimon2 recommendation to go with usb gadget mode rather than toslink in then it would be suitable as I would not need toslink in on the interface then freeing toslink out to go the dac. Analog out (from the cheap dac chip) being more than enough for the sub.
 

melomane13

Active Member
Joined
Jul 24, 2023
Messages
100
Likes
73
Location
France
However, I would like to keep using my DAC and this interface seems to be a clone of the Leagy @MCH got and apparently digital in and out cannot be used at the same time.
you have not read attentively my precedent post...
i can use in and out toslink at the same time on my system.
only think to understand is than spdif out signal is the same as channels 1 and 2
 

Rafaille

Member
Joined
Dec 5, 2021
Messages
86
Likes
43
In my mind USB gadget would avoid unnecessary device(s). When I've used in the past, I've powered the RPi from the pin header and used the USB-C port to connect to the host computer. A USB-C data/power splitter is probably a more elegant solution. I've also noticed that without a splitter the RPi will draw power from the USB host.

Although, I think you probably need to rethink your solution as it does not seem like the U24 XL offers 4 channels of output.

Seems to me simplest solution for you is Shield -> USB gadget -> 4 channel DAC (or just get a miniDSP Flex).

Michael
I did not think about feeding power with pin headers, that would be ideal, isn't there a way to force the RPi to use that instead of usb?

The miniDSP Flex was my original plan but even considering second hand it still is above my current budget.

At the moment it seems my best option is the one you mentioned with a 4 channel dac such as the Leagy/Terratec or similar.
 

Rafaille

Member
Joined
Dec 5, 2021
Messages
86
Likes
43
you have not read attentively my precedent post...
i can use in and out toslink at the same time on my system.
only think to understand is than spdif out signal is the same as channels 1 and 2
Oh this is good news! Looks like you found a little gem.
 

melomane13

Active Member
Joined
Jul 24, 2023
Messages
100
Likes
73
Location
France
Oh this is good news! Looks like you found a little gem.
there are other solutions, with the RPI 5.
an 8ch dac hat from hifiberry for 55€
also you can use a pciE or pci sound card with an adapter.
 

Rafaille

Member
Joined
Dec 5, 2021
Messages
86
Likes
43
there are other solutions, with the RPI 5.
an 8ch dac hat from hifiberry for 55€
also you can use a pciE or pci sound card with an adapter.
So they finally came up with a way to do multichannel i2s then.
Definitely many possibilities to explore between that and pci sound cards.

That said, an RPi4 1GB + a cheap usb interface (like the Terratec) still is the most cost effective option.
Thanks for the info!
 
OP
M

MCH

Major Contributor
Joined
Apr 10, 2021
Messages
2,682
Likes
2,316
Yes, i2s multichannel input is now possible with the rpi5. Potentially a game changer for DIY:

 

melomane13

Active Member
Joined
Jul 24, 2023
Messages
100
Likes
73
Location
France
That said, an RPi4 1GB + a cheap usb interface (like the Terratec) still is the most cost effective option.
the most effective is Zero 2 w... if this is for room correction and streaming.
if you want also have LMS server in the same box, best is use RPI4
In your place, I would already try with the RPI3 that you have.
 

Rafaille

Member
Joined
Dec 5, 2021
Messages
86
Likes
43
the most effective is Zero 2 w... if this is for room correction and streaming.
if you want also have LMS server in the same box, best is use RPI4
In your place, I would already try with the RPI3 that you have.
The Zero 2W is indeed cheaper but I need two data usb ports. Also, I think @MCH reported some stability issues, or at least improved stability with a Pi4.
I may try with the Pi 3 I already own for testing purposes but I will always be wary of USB interference that I may not be able to measure so I think in the long run I will end up investing in a Pi 4. It will only be the 4th Pi running at home :)
 

mattzildjian

Member
Joined
Oct 17, 2020
Messages
69
Likes
24
Just recieved the U24 XL. Got it running on a windows laptop for now.

However the only way I can see to loopback the input signal to the output is to check the setting "listen to this device" in the windows recording audio device settings, which adds noticeable latency.

Do I need additional software like something from VB-Audio to route the signal via ASIO for the lowest latency? If so, is this also a problem I will run into on linux when eventually migrating to a Pi?
 
Top Bottom