Easy way to get audio from Windows into a separate Ubuntu PC running CamillaDSP

For years I have been using Foobar2000 on Windows 10/11 into Cantabile. This host several VSTs, to work as a 4 way crossover / DSP.
The audio then goes over USB into my 8 channel DAC, followed by nice hypex modules to drive my DIY speakers and 2 subs.
I love Foobar2000 and use Windows for my work, so I would like to have this stay my primary PC, and the way to play audio.

But I would like to offload this audo processing to a separate laptop running CamillaDSP on Ununtu or Debian. To try, for fun, to tincker.
No problem, I figured.

But then I got stuck: how do I get the audio from the windows PC into the CamillaDSP laptop?
The laptop does not have a digital audio input. Does anyone know of a software solution? Eg to run the audio over ethernet somehow.

Of course there is Dante. The AudioOverIP stuff seems much too complicated and expensive for my use case.
I also came across SonoBus, which is available for windows and Linux. It is open source, which I like, but is looks more geared towards multi-user cases and don't know if it will connect to CamillaDSP (I'm a complete Linux-noob).

But there must be a simple (and cheaper!) solution I'm overlooking?
Your ideas would be appreciated!

Btw: does Ubuntu natively support a USB XMOS UAC2 DAC? Or does it need drivers?
 
@CharkieLaub, thank you for looking into it!
The poster has Ubuntu on his main pc though. I have to use Windows for work on mine.
Maybe Pulseaudio would work under WSL linux subsystem in W11, but I'm not versed enough in Linux/Ubuntu to troubleshoot the inevitable problems.
 
@marcelooms If you are looking for keywords to search, try RTP streaming. There are programs like FFMpeg that can do this under Windows:
https://trac.ffmpeg.org/wiki/StreamingGuide#Pointtopointstreaming
I have had success before using FFmpeg and DirectShow capture to get Windows audio and stream it. Then I used VLC on the RX computer end to receive the stream. Going the software route would take some work to get it up and running and learn about these programs, etc. It sounds like you are seeking something that is more "plug and play" for the connection between the two computers.

If your Windows box has SPDIF output you could purchase a USB SPDIF receiver from Amazon like one of these:
https://www.amazon.com/Cubilux-Receiver-Interface-Suitable-Dell【ONLY/dp/B0BQQLFQ59/ref=sr_1_3
https://www.amazon.com/dp/B0BQR2YZPT
that is advertised as plug and play under Linux. It is capable of 48k/16-bit max digital audio. You would need to run an SPDIF toslink line between the two computers, but this might be a simple solution for you.
 
  • Like
Reactions: marcelooms
@phofman Are the Windows-side gadget issues fixed now??? I have to admit it has been a while since I have looked into it, and at the time it seemed that the Windows devs were not taking up the issue to do anything about it. Everything was working well between Linux machines, but IIRC the gadget (e.g. Pi) could only operate in at one fixed sample rate and possible bit depth when interfacing with Windows. Has that been resolved now?

If the Windows issues are fixed it would be fun to do some experimenting with the Pi5 or a mini PC as a USB gadget DSP DAC/crossover.
 
Last edited:
IIRC the gadget (e.g. Pi) could only operate in at one fixed sample rate
Since 5.18 the gadget can offer multiple samplerates, as configured. Since the feature follows standard UAC2, it works fine in windows too.
and possible bit depth when interfacing with Windows.
The gadget does not implement multiple altsets yet, and offers only one bit depth, as configured, to any OS. Multiple altsets have been discussed recently, will take a while to implement https://lore.kernel.org/all/CAB0kiB.../T/#m8b40ff8ce53fe701a1fe6a76c119a1438b45037f
 
  • Like
Reactions: CharlieLaub
Just an idea:
VBAN Protocol from VB-Audio
PCM (all sample rates) over UDP. Free to use.
It´s built in Voicemeeter, where you get a nice GUI. I use it for costumizing Voicemeeter.

1720256661290.png


For the receiving side, there seem to be different implementations for Linux, haven`t tried those.
 
I previously used (and donated for) their banana version and network PCM stuff; it was stable with a good GUI and was very versatile, with quite a lot of options; potato looks even more useful.

It worked, and I miss it; I left MS windows in favour of Linux and unfortunately I don't think there are comparable Linux versions. Though it is interesting to see it might be possible for receiving, thank you for the info.

I dislike where ms windows is going but sadly there are sometimes shortcomings to using its applications in linux via wine or VMs. Applications like this one (and quite a lot of other audio apps and tools) do make me wonder about returning to microsoft; I may look at getting a second machine for audio stuff, or using windows as a host with my non-audio/day-to-day stuff done in linux VMs.

It is nice to think that wouldn't preclude using linux (on small/tiny machines) as receivers/players though; I shall have to look into that, When I left MS the v-ban linux offering was in early stages, and I didn't manage to implement it.
 
Last edited:
  • Like
Reactions: marcelooms
Since 5.18 the gadget can offer multiple samplerates, as configured. Since the feature follows standard UAC2, it works fine in windows too.

The gadget does not implement multiple altsets yet, and offers only one bit depth, as configured, to any OS. Multiple altsets have been discussed recently, will take a while to implement https://lore.kernel.org/all/CAB0kiB.../T/#m8b40ff8ce53fe701a1fe6a76c119a1438b45037f
Perhaps a stupid question: if I were to go with an Pi 5, using USB gadget for UAC2 audio in, then DSP in CamillaDSP: is it possible to implement another USB port for UAC2 audio out to a separate USB DAC? That way, all will play asynchrone as well - I guess - , audio over USB is only data, no clocks. And multichannel as well.
That way, I would have a universal, separate, all USB DSP processor. (in my case for an active 4-way cross-over).
So usb-gadget audio into a Pi5 from a PC, and then normal usb out to a separate DAC?
 
Does the Pi4 have enough power to handle 8 channel DSP (active crossover and room correction?)
Looking at the Pi5; USB gadget is available only on the USB C port. This is also the port that is needed for the 5V 5A (25W) PD adapter.
Pi4 has the same issue, but does not need to negotiate the 5 amps through PD (power delivery protocol), making it easier to split data and power..
I've seen some posts that it may be dangerous to feed 5V into the GPIO, as it may backfeed into connected USB devices.
So what would be the best way to power it ánd use USB gadget?
 
Does the Pi4 have enough power to handle 8 channel DSP (active crossover and room correction?)
Looking at the Pi5; USB gadget is available only on the USB C port. This is also the port that is needed for the 5V 5A (25W) PD adapter.
Pi4 has the same issue, but does not need to negotiate the 5 amps through PD (power delivery protocol), making it easier to split data and power..
I've seen some posts that it may be dangerous to feed 5V into the GPIO, as it may backfeed into connected USB devices.
So what would be the best way to power it ánd use USB gadget?

RPi4 is plenty powerful for 8 channel DSP. Henrik gives an example of 8 channels x 262K FIR taps/channel at 192 kHz resulting in 55% CPU load on a RPi4 -> https://github.com/HEnquist/camilladsp#system-requirements.

This splitter -> https://www.tindie.com/products/8086net/usb-cpwr-splitter/ works great for powering both the RPi4 and RPi5 as a USB gadget via the standard RPi power supplies.

Michael
 
  • Like
Reactions: marcelooms