~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 -