Simple Synchronisation for Open Sound Control

Simple Synchronisation for Open Sound Control

Simple Synchronisation for Open Sound Control Sebastian Madgwick Thomas Mitchell x-io Technologies University of the West of England Bristol, UK Bristol, UK [email protected] [email protected] Carlos Barreto Adrian Freed x-io Technologies CNMAT, UC Berkeley Bristol UK CA, USA [email protected] [email protected] ABSTRACT of timing and rhythm in music [4, 5], and the continually emerging applications of networked computational devices Clock synchronisation is a mature and important aspect of for musical purposes [6, 7, 8, 9, 10], there is a growing need distributed computing systems. Despite the importance of for a widely applicable synchronisation solution for computer accurate timing in music, there are relatively few widely music applications. applicable synchronisation solutions available to computer This paper presents a simple Open Sound Control (OSC) music practitioners. In this paper we present a simple synchronisation procedure for distributed systems, which has OSC-based synchronisation method for wired and wireless been designed to satisfy the following objectives: applications, which is designed to be easy to apply and is shown to offer accuracy appropriate for fine-grained music • simple to implement on a wide range of platforms applications. The proposed solution relies on a single master (heterogeneous network nodes) sending a synchronisation message to all slaves. Empirical • ‘transport independent’ operating entirely through the studies with a heterogeneous network of 17 Wi-Fi slaves and exchange of OSC messages 5 Ethernet slaves demonstrate that each homogeneous group • meets the fine-grained synchronisation requirements of is able to achieve a relative synchronisation accuracy of 166 computer music applications (i.e. sub-ms error [11]) us and 100 us respectively, offset from the master time by their respective network latencies. An acoustic localisation system The paper begins with an introduction to network is implemented to demonstrate an application that requires synchronisation with particular focus on computer music both accurate synchronisation and benefits from wireless systems. The proposed synchronisation method is then connectivity. The system is shown to precisely locate a sound presented, followed by a detailed empirical analysis and source with a standard deviation of 1.8 mm. 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. 1. INTRODUCTION The paper closes with concluding remarks and proposals for future developments. 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 2. BACKGROUND practice this clock is derived from an on-board crystal or oscillator circuit, which, due to imperfections in the timing Clock synchronisation is a long and established component of hardware, will tend drift with respect to the clocks on other distributed computing systems, underpinning the technology network nodes [1]. Scenarios demanding precise temporal that enables GPS, mobile telecommunications, wireless data coordination have stimulated the development of many communications, networked file system integrity, sensor synchronisation procedures designed to establish an accurate, fusion, localisation, object and motion tracking [1, 12]. network-wide notion of time [2, 3]. Given the importance 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 Copyright: c 2015 Sebastian Madgwick et al. This is of available synchronisation methods that have since been an open-access article distributed under the terms of the proposed. Usually, these methods operate by propagating Creative Commons Attribution License 3.0 Unported, which permits a global or master time through the network from which unrestricted use, distribution, and reproduction in any medium, provided the slaves modify their local clocks to maintain synchronisation. original author and source are credited. The mechanisms of each synchronisation method differ based upon the the relevant network topology and the application 3. PROPOSED SOLUTION requirements in terms of accuracy, precision and energy. Comprehensive overviews can be found in the literature, see 3.1 Algorithm derivation for example [14] and [15] for a more recent comparison of The proposed synchronisation solution relies on a single synchronisation methods for wireless sensor networks. synchronisation master periodically broadcasting a measurement of global time to all slaves on a communication network; a method resembling the ‘simple’ synchronisation Synchronisation has also played an important role in solution proposed by Dannenberg [29]. distributed music systems to ensure audio and visual The synchronisation messages sent by the master provide media alignment. As technology has pervaded the sonic each slave with a precise observation of global time. and visual arts, a number of established synchronisation However, this observation will incorporate a varying error protocols and interfaces have been proposed and adopted due to the system latencies; the most significant being that enable distributed devices to maintain a common communication latency, and task scheduling within the slave. time frame. For example, MIDI clock, MIDI timecode Figure 1 shows the error in the observed global clock for a and SMPTE have provided reliable (although relatively single slave. This plot was obtained for a Wi-Fi node using imprecise) device synchronisation for professional media the experimental setup described in Section 4.1 and a fixed applications [16, 17]. Research into novel musical interfaces synchronisation message rate of 5 messages per second. and laptop/mobile phone performances are making increasing use of interconnected networks of wired and wireless 0 devices to sense and capture expressive control input and to schedule precisely timed output. For example, The −5 Princeton Laptop Orchestra [18], the Carnegie Mellon Laptop Orchestra [19] and the LOLC laptop ensemble [20] −10 implement their own synchronisation algorithms to ensure −15 timely coordination amongst players. The former alludes −20 to an OSC synchronisation procedure with synchronisation Error (ms) precision estimated in the order of 30-40 ms, while the latter −25 two incorporate messaging processes based upon Christian’s algorithm [21]. A third live coding synchronisation process −30 developed by Ogborn [22] for the Cybernetic Orchestra −35 encapsulates the complexities of the synchronisation process 0 5 10 15 20 25 30 35 40 45 50 55 60 Time (minutes) within a dedicated application called EspGrid, which exposes global beat resolution event messages to clients running Figure 1 OSC compatible music software. While this abstraction is . Error in the observed global clock for a single slave. elegant for synchronising to salient musical events, it is not designed to provide random access to the real-time clock, The visualisation of the error in the observed global clock precluding high-precision synchronisation applications such shown in Figure 1 clearly indicates a fixed minimum error. as localisation and sensor fusion. In their 2014 live coding Although errors may be as high as 30 ms, a significant report, Blackwell et al [23] draw attention to a growing number of observations have a precise error of 2.2 ms. This abundance of bespoke synchronisation methods noting that represents the minimum system latency, and corroborates cooperation is currently hampered by a lack of agreement on Wi-Fi round-trip latency measurements made with similar a single protocol. devices in [30, 31]. The distribution of the error will vary between hardware and software platforms, and communication interfaces. However, This work is concerned with cases in which many for a network of homogeneous slaves, the minimum system established synchronisation protocols may not be applicable latency will be equal for all slaves. A slave may therefore because they depend upon specific physical interfaces or achieve relative synchronisation with other homogeneous other specific OSI model technologies such as TCP/IP. The types if it is able to identify synchronisation messages that proposed synchronisation method is designed to operate in are likely to represent the minimum system latency. The situations where nodes are able to communicate by OSC and proposed solution achieves this through the following three have real-time access to an onboard physical clock. The heuristics: OSC protocol has been chosen as it has now become a key technology within the computer music community [24]. The 1. The slave incorporates a fixed slave clock drift to time tag [25] argument type was introduced to the OSC ensure that the slave clock is slower than the global protocol as an enabling feature for device synchronisation. clock. Despite several subsequent calls for an OSC synchronisation 2. If the observed global clock is ahead of the current method [26, 27, 28], a standardised approach is still to be slave clock then update the slave clock to equal the established. observed global clock. 3. If the observed global clock differs from slave clock by 4.1 Experimental setup more than a specified threshold then update the slave The experimental setup included 17 Wi-Fi slaves, 5 Ethernet clock to equal the observed master clock.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    7 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us