Lyrebird APP ETH Details

The Lyrebird APP ETH is based on the STM32F7 Discovery boards (an Cortex-M7 embedded systems).

It runs the Lyrebird APP ETH firmware to act as a listener and audio decoder in ETH audio networks.

It is capable to find where the audio streams are running (IP address, UDP port), can connect to it, decode, play and forward the audio.

Network Protocol Stack

Lyrebird APP ETH supports the public network standards.

It is a passive listener on the audio network.

It connects to an UDP audio stream and extracts the PCM audio samples in order to decode, process or forward to other interface, available at the platform, e.g. SPDIF, I2S, Headphone or LineOut.

ETH Protocol

Audio Format

The audio is streamed as PCM words, in big endian format.

When you change from 24bit to 16bit audio format, the lowest byte will be transmitted with value 0. So, you can take 24bit or 16bit, the first two bytes and decode in the same way.

The UDP packet transmits additional information, obviously how many channels are packed in the UDP packet and a time stamp (8 bytes, big endian).

The time stamp is the Word Clock Counter, for the first sample in the packet. It is changed with the Word Clock frequency, e.g. based on 48 KHz for every chunk of audio samples in an UDP packet.

ETH Protocol

How does it work?

Lyrebird APP ETH runs in Ethernet promiscuous mode and checks the UDP Unicast port range where audio could be streaming

if it finds an appropriate audio stream (based on UDP payload length is reasonable) it opens the UDP port and connects to it

if the source changes the UDP port - what happens if the Ethernet connection is lost and reconnected again, UDP port is changed - it will realize it

Lyrebird APP ETH is a passive listener without a need for an own IP address, it can monitor in any private network, never mind what the network mask is

Lyrebird APP connectivity

Lyrebird APP provides many audio input and output combinations.

For all the potential combinations - please see the connectivity matrix below

Lyrebird APP connectivity matrix

More information

You can find additional, more information here:

http://controlgeek.net/blog/2016/6/25/avb-and-audinates-dante-an-update-after-infocomm-2016

http://www.audio-technica.com/cms/resource_library/files/89301711029b9788/networking_fundamentals_for_dante.pdf

http://www.slideshare.net/bobbyvdb/practical-applications-for-digital-audio-networking

https://technet.genesis-technologies.ch/dante-networking-ports-and-protocols/

http://peaveyoxford.com/kc/Dante%20Networking%20Guide.pdf

http://www.lectrosonics.com/europe/images/PDFs/audinate%20avb%20white%20paper%20v1%202.pdf

http://magnetic.beep.pl/Axia/DANTE/DANTE_Media_Networking.pdf

Remarks

DANTE can send heavy MC or BR traffic into the newtwork (esp. when an audio device starts). If you have a WiFi router connected on the same network then it could cause trouble on WiFi connections. Best is, you block MC/BC going into ports for the WiFi router. Imagine: the more DANTE devices and ports you have in your network - the more MC/BC traffic is flooding your network.

A piece of cake to find and decode the audio: just listen on dedicated UDP ports (find UDP with the specific length and UPD ports) and you will find it. Surprise, why it is not scrambled. Decode by taking the audio samples, just to bear in mind the endianess.

All DANTE protocols for Routing, Device Discovery, Status and Monitoring seem to be based on connections-less MC announcements (without a handshake). Therefore they are repeated, retransmitted frequently (in case a listener has not realized), which looks like flooding the network with MC.

If a receiver device loses the network connection - it will grab the next UDP port, in case of stereo audio the next odd UDP port number inside the port range. If you power-cycle the device - it starts over with the first UDP port in the port range.

DVS has a small issue: if you lose the network connection - it will not recover and not play the audio again (even the audio is in the network). Press "Stop" and "Start" in order to resync and play the audio again after a lost or re-wired Ethernet connection.

Lyrebird APP ETH will not generate any traffic in the network. It is a passive listener able to find the audio streams, to connect to it, to decode and play, forward etc. Lyrebird APP ETH does not sniff, decode or manipulate any DANTE messages in the network.

Due to the nature of IP Switching or MAC address filtering you might need a port mirroring to be configured in your Ethernet/IP switch.

Order

If you want to enjoy it

Forum

Be enganged and involved

Contact

Send an email, get in touch