~Proceedings ICMCISMCI2014 14-20 September 2014, Athens, Greece Figure 1. Overview of the MoveOSC system with its different components. Pebble sends accelerometer data over bluetooth to an iOS app which finds OSC providers via ZeroConf service discovery. OSC data is then sent to that provider to allow interactive music performance. data of a smart watch easy in conjunction with popular music performance software. This application consists of a few different layers of software in order to create music via Pebble (described in Figure 1). First, the MoveOSC Pebble smart watch application sends accelerometer movements to the MoveOSC iOS application. When the Pebble accelerometer data is received by the MoveOSC iOS application, the iOS app transforms the data into Open Sound Control packets I and relays them to any listening and enabled OSC-compatible device or application on a Bonjourcompatible router 2 In our application setup, we forward the OSC data to an application called OSCulator.app 3. OSCulator is middleware that transforms OSC messages into other similar representations (e.g. MIDI). Routing the OSC data through OSCulator converts the received data for 3rd party music software that users can utilize, since different software packages (Logic Pro, Ableton Live / Max for Live, etc.) expect data in various forms. In our scenario, we used Ableton Live 9 along with Max for Live to create music with the Pebble. Once OSCulator receives the OSC packets from the MoveOSC iOS application, OSCulator transforms the OSC packets into a MIDI representation to send to Ableton Live 9. The MIDI packets are mapped to controls of different parameters, resulting in different musical sounds based on how the Pebble accelerometer moves. 3. SMART WATCH TECHNOLOGY Pebble is a programmable smart watch which is equipped with an ST ARM 32-bit CORTEX-M3 CPU. The clock face is a 144x168 pixel LCD display and it offers bluetooth networking as well as accelerometer and magnetometer sensors and vibrotactile display. Pebble is perhaps the first smart watch to start a recent interest in the area. Since then, the industry has pushed other examples into the commodity market. A prime example is Samsung's Galaxy Gear 4. At this time these systems do not have interoperability standards, hence solutions are particular to the platform. We hope that future standardization trends may alleviate this problem. Pebble provides a Software Development Kit (SDK) that lets developers easily create applications that integrate with 1http: //opensoundcontrol.org/introduction-osc 2https: //www.apple.com/ support /bonjour/ 3http://www.osculator.net 4http:/www.samsung.com us/ guide-to-galaxy-smart-devices/galaxy-gear.html both iOS and Android. This SDK consists of three components: one for the smart watch, one for iOS, and one for Android. Our system was implemented for iOS only, but extension to Android are straight-forward. 4. SMART WATCH APP The Pebble smart watch app (or for short Pebble app) uses a simple API to listen for accelerometer events. Pebble extends the ability to listen for accelerometer events at different frequencies (between measurements at 5 Hz and 100 Hz). There also exists functionality to batch the accelerometer measurements in groups (between 1 measurement per group and 25 measurements per group). The effects of these parameters - batch count and frequency - have a significant effect of how reliably data is transferred to the companion smartphone application. There are other concerns as well: memory pressure, incoming / outgoing Bluetooth message buffer size, and more. We needed to refine these parameters in order to ensure that enough data is sent to the smartphone and that it was sent at a reasonable rate. Here we note that the bottleneck of the application is the connection between the Pebble smart watch and the iOS application, not between the MoveOSC iOS application and a WiFi-connected OSC device. We thus focus on performance of the Bluetooth messages sent between the MoveOSC Pebble application and the MoveOSC iOS application. 4.1 Bluetooth Performance Initially the Pebble app displayed a real-time bar graph of accelerometer information. However, we realized that the data transmission speeds were affected negatively by having the live interface. This is an indication that the Pebble performance is not yet sufficient to maintain highbandwidth bluetooth connectivity and offer rapid display updates at the same time. Hence, we removed the live interface to obtain better Bluetooth performance. Even a simple user interface that requires a few system resources like an image brought down system performance. To decrease the memory footprint associated with the user interface, we created parts of the visuals in code rather than using images. Clearly the Pebble watch is in its infancy and these performance issues showcase that commodity wearable technology today still needs to improve to have a more seamless musical experience. - 693 -
Top of page Top of page