Back To Schedule

Using Kotlin/Compose Multiplatform to Revive a Historic Multiplayer Online Drum Machine

How to write an audio app that runs almost everywhere.

20:30 - 20:50 | Friday 26th September 2025 | ADCx Gather
Beginner
Intermediate
Advanced

Kotlin/Compose is a powerful tool for multi-platform development. But it lacks audio support. I have implemented a simple audio API that you can use to write an interactive app that will run on Linux, Mac or Windows desktops, on Android, and on the web. The web port uses WASM and the WebAudio AudioWorkletProcessor. Network communication uses ktor and a WebSocket proxy to communicate with the original TCP based server. I used these new APIs to restore a multiplayer poly-rhythmic interactive web drum that was originally written as a Java Applet. The applet was popular in the 1990’s but stopped working when Java was banned from the browser. I will demonstrate how to use Kotlin/Compose, and the new audio and networking APIs and discuss the challenges involved. I will also discuss the architectural changes needed to run on all these different platforms. If the demo gods are willing, I will then lead the audience in a multiplayer drum jam.

Phil Burk

self employed

SoftSynth

Phil Burk is a software developer and designer who specializes in interactive and experimental music systems. In the early 1980’s, Phil began developing HMSL, the Hierarchical Music Specification Language. Phil then worked at 3DO developing the first DSP based sound synthesis system for a video game console. Phil co-founded the PortAudio project with Ross Bencina in 1997. Other projects include JSyn, a music synthesis API for Java, JavaSonics ListenUp for recording and uploading voice in a web page, and TransJam, a client/server system for multi-player interaction on the web, eg. the WebDrum.  Phil Burk led the Mobileer team in the development of a polyphonic MIDI ringtone synthesizer used in the Treo 600 and other devices. Phil has also been contributing for many years to the new MIDI 2.0 standards. At Google he developed AAudio, Oboe and the MIDI API for Android.

VolumetricCondensed