Skip to content
M3M3m3m313531

RelanoteFunctional Music Notation

A pure functional, statically-typed language for describing music through relative intervals

RelanoteRelanote

Quick Example

rela
; Define a major scale using relative intervals
scale Major = { R, M2, M3, P4, P5, M6, M7 }

; Pitch is relative: <1> <3> <5> works in any key
; Rhythm is relative: 4 notes share time equally
let fast = | <1> <3> <5> <3> |

; 2 notes = each takes half the block duration
let slow = | <1> <5> |

; Compose and transform
let melody = fast ++ slow
melody |> transpose P5 |> repeat 2

Released under the MIT License.