Download, and a List of Some of Them Can Be Found at the OSC Website [131]
Total Page:16
File Type:pdf, Size:1020Kb
An Investigation of Protocol Command Translation as a means to enable Interoperability between Networked Audio Devices Submitted in fulfilment of the requirements of the degree DOCTOR OF PHILOSOPHY of Rhodes University OSEDUM P. IGUMBOR February 2013 Abstract Digital audio networks allow multiple channels of audio to be streamed between de- vices. This eliminates the need for many different cables to route audio between devices. An added advantage of digital audio networks is the ability to configure and control the networked devices from a common control point. Common control of networked devices enables a sound engineer to establish and destroy audio stream connections be- tween networked devices that are distances apart. On a digital audio network, an audio transport technology enables the exchange of data streams. Typically, an audio transport technology is capable of transporting both control messages and audio data streams. There exist a number of audio transport technologies. Some of these technologies implement data transport by exchanging OSI/ISO layer 2 data frames, while others transport data within OSI/ISO layer 3 packets. There are some approaches to achieving interoperability between devices that utilize different audio transport technologies. A digital audio device typically implements an audio control protocol, which enables it process configuration and control messages from a remote controller. An audio control protocol also defines the structure of the messages that are exchanged between compli- ant devices. There are currently a wide range of audio control protocols. Some audio control protocols utilize layer 3 audio transport technology, while others utilize layer 2 audio transport technology. An audio device can only communicate with other devices that implement the same control protocol, irrespective of a common transport technol- ogy that connects the devices. The existence of different audio control protocols among devices on a network results in a situation where the devices are unable to communicate with each other. Furthermore, a single control application is unable to establish or destroy audio stream connections between the networked devices, since they implement different control protocols. When an audio engineer is designing an audio network installation, this interoperability chal- lenge restricts the choice of devices that can be included. Even when audio transport interoperability has been achieved, common control of the devices remains a challenge. This research investigates protocol command translation as a means to enable inter- operability between networked audio devices that implement different audio control protocols. It proposes the use of a command translator that is capable of receiving mes- sages conforming to one protocol from any of the networked devices, translating the ii received message to conform to a different control protocol, then transmitting the trans- lated message to the intended target which understands the translated protocol message. In so doing, the command translator enables common control of the networked devices, since a control application is able to configure and control devices that conform to dif- ferent protocols by utilizing the command translator to perform appropriate protocol translation. Acknowledgements Many thanks to my supervisor Prof. Richard Foss for the encouragement and insights throughout the course of this research. In spite of his other commitments, he was always patient and willing to listen to my many ideas and suggestions, and more so guide me in my search for answers. To me, you have been a mentor, and a role model. To my parents, Sam Nwa-Igumbor and Prof. Eunice Igumbor, I am grateful for the virtues of hard work and discipline that was instilled in me. These tools certainly played an important role during my academic journey. Mum and Dad, thanks for the dream, and for laying the path. I am grateful to my brothers, Dr. Jude Igumbor, Ozenim Igumbor, and Prof. Ehi Igum- bor, whose numerous calls to enquire about my well-being always left me even more motivated. Our many intellectual debates have immensely enriched me as a person. I am most grateful to my fiancée, Kem Okecha, whose love, patience, and encourage- ment kept me balanced and focused. Kem, I am blessed to have you in my life. I thank my colleagues in the Audio Research Group, and staff of the Department of Computer Science (Rhodes University), who in different ways have contributed to my knowledge. It is always great to have colleagues with whom one can exchange ideas. I acknowledge the financial contribution of the Distributed Multimedia Centre of Ex- cellence at Rhodes University with its sponsors, and the Andrew Mellon foundation.I am also grateful to UMAN Technologies for granting me access to their equipment and control application software that was used in the course of this research. Contents 1 Introduction 1 1.1 Networked audio device . 2 1.2 Audio Transport Technology . 3 1.3 Audio Control Protocols . 5 1.4 Problem Statement . 8 1.5 Command Translation Approach . 9 1.6 Chapter Layout . 11 2 Digital Audio Network Technologies and Interoperability 13 2.1 Audio Networking Technologies . 13 2.1.1 Resource allocation . 15 2.1.2 Device synchronization . 15 2.1.3 Network latency . 16 2.2 Overview of current Audio Networking Technologies . 17 2.2.1 Layer 2 Audio Networking Technologies . 18 2.2.1.1 IEEE 1394 . 19 2.2.1.2 Ethernet AVB . 22 2.2.1.3 CobraNet . 28 2.2.1.4 RockNet . 30 2.2.1.5 EtherSound . 31 2.2.2 Review of Layer 2 Audio Networking Technologies . 34 2.2.2.1 Interoperability on layer 2 networks . 35 i CONTENTS ii 2.2.2.2 Tunneling nodes for Layer 2 Interoperability . 36 2.2.3 Layer 3 Audio Networking Technologies . 37 2.2.3.1 Q-LAN . 38 2.2.3.2 RAVENNA . 40 2.2.3.3 Livewire . 41 2.2.3.4 Dante . 44 2.2.4 Review of Layer 3 Audio Networking Technologies . 45 2.2.4.1 Interoperability on layer 3 networks . 47 2.2.4.2 AES-X192 for Layer 3 Interoperability . 47 2.3 Audio Networking Technology Interoperability . 51 2.4 Summary . 52 3 Audio Network Control Protocols 53 3.1 Audio Control Protocols . 53 3.2 Overview of Layer 3 Audio Control Protocols . 55 3.2.1 Open Sound Control (OSC) . 56 3.2.1.1 OSC messaging . 57 3.2.2 Architecture for Control Networks (ACN) . 58 3.2.3 Common Control Interface for Networked Audio and Video Products (IEC 62379) . 60 3.2.3.1 IEC 62379 monitoring and control . 61 3.2.3.2 IEC 62379 discovery . 62 3.2.4 Audio Engineering Society standard for Command, Control and Connection Management for Integrated Media (AES-64) . 63 3.2.4.1 AES-64 messaging . 65 3.2.5 Open Control Architecture (OCA) . 65 3.2.5.1 OCA messaging . 68 3.3 Overview of Layer 2 Audio Control Protocols . 68 3.3.1 Audio Video Control (AV/C) . 68 3.3.2 IEEE 1722.1 (AVDECC) . 71 CONTENTS iii 3.3.3 Music Local Area Network (mLAN) . 72 3.4 Protocols of Interest . 75 3.4.1 Focus on OSC . 77 3.4.1.1 Device model . 79 3.4.1.2 Device discovery . 80 3.4.1.3 Connection management . 82 3.4.2 Focus on AES-64 . 82 3.4.2.1 Device model . 86 3.4.2.2 Device discovery . 89 3.4.2.3 Connection management . 90 3.4.3 Focus on IEEE 1722.1 . 93 3.4.3.1 Device model . 96 3.4.3.2 Device discovery . 103 3.4.3.3 Connection management . 107 3.5 Summary . 111 4 Approaches to Networked Audio Device Interoperability 114 4.1 Control Protocol Interoperability Challenge . 114 4.2 Solutions for Interoperability . 116 4.2.1 Hardware abstraction plug-in approach - mLAN . 116 4.2.2 Layer 3 common specification approach - AES-X192 . 120 4.2.3 AVDECC Proxy Protocol . 122 4.3 Command translation for Interoperability . 124 4.4 Summary . 126 5 Layer 3 end station implementation - OSC 128 5.1 OSC Server Overview . 130 5.1.1 Implementation Platform . 131 5.1.2 Device discovery component . 131 5.1.3 AVB component . 132 CONTENTS iv 5.1.4 OSC parser component . 132 5.1.5 OSC service . 133 5.2 OSC Server capabilities . 133 5.3 OSC Server Implementation Layout . 133 5.4 Device Discovery . 135 5.4.1 Publishing of OSC server . 136 5.4.2 Withdrawing of OSC service . 137 5.5 OSC Address Space for OSC Server . 137 5.5.1 OSC address space for OSC generic properties . 138 5.5.2 OSC address space for device properties . 138 5.5.3 OSC address space for AVB properties . 139 5.6 Connection Management . 140 5.6.1 Implementing connection management capabilities in the OSC server . 141 5.6.2 OSC methods for connection management . 143 5.6.3 OSC server as AVTP talker . 147 5.6.3.1 Stream identification . 147 5.6.3.2 Stream enumeration . 148 5.6.3.3 Stream advertising . 148 5.6.3.4 Stream transmission . 149 5.6.4 OSC server as AVTP listener . 149 5.6.4.1 Stream identification . 150 5.6.4.2 Stream enumeration . 150 5.6.4.3 Stream attachment . 151 5.6.4.4 Stream reception . 151 5.7 Internal Audio Signal Routing . 152 5.8 Summary . 153 CONTENTS v 6 Layer 3 Proxy Implementation 154 6.1 Introduction . 154 6.2 The Proxy Approach . 155 6.3 OSC Proxy Design . 157 6.4 OSC Proxy Implementation . 158 6.4.1 OSC server discovery . 159 6.4.2 AES-64 parameters for OSC server . 160 6.4.2.1 Device discovery parameter types . 160 6.4.2.2 Input parameter types .