Oscilla Documentation
This documentation describes the cue system, animation model, authoring workflow, and internal architecture of Oscilla. All behaviour is authored directly in SVG and executed at runtime in the browser.
New to Oscilla?
If you’re looking for a high-level overview of what Oscilla is for, how it fits into contemporary score practice, and what you can actually accomplish with it, start here:
Getting Started
- What is Oscilla? — conceptual overview and use cases
- Installation — setup and dependencies
- Quickstart — your first Oscilla score
- Workflow — SVG authoring and browser execution
- Cheatsheet — compact syntax reference
- Screenshots — visual examples
Cue Reference
Cues are the primary execution units in Oscilla. They control timing, navigation, media playback, interaction, and external communication.
Timing & Navigation
| Cue | Description |
|---|---|
stop() |
Halt playback |
pause() |
Pause playback |
speed() |
Playback speed control |
stopwatch() |
Time display and control |
metronome() |
Metronome and beat sync |
page() |
Page-based navigation |
nav() |
Navigation and mode control |
Interaction & Structure
| Cue | Description |
|---|---|
button() |
Interactive UI buttons |
propagate() |
Propagate cue state |
reuse() |
Reuse cue definitions |
Media & Synthesis
| Cue | Description |
|---|---|
text() |
Timed and sequenced text |
audio() |
Audio file playback |
video() |
Video playback |
synth() |
In-browser synthesis |
OSC & External Control
| Cue | Description |
|---|---|
osc() |
OSC message output |
oscCtrl() |
OSC routing and control |
Animation
Oscilla supports continuous and discrete animation tied directly to score timing.
| Function | Description |
|---|---|
scale() |
Uniform and non-uniform scaling |
rotate() |
Continuous and stepped rotation |
o2p() |
Object-to-path traversal |
traverse() |
Object traversal across points or paths |
color() |
Color animation |
fade() |
Fade visual or UI elements |
ui() |
UI element animation |
Tools
- Inkscape Extension — author Oscilla cues directly in Inkscape
Developer
- Sync Architecture — internal timing and sync model
Further Reading
The design and rationale of Oscilla are 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.
Tip: use ← → or ↑ ↓ to navigate the docs