MobileFaust: a Set of Tools to Make Musical Mobile Applications with the Faust Programming Language

Romain Michon, Julius Smith and Yann Orlarey
CCRMA, Stanford University
GRAME, Lyon

Linux Audio Conference 2015 - Mainz, Germany - April 11, 2015

Background

  • Mobile platforms offer a great opportunity to the world of open source audio to make sound synthesis and processing accessible to a wider audience
  • High level UI, simplicity and stability
  • The use of smartphones and tablets as musical instruments is now accepted by a large number of musicians
  • Mobile devices are everywhere

Faust

Functional AUdio STream

MobileFaust

  • faust2android
  • faust2ios
  • faust2api

faust2api

  • faust2api -android myCode.dsp
  • faust2api -ios myCode.dsp
  • C++ on iOS
  • JAVA and C++ on Android

faust2api Overview

iOS Latency

Device Touch-to-Sound Round-Trip
iPhone 5 36ms 13ms
iPhone 6 30ms 15ms
iPad 2 45ms 15ms
iPad Air 2 38ms 12ms

Android Latency

Device Touch-to-Sound Round-Trip
Samsung Galaxy S5 72ms 78ms
Google Nexus 5 90ms 92ms
Google Nexus 7 130ms 130ms

Faust2android

Example of "Multi-Keyboard" Interface of an Application Generated by faust2android

Using the Built-In Accelerometer

OSC and MIDI Support

Audio IO Configuration

Device Sampling Rate Buffer Size
Nexus S 44100 880
Galaxy Nexus 44100 144
Nexus 4 44100 240
Nexus 7 44100 512
Nexus 10 44100 256
Others 44100 512

Preferred Buffer Sizes and Sampling Rates for Various Android Devices

Easy App Generation

Applications

Music 256b - Mobile Music

Class Final Projects

Smart-Faust

Search for "smartfaust" on the Google Play Store

Conclusions

Thanks! :)

More @: https://ccrma.stanford.edu/~rmichon/mobileFaust/