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.

Almost two years laterā€¦ got a RME Digiface Dante here now. It doesnā€™t do anything on Linux. Says hello in dmesg, but thatā€™s it.

The older PCI-e Dante cards are out of production as it seems. It might be that all of those re-branded ones would work with the commercial LX-Dante driver, I donā€™t know.

So the only usable Dante hardware interface to my knowledge at the moment is the Yamaha RUio16-D that is USB audio class-compliant. However, this is info I read on the web, I havenā€™t tried one of these yet. Too expensive for 16x16 channels. Yes, the offer includes some goodies such as a VST version of the REV-X reverb by Yamaha, which I actually love a lot, but these plugins then again are not provided for Linux.

Dante Virtual Soundcard is still not available for Linux. Even though apparently Dante libraries for Linux by Audinate exist for embedded systems / OEM products.

I tried Merging Ravennas Virtual Audio Device on OS X, which also exists for Linux. It uses AES67 and communicates with Dante hardware in AES67 mode. This actually does work, but it has two issues: 1) it cannot be run reliably at very low latency, which however might be irrelevant to many users, and 2) it requires expensive AV networking switches since AES67 is multicast-only. This may blow up the costs of your infrastructure quite a bit, depending on the plans for the setup.

So far, Iā€™m now using the Digiface Dante on OS X and Dante Virtual Soundcard on Windows for playbacks etc. ā€“ on Linux Iā€™m stuck with the incredibly expensive Dante AVIO USB, which is 2x2 channels only. It works well, though.

Basically, my conclusion is at the time of writing: Dante on Linux Desktop ā€“ manufacturers donā€™t want it to happen.

3 Likes

Pretty certain this requires a driver/not class compliant for full support. It is on my list of hardware to purchase but I probably wonā€™t be able to for another year or two depending on how much people rent my gear.

Of course I could try out a DM3-D and see how that handles it now on v2, havenā€™t tried that yet.

From: AES67-FAQ | Media Networking Alliance

Are you possibly thinking of AVB which requires specific hardware support in the switch?

  Seablade

Even ignoring that unicast is an option, I bought a simple managed switch which supports multi-cast for just over $25 last year. Multicast support is basically free these days.

Well, I couldnā€™t get Merging Virtual Audio Device to interact without creating multicast AES67 flows on my Dante hardware. So while possibly AES67 in general does support Unicast, things might be different when using Dante chipsets in AES67 mode. (Dante hardware: SQ Dante 64Ɨ64 by Allen&Heath.)

I tried a low-latency setup below 4msec using Merging Virtual Audio Device on OS X and that actually worked, but OS X wouldnā€™t cooperate too well. Plus, itā€™s really a hassle because e.g. the new Mac Mini M2 10gbps ethernet chip does not work with AES67 apparentlyā€¦ and so on. In the end I gave up on AES67 and went for the Digiface Dante.

Managed Unicast switch for $25? Please send a link. I tried a couple of, found the Cisco sg350/sg250 working after some configuration. Older DLink DGS1210 do not work, they donā€™t allow for patching in Dante Controller, the later ones might work ā€“ so one of these older ones was what I could get for cheap.

I found out that when I plugged some cheap non-managed switch into the network at some arbitrary point, even when it wasnā€™t doing any audio over IP, the entire low-latency AES67 thing would break down on the spot for me. So it was quite risky for a mobile setup (at home, Iā€™m on ADAT still, this is all about live setups).

You are correct that Dante devices only support multicast currently. Both multicast and unicast are described in the AES67 spec, but unicast is not required.

I would call it semi-managed, it is not completely configurable.
TP-Link SG108E
Currently $27 at Amazon.

You definitely want a switch which lets you configure priority queues.

Thanks for hinting me to the TP-Link series. I wasnā€™t aware of those. So far I have been using inexpensive non-managed Netgear PoE switches that can some things very well, e.g. they power my streaming cameras and camera controllers, or even power Allen&Heathā€™s ME-1 personal monitor mixing series that uses their proprietary DSnake protocol. However, they wouldnā€™t to Dante Multicast properly. (Hint: never ever mix DSnake and other traffic on one switch, will not work, was never supposed to work.)

