User Guide

OSCNotation will accept messages on these addresses:

  • /textNote
  • /stave
  • /accidentals
  • /beat
  • /rhythm
  • /notes
  • /index

You can send a text note to performers by sending a string value to "/textNote".

You can send one of two string values to "/stave": bass, treble, alto or tenor (treble is the default clef).

You can send one of two string values to "/accidentals": flats or sharps (flats are the default accidentals)

You can set the beat duration by sending a float value of the desired length (see supported values below). For example, to set the beat to quarter notes, send value 0.25 to "/beat" (quarter note is the default beat duration).

To display notation, you have to send rhythm values and note values to "/rhythm" and "/notes". If the lenghts of these lists are unequal, the number of notes displayed in OSCNotation will equal the lesser length of the two lists.

"/rhythm" expects to receive float values that corresponds to a note duration. For instance, a whole note would be 1.0 and quarter note would be 0.25.

Supported rhythmic values are listed below:

  • Dotted whole note: 1.5
    Whole note: 1.0
    Dotted Half note: 0.75
    Half note: 0.5
    Dotted Quarter note: 0.375
    Quarter note: 0.25
    Dotted Eight note: 0.1875
    Eight note: 0.125
    Dotted Sixteenth note: 0.09375
    Sixteenth note: 0.0625
    Dotted Thirty-second note: 0.046875
    Thirty-second note: 0.03125

As of version 2.0, triplets are now supported:

  • Half note triplet: 0.333
    Quarter note triplet: 0.166
    Eight note triplet: 0.083

Any other rhythmic value will be ignored.

"/notes" expects to receive integer values that correspond to midi notes (C4 = 60). Values from 24 to 96 inclusively will be represented as notes. Any other integer will be interpreted as a rest.

"/index" is used on iPad. You can send an integer value from 0 to 5 to select to which of the six staves that can be displayed you are sending messages (stave 0 is the default stave).

Examples

Sending:

/rhythm 0.125 0.125 0.083 0.083 0.083 0.25
/notes 55 54 50 55 60 61
/stave "bass"

will show the following notation:

Then, sending:

/rhythm 0.125 0.125 0.125 0.125 0.125 0.125
/accidentals "sharps"

will show the following notation:

Sending:

/beat 0.375

will show the following notation:

Sending:

/rhythm 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625

will show the following notation:

Sending:

/textNote "Play it like you mean it"

will show the following notation:



Specific software support

Common Music: code and video demonstration

SuperCollider: OSCNotation and SuperCollider (with thanks to Carl Testa)

ChucK: ChucK code for Riley's "In C" using OSCNotation (with thanks to Joel Matthys)

Others coming soon