Oscilla Score
A browser-based framework for creating, performing, and sharing animated, cue-driven graphic scores.
Scores are SVG files, drawn in Inkscape or any SVG editor. Behaviour is written as cues on the elements themselves (in their ids or data-oscilla attributes) and executed in the browser: animation, path following, playhead-driven timing, audio, video and synthesis, OSC output. A Node.js server serves the score and keeps every connected device synchronised over WebSockets.
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.9.0 — from source; the packaged apps below are 0.8.13, the last to be built
Oscilla Live, the live-coding application on the same engine, runs in the browser without installation: oscilla.cc/live.
From source — 0.9.0
With Node.js 18 or newer and Git:
git clone https://git.kompot.si/rob/oscilla.git
cd oscilla
git checkout v0.9.0
npm install
npm run electron # the app, with its server console
npm start # or the server alone: open http://localhost:8001
Or take the 0.9.0 source archive. The installation guide has the details for each system.
Application — 0.8.13
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.13_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.13-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 — 0.8.13
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.13-linux-x64
./oscilla-0.8.13-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?
Animated graphic scores
Draw the notation in Inkscape and attach cues to its elements to animate rotation, scale, path following and visibility over time.
Ensemble synchronisation
A local server synchronises the score across performers' devices. Fixed, open and hybrid forms are supported: scrolling, pages, and map mode's stations and routes.
Control of electronics
Paths, shapes and points act as trajectories, timelines or control curves, sent over OSC to SuperCollider, Pd, Max or other software.
Composed improvisation
Cues can branch, repeat, pause and trigger other cues.
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 — the mailing list and licence are on the front page.
Developed with assistance from Anthropic Claude Opus 4.6