The software developed by ossia partly relies on specifications produced during the i-score research project, which has been led by LaBRI (with several academic, industrial and artistic partners) since the late 1990s, in order to devise new models and applications for designing and executing interactive scores, first for musical composition with Boxes, and IScore.

Intermedia and multimedia support has then been added starting from 2008 with the Virage research project, and then with the i-score sequencer.

Following the ANR OSSIA research project, which took place between 2012 and 2015, a new version of the sequencer has been implemented by Jean-Michaël Celerier, as part of his doctoral thesis. This endeavour has been joined by several artists and developers, which established itself as the ossia collective. The sequencer has been named ossia score, and its underlying library libossia. They are both available on GitHub, and documented on this very website.

Contribute

The source code for score is hosted on GitHub. It is based on libossia.

Oscar, the cute ossia mascot

  • Contributing to the user library
  • Extending the scripting API
  • Implementing new protocols
  • Implementing new processes and effects

The score project is open to contributions. We need help on :

  • Contribution of example scores
  • Creation of namespaces for your favorite application
  • Creating tutorials content
  • Creating skins
  • Fixing TODO’s in the code
  • (soon) Translations
  • Linux distribution packaging

Most of the discussion regarding score features occurs on the issue tracker. If you wish to help, you can join the forum, the Discord channel or the chat on Gitter. We can help you into making your first contributions to the project.

Here is a video explaining how to contribute to the code of ossia score:

Roadmap


Current stable version is 3.3.2

Future plans

  • Networked edition and execution (done in 3.0.11!).
  • Support for recording audio, midi directly in the score. Improvements for OSC recording.
  • Parametric processes. How to have parameters and variables used within the scope of a given box and changed easily across different instances of that box.
  • Mixer panel : making mixing from within score more straightforward.
  • WebAssembly support : experiments have been made a few years ago – most of the score engine and user interface builds for WebAssembly, but not every process works yet.
  • Support for geometry transformations and compute shaders (done in 3.2.0!).
  • Better support for sequences.
  • Support for MIDI 2.0.
  • Spout, Syphon support (done in 3.0.4!).

ossia score v3 (released jan. 2022)

ossia score 3 fulfills the long-term goal of being a proper multi-media platform, by providing integrated video abilities, in sync with the rest of the score, as well as musical abilities with support for tempo, musical metrics and quantization. Finally, the core engine has been extended to allow cycles in scenarios with a new kind of connection. This allows to implement state-machine-like behaviours in scenarios.

  • Support for reading videos, right now H.264 and HAP. Implementation uses Vulkan, Metal, D3D or OpenGL depending on the platform for maximal performance. Multiple viewports are supported. Spout output is supported.
  • Support for applying shader-based filters on these videos. Interactive Shader Format is supported.
  • Support for JSFX plug-ins, VST3.
  • Support for tempo, musical bars, etc. It is now possible to sync the triggering of a timenode to the beginning of the following bar for instance. Polyrythmy is supported : each interval can have its own tempo and metrics timeline.
  • Support for cycles and loops in the main scenario.
  • Preset mechanism for built-in processes.
  • Built-in looping for individual processes, to easily loop audio files.
  • Intervals can now be viewed in nodal mode to easily interconnect their processes.
  • Many small and useful new processes – signal visualization, pattern sequencer…
  • JIT compilation support. This will be an experimental feature for the 3.0 release cycle, allowing you to write and run C++ extensions directly from within the software.

ossia score v2.5

This version is a big update to 2.0, adding two new processes :

  • Control surface : allows to have UIs to control remote parameters in the score
  • Nodal : allows to layout processes in a graph interface, like many other famous visual programming languages. Temporal processes can be nested in nodal processes.
  • RemoteControl : control your score through a simple WebSockets API.
  • Tons of UI work

ossia score v2.0

The 2.0 version is a paradigm shift : it introduces data and audio processing in score. The name was changed to reflect the OSSIA project legacy. It is now possible to play sounds, apply sound effects, among many other changes. The main highlights are :

  • Execution is now based on synchronous audio processing APIs
  • Playback of sounds
  • Support for LV2, VST effects and instruments
  • Support for Faust effects. The Faust compiler is integrated directly to score.
  • Support for many new protocols : OSCQuery, ArtNet…
  • Many new processes: LFO, step sequencer, math expressions, etc
  • Pattern matching
  • Drag’n’drop in a lot of places
  • Creation of a library panel and a user library
  • A super cute new mascot, Oscar !

The first release for the 2.0 version was released in April 2018.

i-score v1.0

The 1.0 version is the concretization of the last year of effort of the OSSIA project. Thanks to a from-scratch rewrite, the software has been highly modularized, and now offers the following features :

  • Undo-redo
  • Restore on crash
  • Various plug-in APIs
  • Loops, mappings, JavaScript processes
  • Arbitrary hierarchy
  • Complete conditional branching and triggering
  • A new dark blue theme

The 1.0 version was released in 2016.

i-score v0.3

Thanks again to the OSSIA project, a research effort will be carried on from early-2014 to 2015 in order to implement logic scenarios in i-score. This will include:

  • Support for looping boxes and (sub-)scenarios
  • Better graphic support for the conditional branching
  • Multi-user support
  • Framework for the future support of “plug-in” boxes:
    • Mapping boxes (for several one-to-one mappings between remote parameters)
    • Generic boxes and SDK for third-party boxes (e.g. audio boxes using JamomaAudioGraph, video/openGL boxes using QuartzComposer, etc…)

i-score v0.2

Thanks to the OSSIA research project, some services of i-score have been improved by implementing the Jamoma Modular framework into libIscore, and a dedicated framework for Interactive scores management

This allows some new features and improvements :

  • Better devices/namespace support, including:
    • better devices configuration and automatic discovery
    • devices’ parameters’ attributes support (including range, type, etc….)
    • better curve management
    • recording of performance actions as curves
    • declaration and management of i-score’s boxes parameters (such as speed, trigger points….)
  • Initial support of the conditional branching

v0.1

Initial version, including (as of 0.1-alpha1 – December 2012):

  • Linear edition (no loops, no branching)
  • One static Minuit device only (MinuitDevice1)
  • Simple curves (no range editing)
  • Nested scenarios (hierarchy) support
  • Simple playing (unfinished GOTO function)

Several incremental alpha versions, have been released along the way, including:

  • Plain OSC support
  • Minuit devices configuration
  • Several interface improvements

Scientific Research

Talks

Talks about the project are regularly given in conferences and meetups. Here is a list:

Peer-reviewed publications, Ph. D. dissertations

2023

  • A Notation System for Distributed Media Art, Jean-Michaël Celerier, Akané Levy, @TENOR2023
  • Proof of Concept of a Generic Toolkit for Sonification: the Sonification Cell in ossia score, Maxime Poret, Jean-Michaël Celerier, Myriam Desainte-Catherine, Catherine Semal, @ICAD2023

2022

2021

2020

2019

2018


2017


2016


2015


2014


2012

  • An Extension of Interactive Scores for Multimedia Scenarios with Temporal Relations for Micro and Macro Controls, by M. Toro-Bermudez et al. @SMC2012

2011


2010


2009


2008


2007


2006


2004