Dante
Dante is one of the industry standards for professional IP-based low-latency audio. It allows for uncompressed streaming of audio between software tools and hardware devices that implement the Dante standard.
Dante is proprietary to Audinate and there are hundreds of third-party products that support Dante.
It is supported in TouchDesigner by installing the Dante Virtual Soundcard, which permits low latency transfer (in and out) of audio channels at 32x32 @48KHz, 16x16 @96KHz and 8x8 @192KHz.
How to Use Dante with TouchDesigner
Dante Virtual sound card is a software application that acts like a sound card and appears in TouchDesiger as a regular audio device. It provides for an inexpensive solution for streaming audio between Dante Supported Devices or regular MacOS and Windows computers using a 1Gbs wired network. It can be purchased for $29.99 here. Dante Virtual Sound Card
Once you install the Dante Virtial Soundcard, Dante devices will appear in the Audio Device In CHOP as a set of stereo input channels as ASIO or Direct Sound devices on Windows, and Core Audio devices on macOS. In ASIO TouchDesigner supports 16 and 24 bits, while 32 bits are down-converted to 24 bits.
It will also appear in the Audio Device Out CHOP as a set of stereo output channels.
See also: NDI and Dante Networks
Connecting Two Computers with Dante
To connect two computers running Dante Virtual SoundCard (DVS), a DVS software license must be purchased and DVS must be installed on each computer. In addition a third Dante clock source must exist on the same network for the two DVS installed computers to communicate. This means simply having two computers with DVS installed and on a network is not enough to have an operational Dante audio network.
Generally the Dante clock source is generated by hardware based network devices like the Focusrite RedNet System or by embedded Dante interfaces as found in the TF Series from Yamaha.
In addition to the hardware solutions, Audinate offers a software only solution called Dante Via that will generate a clock source to activate the Dante audio network.
Once a Dante Network is setup with a valid clock source device, the DVS software will be detected and a routing user interface for passing audio between DVS or other Dante hardware devices is provided by the application Dante Controller.
Note that to maintain low latency, your TouchDesigner process has to be running with no frame dropouts longer than the latency, or the audio needs to be running in a separate TouchDesigner process.
See the Audio Device In CHOP and the Audio Device Out CHOP.
Network Configuration
For best results the configuration recommended by Yamaha has been tested with TouchDesigner. The guide is very useful and can be found here. Yamaha Dante Network Configuration Guide\
Important Notes
To ensure proper audio performance with no digital crackle, follow these guidelines when setting up a network with computers running different software and using a mixture of ASIO and Windows WDM system audio drivers.
ASIO and WDM sample rates must match. All sample rate values in ASIO DAW programs and WDM audio programs must be set to the same sample rate. If the ASIO and WDM sample rates are not the same, audio from one or more programs will not be heard. When changing WDM sample rates: Set the sample rate in the Audio Card's Audio Driver Settings Hardware control panel before changing sample rates in the Windows Sound>Advanced>Default Format or Sound>Recording control panels within Windows. Note that WDM programs may need to be closed then reopened to be heard if the sample rate is changed in the Sound control panel within Windows. When changing ASIO sample rates: If the DAW sample rate is changed, WDM audio will no longer be heard because the sample rates no longer match. In this case, the WDM sample rate must be changed in the Windows Sound>Advanced>Default Format panel to match the DAW sample rate.
Using Dante with NDI
Running NDI on a Dante Network will greatly increase latency. NDI must be forced to work on a different network and NIC than Dante.
This section covers some testing we conducted on a Dante and NDI network. Because Dante and NDI both use Bonjour network discovery protocol, NDI will interfere with Network bandwidth of a Dante network. There have been discussions on various forums on how to issolate the networks onto different NICs and network segments but Derivative wasn't able to get any of the work arounds validated.
- https://forums.newtek.com/showthread.php/154532-Required-dual-NIC-setup-having-tough-time-getting-NDI-to-only-hit-one
- https://forums.newtek.com/showthread.php/154021-Routing-NDI-traffic-to-a-specific-NIC
Dante Latency while running 2 NDI streams of 3840x2160 has very bad bursts of digital audio crackle. In these cases the Dante Controller software clearly shows greater latency.
Dante with no NDI. No crackle. Latency is clearly lower.
Hardware Considerations
The 10G Asus cards have clearly high latency by default as indicated by the Dante Controller software. The left is ASUS and the right is the SuperMicro Intel 10G. The NUC can’t play a single NDI 3840x2160 Input.
Dante Hardware
Focusrite Pro offers a powerful range of tools to make working with a Dante network straight-forward and easy. https://pro.focusrite.com/category/audiooverip
The RedNet X2P is an affordable and reliable way to both generate a Dante network clock as well as monitor or send audio on the Dante network. The device is POE so it can be located in tricky circumstances where power access is a problem. With this device and a compliant switch you have a complete Dante network solution aside from the computer senders and receivers. However on the TouchDesigner receiver computers you can simply install a Dante Virtual Soundcard and you are good to go.
Dante Hardware to possibly solve NDI on the same computer
This work around for running Dante audio on the same computer as an NDI sender or receiver is NOT tested but according to Focusrite it should work. By using their RedNet PCI card, the connection to TouchDesigner will be through the ASIO driver and therefore it will be automatically issolated since the built in NIC of the PCI card does not show up as a standard NIC on in the operating system. Instead it behaves much more like a sound card. Doing so will allow the Dante network to be easily assigned its own segment on the same network switch or to be assigned to an issolated seperate Network Switch.