SKINI [Cook, 2004] is a score language integrated with the already commented STK environment and developed by the same author, Perry Cook (see section 2.3.2).
SKINI is a textual language that is presented both as compatible and as an extension of MIDI. Its main advantages in respect to MIDI are first that text-based messages are easy to read and understand, and second that it uses floating point numbers to enhance resolution.
A SKINI message is therefore a line of text where there are three compulsory fields: the kind of message (ASCII string), the time (in absolute or relative notation) and the channel number (integer that is used to identify the MIDI channel, the synthesizer identifier or even its serial number).
Different fields in a SKINI messages are delimited by spaces, commas or tabs. SKINI operates one line at the time. Any message can be of one of the following kinds: a regular MIDI message such as NoteOn or NoteOff; an extended MIDI message (messages that look different from regular MIDI messages but at the end have to be converted to one) such as LipTension or StringDamping; and No-MIDI messages such as SetPath, OpenReadFile (to, for instance, insert effect files), or Trilling and HammerOn (messages that are directly translated into musical gestures and can be controlled by a MIDI pedal).
SKINI is implemented in C and there is an interface that allows for its extension.
2004-10-18