I don’t even know how i found this, but here it is :
After some fiddling with asoundrc, i had it working with aplay and jack at 48k/1024/3, sending 2 tracks from Ardour to Dante Via on my windows laptop via link local.
I wanted to post this in the old Dante topic but it is closed.
Thanks for letting us know, pretty cool. What did you mean by “kinda”? Would be cool to hear your experience.
Edit: just been visiting the GitHub link, it is just a mirror. Here is the link to the real repo:
rant about GitHub
Many open source projects try to get away from GitHub, because Microsoft starts squeezing by ramping up the enshitification process. This was a timebomb ticking for a very long time, but with the AI bubble it’s fuse seems to be finally lit.
So I think it is the right move to support projects by providing links to their actual repositories instead of funneling users to gh.
I applaud @paul that he always hosted the Ardour code himself.
I’ve been testing sending 16 tracks back and forth from my Linux Mint laptop, with Ardour and Jack to my Windows machine running Dante Via, Dante Controller and Ardour.
The Linux laptop has a 100mbits usb ethernet adapter, the Windows laptop has an integrated ethernet port. Both machines communicate on link local.
Ardour on the Linux laptop cannot see the Alsa Inferno peripheral, so i had to use Jack. Since yesterday, i set Jack to 48k/128/3. This is the lowest latency i could achieve, sound deteriorates if i go down to 64 samples/period.
The Alsa Inferno peripheral is set to use 10ms latency setting.
Dante Controller sees a 2.7ms average latency with ~10 spikes at 6.2ms with no late packet during a 30 min test.
Jack reports around 1250 XRUN notifications (in brackets) every 2s, but the sound is clear. I couldn’t find a way to notably reduce the xruns.
I’ll try to max out my 100mbits link next. The limit seems to be 32*32 tracks at 48k. I just need to transfer my DVS license.
The “kinda” refers to the crude (but functional) state of the project. You have to start statime with admin rights for it to work.
I didn’t test the Pipewire side of the project.
I agree on your Github rant.
the .asoundrc i used :
pcm.fixed {
type plug
slave.pcm "inferno"
hint {
show on
description "Plug - Inferno ALSA"
}
}
pcm.inferno {
type inferno
rate 48000
NAME "inferno_laptop"
SAMPLE_RATE "48000"
TX_CHANNELS 24
RX_CHANNELS 24
BIND_IP "eth0"
hint {
show on
description "RAW - Inferno ALSA"
}
}
ctl.fixed {
type hw
card 10
}
ctl.inferno {
type hw
card 11
}
Ardour looks specifically for hardware controllers. The Inferno implementation is in user space, so probably it cannot make itself look like an ALSA hardware interface.
What kind of realtime optimizations does your system have? Do you know if Inferno is setting realtime priority for its threads properly?
That is 2.6ms per buffer on the JACK side. I’m not sure it would provide any benefit to have smaller buffers on the JACK side than on the Dante side, you aren’t going to get lower latency than the Dante packet size, so it seems like extra work on the DAW/JACK side for no benefit.
How does the combination run at 256 buffer size?
jackd and Ardour get proper rt priority. I chrt’d up the priority of the ethernet adapter’s interrupt without any noticeable change in the reported latency distribution. A hardware timestamping ethernet adapter might bring lower latency.
It runs ok as well.
I tried to do more testing today, connecting to DVS instead of Via, but the DVS seems to need a master clock and throws an 512 error. I guess i’ll switch to PTPv2 for that.