I made String Roll

A new music notation system for digital composition with string instruments

Try it out

Why

When music producers write string music, they use the piano roll editor that comes standard with all digital audio workstations (DAWs). While this is good for most music, it leaves something to be desired for strings, so composers often turn to techniques like key-switching that rely on the digital instrument to convey meaning rather than the notation.

Addressing these issues is the final project for my degree, so once the course is complete (summer 2024), I will release source files and a long-form report discussing the development process.

What

String Roll represents pitch over time as a line, with the ability to snap to user-specified scales. This allows the notation to represent the continuous nature of string pitches. Notes can either be connected (slurred) or not, similar to bow changes. Additional techniques such as vibrato, bow speed and pressure can also be represented via somewhat skeuomorphic annotations.

How

To allow me the greatest control but the easiest platform to experiment with, I used the web Canvas API. This means I didn't have to deal with the assumptions of any higher-level libraries.

Each note is modelled by a pitch (Hz), length (beats), delay from previous note (beats), whether it is connected to the previous note and various expressive variables. This means that the visual notation can be easily converted to MIDI or equivalent machine-oriented formats (probably).