~ICMC 2015 - Sept. 25 - Oct. 1, 2015 - CEMI, University of North Texas
iSuperColliderKit: A Toolkit for iOS Using an Internal
SuperCollider Server as a Sound Engine
Akinori Ito
Tokyo University of Technology
[email protected].
ac. jp
Kengo Watanabe
Watanabe-DENKI Inc.
kengo@wdkk. co. jp
Genki Kuroda
Tokyo University of Technology
[email protected].
ac. jp
Ken'ichiro Ito
Tokyo University of Technology
[email protected].
ac. jp
ABSTRACT
iSuperColliderKit is a toolkit for iOS using an internal
SuperCollider Server as a sound engine. Through this research, we have adapted the exiting SuperCollider source
code for iOS to the latest environment. Further we attempted to detach the UIfrom the sound engine so that the native
iOS visual objects built by objective-C or Swift, send to the
internal SuperCollider server with any user interaction
events. As a result, iSuperColliderKit makes it possible to
utilize the vast resources of dynamic real-time changing
musical elements or algorithmic composition on SuperCollider for iOS programmers.
1. INTRODUCTION
iSuperColliderKit is a development toolkit that adapts for
the iOS7 later. It consists of two units, iSCKit and iSCApp.
iSCKit generates three static libraries for building an iOS
application using SuperCollider as a sound engine. iSCApp
is a sample project which shows the usage of this toolkit. It
has capability that programmers can develop their UI programming with iOS native API and programming language
and sound designing with SuperCollider language simultaneously. In this paper, we present the improvement and testing process of it.
2. BACKGROUND / MOTIVATION
Smartphones and tablets become widely used as a music
production environment, not only computer music research
but popular one. In the computer music research field, the
major development tools, Csound and stk have already been
ported to iOS[1][2]. AudioKit[3] is a toolkit for iOS and
MacOS based on Csound. Developers can make some synthesizers and effectors and control the parameters from Native iOS API.
One of similar computer music tools is SuperCollider[4].
It consists of two elements, synthesis server and editor client.
Copyright: ~ 2015 Akinori Ito 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.
The editor client sends the OSC code-fragments to its server.
Due to adopting the model, SuperCollider has feature that a
programmer can dynamically change some musical elements, phrases, rhythms, scales and so on. The real-time
interactivity is effectively utilized mainly in the live-coding
field. If the iOS developers would make their application
adopting the "sound-server" model, using SuperCollider
seems to be a reasonable choice. However, the porting situation is not so good. SonicPi[5] is the one of a musical programming environment that has SuperCollider server internally. However, it is only for Raspberry Pi, Windows and
OSX. The similar one is Overtone[6]. But it does not have
the server internally. Overtone users have to install and run
SuperCollider separately from Overtone itself on Linux or
OSX. There is the iOS version of SuperCollider on
Sourcefourge[7] but unofficial. It cannot be built for iOS7
and later smoothly. In this research, we attempt to improve
the iOS version on GitHub on the assumption the following
situation.
Use case:
> Building a native iOS application
> Building visual objects used by native iOS API
> Embedding some SuperCollider code fragment as a
text
> Sending code fragments from iOS UI object including the embedded SuperCollider code fragments
> Changing musical elements in real-time
System requirements:
> Building SuperCollider for iOS7 and later
> Building on Xcode5 or later
on one iOS device
objC NSString
SC OSCmsg.
touch interaction interpreter,
SC sound,server
modifying sound
in real-time
Figure 1. System flow
- 234 -