Dante Protocol Networked Audio

Just tried to install and run on my machine at home and it launches. wine staging 7.11 and xubuntu 22.04 with liquorix-kernel at the moment. But i can not try it cause i have no Dante enabled Products at home.

I wonder why manufacturers just can’t make graphical interfaces for Linux. The same goes for RME Totalmix fx, which is just a remote control for the device. How can they be so out of sight. High development costs are invoked, but that is hardly true. It seems as if a dark force is blocking the direction of favorable development.

I am curious which versions of wine and Dante Controller you have.
I just tried again with the WINE 7.10 build from Fedora repositories, and still get an error:

image

Are you doing anything additional to start Dante Discovery service?

[edit] Just noticed you already said wine staging 7.11. I will see if I can get a 7.11 build on my machine easily. Would still like to know which Dante Controller version, because I think that discovery service may not have been used in older versions, but I’m not sure, I don’t often use Dante devices.

Different for sure but connected in any case. An alsa driver has to treat the Dante buffer like a device and it or much software that deals with alsa like jack and many of jack’s clients expect an even number in hex terms. So for your example:

4msec would be 192samples which does not match up with 64/2 (128) or 128/2 (256). However, it would match with 64/3 quite nicely… except you would probably want to double that so that new packet could arrive and get buffered in more than one samples time. Normally with 64/2 (for example) the application (jack or ardour or whatever), reads from the first 64 samples while the device is filling the second 64 samples so that there is time for the two not to collide. In this case 192 sample are written at a time so jack, Ardour or other application will have to be working on a buffer that is 192 samples behind the one that the dante (aes67, AVB) is writing to. Now because it is all software and not relying on an audio device’s buffer space it may be possible to pretend one is running at 128/2 (256 samples or 8ms) if the next packet of 4ms can be received within a media clock of 128 samples (about 2.67ms) but the guarantee is not there in the standard. 128/3 would allow the application to start pulling the first buffer only after the third was full (if I understand things right) or at least was in the process of being filled but that would be ok because we know that buffer three gets filled at the same time as the second half of buffer two. This would give 8ms latency all together. Remember that something like Jack will want to read the whole buffer it is allowed access to at once.

Once one gets above128/3 to 256/2, it may not matter as much but 256/2 is already just over 10ms. A bit long for artist monitoring for percussive music styles if it gets dinged that 10ms in both directions but not a problem for recording.

Of course it is quite possible that the dante virtual card sw just adds one packet (or two) size latency to everything and fakes whatever the application wants from there.

Have you even measured round trip latency for your setup?

As Chris stated somewhere above, the Dante latency is based on the size of network packages. So any Dante device or virtual soundcard will „collect“ enough data to fill a package and then transmit it. In case of the Dante AVIO USB adapter, this device will not give a BEEP about anything Jack. It just takes what it gets via USB (class-compliant audio) and feeds it into the Dante thing.

So far the Dante AVIO USB works fine for me, after some setting up of my Dante network. It is a bit bulky and even more unhandy than the separate USB NIC that I need for my MacBook, so on the long run I’m considering the AES67 thing by Merging.

However, I often need Windows 10 in VirtualBox or Mac OS X anyways, since there are plenty of tools that are not available for Linux. Such as Blackmagic Atem Control, Yamaha R Control, just to name two. Which is strange to me, since all of those are merely simple GUIs controlling stuff over TCP/IP somehow, so there is nothing platform-specific in them.

One drawback of Dante is that they didn’t agree on a common standard on controlling preamps, so there’s Yamaha stage boxes working with their QL series, Allen&Heath stage boxes working with SQ and higher-range consoles, etc. – but if you connect a Yamaha Rio stagebox to your Allen&Heath console, you need to set the gains using R Remote. Vice versa with DT Preamp Control.

To answer the last question: No, I haven’t measured round trip latency. Latency doesn’t matter to me when firing playbacks from my laptop, or when recording a live performance into my laptop. For all Dante stuff that is not Dante Virtual Soundcard, I usually set it to 1msec and forget about it.

1 Like

R Remote does run under wine, so you can use it from linux.

sorry for radio silence - its 4.5.1.1

4.6.0.8 after updating - also works fine

Thanks, I still have some older 4.4.x version, I will try a new version tonight to see if the situation is improved on my system as well.

New version at least starts on my system, but has some networking problem, because it never discovers my Dante device. :angry: Very frustrating.

Everywhere i am looking there is no mention of a class compliant mode on the USB Digiface Dante - have you tried this or is it speculation? Would be nice to know. Thx in advance

@tatrapikao You are probably right! I always though all RME USB *face products had a class compliant mode, but very like the DigiFace doesn’t have it! :frowning:

I recently entered the Dante inferno again, mostly on the basis of Yamaha stuff and DVS and doing some research I found a (new?) interesting interface/product by Yamaha – but yet again it doesn’t say anything about class compliant mode: R Series (USB) - Übersicht - Interfaces - Professional Audio - Produkte - Yamaha - Deutschland

They seem to want to pick up the fight with WAVES who are leading with their Waves servers in terms of using plugins in live audio environments with this product, using Dante and VST.

More infernal details include that the 2x2 Dante adapters apparently also only allow for 2x2 connections to be routed in Dante Controller, simply because they all use the same chip by Audinate that doesn’t allow for more.

I recently found this project: GitHub - philhartung/aes67-sender: Make a soundcard input available in an AES67 network – it basically seems to be a replacement for Dante Via, which is a very interesting product to my opinion. E.g. it allows me to feed my RME FireFace 400 into a Dante network on OS X (however, at a fixed Dante latency of 10msec or so). This project on github might allow me to do the same on some embedded something. I haven’t tried yet. Since it supports Jack, one could do all kinds of tricks with it.

All Dante products I have do support AES67, except for Dante Via and DVS.