~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 -
Top of page Top of page