Oscilla
A browser-based framework for creating, performing, and sharing animated, cue-driven graphic scores.
Oscilla sits between notation, performance, and live electronic control, allowing composers to design scores that move, react, and synchronize across performers' devices — while remaining readable, editable, and shareable.
If you can draw it in SVG, Oscilla can turn it into a time-based, interactive score.
What Kind of System Is Oscilla?
Oscilla is a modular score execution platform combining:
- Cue-based timing and control – declarative behavior embedded in notation
- Animated graphic notation – SVG-driven visual scores with motion, transformation, and path-following
- Networked synchronization – WebSockets for ensemble coordination, OSC for external media systems
- Browser-native media playback – audio, video, synthesis, and text rendered directly in the score
It is designed for composers, improvisers, and performers working with hybrid notation practices.
Download
Current version: 0.8.1
Application
The recommended way to run Oscilla. A double-clickable app with a small server control panel: one click opens the score, and other people on the same network join by scanning a QR code or typing the address shown.
First run. These apps are not code-signed, so each system asks once:
- macOS — unzip, drag Oscilla.app into Applications, then right-click it and choose Open. Opening it by double-click the first time is refused. A READ ME FIRST note with these steps is included in the download.
- macOS 11 Big Sur — take the older systems build. The main macOS download requires macOS 12 and will not open on Big Sur. It is otherwise the same app, but built on an Electron release that no longer receives security updates.
- Windows — unzip the folder anywhere and run Oscilla.exe. If SmartScreen warns, click More info → Run anyway.
- Linux, Debian or Ubuntu — install the
.debby double-clicking it, or withsudo apt install ./oscilla_0.8.1_amd64.deb. Oscilla then appears in the applications menu like any other program, andsudo apt remove oscillaremoves it. - Linux, other distributions — make the AppImage executable, then run it:
chmod +x Oscilla-0.8.1-linux-x86_64.AppImage. AppImages need FUSE; if it exits witherror loading libfuse.so.2, install it (sudo apt install libfuse2t64on Debian/Ubuntu, where it is no longer present by default) or use the.debabove, which does not need it.
Server only — no window
For a machine with no screen, for running several instances at once, or for keeping Oscilla up as a background service. This binary has no interface of its own: it starts the server and prints an address to open in a browser on any device. It takes command-line flags, so several can run side by side on different ports.
chmod +x oscilla-0.8.1-linux-x64
./oscilla-0.8.1-linux-x64 --port=8010 --osc-in=57131 --osc-out=57130
It carries the same demo scores as the applications. On macOS and Windows use the application above — it contains the very same server, just with a window attached.
Get Started
- Documentation — Complete guides and reference
- Repository — Source code and issues
What Can You Do With Oscilla?
Create Animated Graphic Scores
Draw notation in Inkscape, attach behaviors to elements, and animate rotation, scaling, paths, and visibility over time.
Coordinate Ensemble Performance
Synchronize scores across multiple devices via a local server. Support fixed form, open form, or hybrid structures.
Control Electronics
Paths, shapes, and points can function as trajectories, timelines, or control curves that drive time, density, position, or other parameters.
Work With Composed Improvisation
Cues can branch, repeat, pause, and trigger events, allowing the score to guide behavior rather than prescribe outcomes.
Academic Reference
R. Canning, Oscilla: The Score as Performable Interface, Proceedings of the International Conference on New Interfaces for Musical Expression (NIME), London, 2026. doi:10.5281/zenodo.20784238
R. Canning, Scores That Run: Graphic Notation with Embedded Performance Semantics, Proceedings of the International Computer Music Conference (ICMC), Hamburg, 2026.
R. Canning, OscillaScore: A Modular Platform for Graphic Notation in Networked Music Performance, Proceedings of the International Conference on Technologies for Music Notation and Representation (TENOR), Beijing, 2025. PDF
Earlier work these systems grew out of:
R. Canning, Interactive Parallax Scrolling Score Interface for Composed Networked Improvisation, Proceedings of the International Conference on New Interfaces for Musical Expression (NIME), Goldsmiths, University of London, 2014. PDF
R. Canning, Real-Time Web Technologies in the Networked Performance Environment, Proceedings of the International Computer Music Conference (ICMC), Ljubljana, 2012. Archive
R. Canning, The M2 Compositions: A Technical Overview of a Modular Work Flow Towards the Creation of a Video Score, Proceedings of the International Computer Music Conference (ICMC), Huddersfield, 2011. Archive
Workshops and Residencies
Rizodencies 2026: Scores — 1–28 September 2026, Zavod Rizoma, Čermožiše (Haloze), Slovenia. A month-long residency mentoring four sound artists, composers and improvisers working intensively with Oscilla, closing with a public concert in Čermožiše. A recording and the scores will be published — details to be announced. Funded by Culture Moves Europe (Goethe-Institut / European Union).
Oscilla — Workshop on Animated Graphic Scores — 8–10 June 2026, Stara mestna elektrarna, Ljubljana. A three-day workshop organised by Emanat.
Oscilla — Workshop on Animated Graphic Audio Scores — 28–29 May 2026, Radiona, Zagreb. Two days, at the midpoint of an artist residency at Radiona running from the last week of May into early June 2026.
Evaluating Oscilla as a Performable Sound Score System — workshop at TENOR 2026, 21 May 2026, Austrian Academy of Sciences (ÖAW), Alte Postsparkasse, Vienna.
Executable Scores: Embedded Cue Semantics and Animated SVG Notation with Oscilla — workshop at ICMC 2026, 14 May 2026, Hamburg University of Technology.
Open Source
Oscilla is free and open source software, hosted by the community at kompot.si.
Mailing list. Questions, announcements and discussion happen on the Oscilla list, oscilla@kompot.si. Subscribe or read the archives — you can subscribe with just an email address, no account needed.
Licensed under the GNU Affero General Public License v3.
Developed with assistance from Anthropic Claude Opus 4.6