Velato

Velato is an esoteric programming language by User:Rottytooth, which uses MIDI files as source code. Programs in Velato are defined by the pitch and order of notes. Velato is intended to allow for flexibility in composition, so functional programs will not necessarily sound like random notes. There is a tendency for Velato programs to have jazz-like harmonies.

Language overview
The first note sounded in a Velato program is the "command root" note. All intervals are read from this note until a new command root is established. The command root can be changed between statements, to allow for more musical (or at least less repetitive) progressions. Notes played as chords are interpreted in the order the notes appear within the MIDI track, regardless of a zero duration between them.

Commands
Command Intervals differentiate between major and minor intervals. Fourths and fifths are always perfect. Depending on the compiler used, other intervals return syntax errors or are ignored.

Commands can be followed by any number of expressions. Notes used for expressions don't differentiate between major/minor or perfect/diminished. To avoid ambiguity, no augmented intervals can be used. So a tritone is always interpreted as a diminished 5th, not an augmented 4th.

Types:

int = 2nd char = 3rd double = 4th

Hello, world!
This is a sheet music representation of one possible "Hello, World" program:



Keep in mind that the order the concurrent notes in this representation appear in the actual MIDI file will affect the program.

Compilers and Interpreters

 * .NET Velato compiler version 0.1 (2009)
 * Javascript transpiler for Velato by Erik Erwitt

External resources

 * Velato site
 * "Hello, World" source code in MIDI format
 * "Hello, World" MIDI source code as MP3
 * Hello World Tutorial
 * : recording of a Velato program that copies input to output