AES67 VAD to Dante USB audio interface
Setup
We have the following AES67-capable devices on MacOS 13.6.4:
- (A) Merging RAVENNA/AES67 VAD standard (Version 3.2.7)
- (B) RME Digiface Dante (firmware v56, driver v4.10)
Our first goal is to create AES67 audio streams from (A) to (B), to be captured by USB, and send back via USB from (B) to (A).
We use the Thunderbolt Ethernet interface (USB-C to Thunderbolt adapter to Ethernet adapter) with hardware timestamping, in our case interface en14.
Side remark: The Audinate Dante Virtual Soundcard (Version 4.3.1.1) is NOT AES67 capable.
Configuration
For (B), with the Dante controller app, we enable AES67 mode in the AES67 configuration tab. The set IP prefix is 239.69.xxx.xxx which we don't change.

In the network configuration tab, the IP address is manually set to 10.10.10.10 (also shown in the Fireface USB settings), netmask 255.255.255.0.


In the device configuration tab, we set the sample encoding to PCM24 and latency to 2 msec as preferred by AES67.

For the en14 ethernet interface, we must be in the same subnet. Let's manually assign the IP 10.10.10.11 and subnet mask 255.255.255.0 if the TCP/IP network settings.

For (A) in AES67 mode, the latency must be set to 1ms, 48 samples in the MacOS system settings Merging RAVENNA/AES67 tab. The network adapter must be set to Thunderbolt Ethernet (also works with Auto).
We select 8 inputs and 8 outputs.
We achieve PTP locking!

Sending AES67 from Merging VAD to RME Digiface Dante
Browsing to http://10.10.10.11:9090 brings up the configuration interface of (A).
We open the Session sources tab of the interface. Left below the menu, there is a small Create session button, seen by a flyover hint. In our case the configuration name is CoreAudio (on d2022-013)_3, with 8 audio channels in L24 encoding.
For the address, we need to match the IP prefix of the Dante controller – let's set this to 239.69.10.11.

This name appears in the Dante controller Receive tab on the right under Available channels. Folding out the channels, we can drag those to the left receive channels.

The Merging system panel reflects the successful connection.

We should now be able to monitor the audio stream through headphones using the RME Totalmix or capture it via USB.
Sending AES67 from RME Digiface Dante to Merging VAD
In the Dante controller, we Create a Multi Flow via the respective button or the menu item in the Devices menu.

We see this RTP Multicast stream in the Send tab.

Browsing to http://10.10.10.11:9090 brings up the configuration interface of (A).
We open the Session sinks tab of the interface. Left below the menu, there is a small Create session sink button, seen by a flyover hint. A configuration is created.
We will need to select the source, e.g. sap://AVZ-ELAK-Digiface-02 : 32 and a Delay setting. In my case the default setting of 96 samples resulted in a muted RTP status (at the right).

Reliable operation seems to require a setting of 240 samples or so.

We should now be able to capture audio from the Merging RA coreaudio device.
Debugging
In case of doubt whether AES67 data are sent, we can inspect network traffic using Wireshark.
With a ptp filter setting, we can inspect the PTP clock, or with a udp.port==5004 filter, we can expect AES67 data packets on the respective network interface.