Basically, I think one can summarize it this way: In Unicast mode, the switch gets to know from the Dante/AES67 hosts to which hardware ports data packages must go (since the switch gets to route using MAC addresses and it maintains a simple list of these for each of its ports). In Mulicast mode, the switch must decide this alone on the more sophisticated TCP level using IGMP Querying and IGMP Snooping, while QoS keeps the PTP clock for audio samples going everywhere on time.

Now in combination with the right ā€œskill setā€ for Dante/AES67 and PoE requirements, there are only a few inexpensive models left that works and those arenā€™t that easy to find.

Yamaha offers specialized Dante switches, and Luminex go even further claiming they support everything Audio/Video out of the box without any special configuration, all using EtherCon connectors for stage equipment. I see those often, but for me as a one man business, theyā€™re way out of reach. But if money isnā€™t of any concern, go for those.

As long as everything is Dante and Unicast, itā€™s quite easy, though.

Fun fact is that on OS X I use mostly the very same software that I use on Linux as well, which is mostly Mixbus or Ardour, VLC, and the like.

Plus WAVES Superrack Performer. Which is another crazy story, since the WAVES server is free and Linux-based, but thereā€™s no WAVES plugins available for Linux running outside of their server ecosystem. (A small DIY WAVES server can be created for below 300ā‚¬, but it will only talk Waves Soundgrid, and the Dante/Soundgrid bridge is at around 3200ā‚¬ at the momentā€¦ so if you can fit a WAVES card to your console, this is the cheapest optionā€¦ but for Yamaha QL consoles thereā€™s only a 16x16 model, so the details instantly make you go nuts either way you go.)

Oh, I just went on Digigrams website, so the guys with the LX-Dante card. They have a new product now called ALP-DANTE that is supposed to work with Linux: ALP-DANTE PCIe SOUND CARD - Smart and ultra versatile - Digigram ā€“ available for less than the Yamaha USB thing, but I donā€™t know about licenses and/or extra costs for the ASLA driver.

The RME Digiface Dante features a 64x64 Dante to MADI converter/interface, which I actually might use, and if it had a Linux driver, I would strongly advertise the product here. But it hasnā€™t and RME stated they wonā€™t make one: Digiface Dante + Linux? (Page 1) ā€” Linux ā€” RME User Forum

So, have we tried thoughts and prayers yetā€¦? especially in high-channel-count situations, Dante is getting stronger. Even RME, traditionally on the MADI track, are going Dante now for preamps/converters such as the 12Mic-D. So a Dante Virtual Soundcard for Linux would be of great use for professional recording situations with Ardour/Mixbus on Linux.

same for audinate:

DSnake isnā€™t really meant to go over a switch at all, it is a layer 2 point to point connection IIRC. Doesnā€™t mean it canā€™t go over a switch, but IIRC you need to put it on itā€™s own VLAN where only the two devices are connected to it. But that is getting into more advanced things.

To be clear, Dante happens over just about every switch in my experience(Other than EEE switches, power savings and accurate timing donā€™t go well together). I havenā€™t dealt often with AES67 as much to speak specifically for that though.

Yamahaā€™s Dante switches are pretty much bog standard switches that are configured to not prevent Dante:). The nicety with them is they make VLANs easy, etc.

Luminex switches are a bit more powerful, and IIRC they are AVB capable, which requires hardware support but in the end they are still just switches.

Similar story here. I havenā€™t been a full time Linux user in some time sadly, primarily due to plugins, QLab, and video editing. (Well Dante as well and configuration software for hardware such as R1, etc.) But the basic software I use still works fine on Linux outside of that.

Waves has made interesting moves recently that make me think they may be starting to move away from Soundgrid honestly. The 16x16 aspect of the Soundgrid card though is more about the mini-YGDAI card slot which is 16x16 and less about the card.

To be fair some time ago people actually were able to listen in on the Dante streams on Linux, but I donā€™t remember specifics on that at the moment, this was years ago. The real trick is managing the subscriptions etc.

I have considered investigating an API license to write software plugins for Dante so that you could load a plugin on a track in Ardour and it would show up in Dante, but you would still need to run Dante Controller to manage subscriptions most likely, and would have to charge for the plugin due to licensing.

Seablade