Module Mu.Pnote

Performable notes.

A concrete representation for notes, used to derive performances.

type volume = int

The type for volume. Using the MIDI convention, from [0;127].

type attr = [
| `Volume of volume
| `Fingering of int(*

Not implemented

*)
| `Dynamics of int(*

Not implemented

*)
| `Params of float list(*

Not implemented

*)
]

The type for note attributes.

type t = Pitch.t * attr list

The type for notes.

Operations

val transp : Pitch.rel -> t -> t

transp r note transposes the pitch of note by r relative semitones.

Converting

val of_pitch : Pitch.t -> t

of_pitch p is (p, []).

val of_pitch_volume : (Pitch.t * volume) -> t

of_pitch_volume (p,v) is (p, [`Volume v]).

val of_abs_pitch : Pitch.abs -> t

of_abs_pitch ap is (Pitch.of_abs ap, [])

val of_abs_pitch_volume : (Pitch.abs * volume) -> t

of_abs_pitch ap is (Pitch.of_abs ap, [`Volume v])