Oscilla is an open-source platform for creating and performing animated, cue-driven graphic scores in the browser. Scores are authored as SVG documents and executed as synchronized, networked performance environments.
Oscilla integrates timing, animation, media control, and OSC output into a single browser-native score engine.
Documentation
Start here:
https://robcanning.github.io/oscilla/docs/
The documentation includes:
- Complete cue reference
- Animation and transformation syntax
- Authoring workflow (Inkscape → browser)
- System architecture
- Cheatsheets and examples
Core Cue System
Oscilla uses a cue-driven execution model. Cues are embedded directly in SVG IDs and are evaluated in real time during score playback.
Available Cue Types
Timing & Navigation
pause()— pause playbackstop()— halt playbacknav()— navigation and mode controlpage()— page-based score navigationstopwatch()— time display and controlmetronome()— tempo reference
Media & Sound
audio()— audio file playbacksynth()— browser-based synthesisvideo()— video playback
OSC & External Control
osc()— OSC message outputoscCtrl()— OSC routing and control
Interaction & Structure
button()— interactive UI elementspropagate()— propagate cue statereuse()— reuse cue definitionstext()— timed and sequenced textfade()— fade visual or UI elements
Full syntax and parameters for each cue are documented here:
Cue Documentation
Animation System
Oscilla supports continuous and discrete animation directly tied to score timing.
Animation Namespaces
scale()— uniform or non-uniform scalingrotate()— continuous or stepped rotationo2p()— object-to-path traversal
Animations can be:
- time-based or duration-based
- looped, alternating, or one-shot
- nested and combined
- synchronized across clients
Animation syntax is documented here:
Animation Cheatsheet
What Kind of System Is Oscilla?
Oscilla is a modular score execution platform combining:
- cue-based timing and control
- animated graphic notation
- networked synchronization (WebSockets / OSC)
- browser-native media playback
It is designed for composers and performers working with animated, spatial, and networked scores.
The system is described in:
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.