~ICMC 2015 - Sept. 25 - Oct. 1, 2015 - CEMI, University of North Texas Simple Synchronisation for Open Sound Control Sebastian Madgwick x-io Technologies Bristol, UK sebmadgwick@x-io.co.uk Carlos Barreto x-io Technologies Bristol UK cbarreto61@unisalle.edu.co ABSTRACT Clock synchronisation is a mature and important aspect of distributed computing systems. Despite the importance of accurate timing in music, there are relatively few widely applicable synchronisation solutions available to computer music practitioners. In this paper we present a simple OSC-based synchronisation method for wired and wireless applications, which is designed to be easy to apply and is shown to offer accuracy appropriate for fine-grained music applications. The proposed solution relies on a single master sending a synchronisation message to all slaves. Empirical studies with a heterogeneous network of 17 Wi-Fi slaves and 5 Ethernet slaves demonstrate that each homogeneous group is able to achieve a relative synchronisation accuracy of 166 us and 100 us respectively, offset from the master time by their respective network latencies. An acoustic localisation system is implemented to demonstrate an application that requires both accurate synchronisation and benefits from wireless connectivity. The system is shown to precisely locate a sound source with a standard deviation of1.8 mm. 1. INTRODUCTION In networks of distributed computational devices, individual network nodes are equipped with a local clock from which events may be accurately scheduled or timestamped. In practice this clock is derived from an on-board crystal or oscillator circuit, which, due to imperfections in the timing hardware, will tend drift with respect to the clocks on other network nodes [1]. Scenarios demanding precise temporal coordination have stimulated the development of many synchronisation procedures designed to establish an accurate, network-wide notion of time [2, 3]. Given the importance Copyright: ~2015 Sebastian Madgwick et al. This is an open-access article distributed under the terms of the Creative Commons Attribution License 3.0 Unported, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited. Thomas Mitchell University of the West of England Bristol, UK tom.mitchel@uwe.ac.uk Adrian Freed CNMAT, UC Berkeley CA, USA adrian@cnmat.berkeley.edu of timing and rhythm in music [4, 5], and the continually emerging applications of networked computational devices for musical purposes [6, 7, 8, 9, 10], there is a growing need for a widely applicable synchronisation solution for computer music applications. This paper presents a simple Open Sound Control (OSC) synchronisation procedure for distributed systems, which has been designed to satisfy the following objectives: " simple to implement on a wide range of platforms (heterogeneous network nodes) " 'transport independent' operating entirely through the exchange of OSC messages " meets the fine-grained synchronisation requirements of computer music applications (i.e. sub-ms error [11]) The paper begins with an introduction to network synchronisation with particular focus on computer music systems. The proposed synchronisation method is then presented, followed by a detailed empirical analysis and discussion of its performance. A practical application example of the synchronisation precision is then provided in the form of a wireless indoor acoustic localisation system. The paper closes with concluding remarks and proposals for future developments. 2. BACKGROUND Clock synchronisation is a long and established component of distributed computing systems, underpinning the technology that enables GPS, mobile telecommunications, wireless data communications, networked file system integrity, sensor fusion, localisation, object and motion tracking [1, 12]. The Network Time Protocol (NTP) [13] has for decades kept internet clocks running to within a few milliseconds of Universal Coordinated Time and now forms one of a plethora of available synchronisation methods that have since been proposed. Usually, these methods operate by propagating a global or master time through the network from which slaves modify their local clocks to maintain synchronisation. The mechanisms of each synchronisation method differ based -218 - 0
Top of page Top of page