mezzo-0.3.1.0: Typesafe music composition

Copyright(c) Dima Szamozvancev
LicenseMIT
Maintainerds709@cam.ac.uk
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Mezzo.Render.Transform

Description

Functions and combinators for transforming Scores. Allows for more flexibility, but no static correctness guarantees.

Synopsis

Documentation

transpose :: Int -> Score -> Score Source #

Transpose a score by the given number of semitones.

delay :: Ticks -> Score -> Score Source #

Delay a score by the given number of ticks (60ths of a thirty-second note).

(><) :: MidiTrack -> MidiTrack -> MidiTrack Source #

Merge two parallel MIDI tracks.

(+++) :: Score -> Score -> Score Source #

Concatenation of scores.

flatten :: [Score] -> Score Source #

Flatten a list of scores into a single score.

reprise :: Int -> Score -> Score Source #

Repeat a score the given number of times.

cascade :: Int -> (Score -> Score) -> Score -> Score Source #

Repeat the score, successively applying the function to each repetition. cascade 4 f s = s +++ f s +++ f (f s) +++ f (f (f s))

scale :: Int -> Int -> Score -> Score Source #

Create a scale of the given length and interval between scores.

volta :: Score -> [Score] -> Score Source #

Repeat the score with the different endings at each repetition.