haskore-0.2.0.3: The Haskore Computer Music System

Safe Haskell | None

Haskore.Music.Rhythmic

Synopsis

- type T drum instr = T (Note drum instr)
- data Note drum instr = Note {
  - velocity :: Rational
  - body :: NoteBody drum instr
  }
- data NoteBody drum instr
  - = Tone {
    - instrument :: instr
    - pitch :: T
    }
  - | Drum {
    - drum :: drum
    }
- maybeInstrument :: NoteBody drum instr -> Maybe instr
- noteFromAttrs :: NoteAttributes -> NoteBody drum instr -> Note drum instr
- noteFromStdMelodyNote :: instr -> Note -> Note drum instr
- noteFromMelodyNote :: (attr -> (Rational, instr)) -> Note attr -> Note drum instr
- fromStdMelody :: instr -> T -> T drum instr
- fromMelodyNullAttr :: instr -> T () -> T drum instr
- fromMelody :: (attr -> (Rational, instr)) -> T attr -> T drum instr
- bn :: T
- wn :: T
- hn :: T
- qn :: T
- en :: T
- sn :: T
- tn :: T
- sfn :: T
- dwn :: T
- dhn :: T
- dqn :: T
- den :: T
- dsn :: T
- dtn :: T
- ddhn :: T
- ddqn :: T
- dden :: T
- bnr :: T note
- wnr :: T note
- hnr :: T note
- qnr :: T note
- enr :: T note
- snr :: T note
- tnr :: T note
- sfnr :: T note
- dwnr :: T note
- dhnr :: T note
- dqnr :: T note
- denr :: T note
- dsnr :: T note
- dtnr :: T note
- ddhnr :: T note
- ddqnr :: T note
- ddenr :: T note
- line :: [T note] -> T note
- chord :: [T note] -> T note
- changeTempo :: DurRatio -> T note -> T note
- transpose :: Relative -> T note -> T note
- phrase :: PhraseAttribute -> T note -> T note
- (+:+) :: T note -> T note -> T note
- (=:=) :: T note -> T note -> T note
- type Dur = T
- data PhraseAttribute
  - = Dyn Dynamic
  - | Tmp Tempo
  - | Art Articulation
  - | Orn Ornament
- data Dynamic
  - = Loudness Rational
  - | Accent Rational
  - | Crescendo Rational
  - | Diminuendo Rational
- data Tempo
  - = Ritardando Rational
  - | Accelerando Rational
- data Articulation
  - = Staccato Dur
  - | Legato Dur
  - | Slurred Dur
  - | Tenuto
  - | Marcato
  - | Pedal
  - | Fermata
  - | FermataDown
  - | Breath
  - | DownBow
  - | UpBow
  - | Harmonic
  - | Pizzicato
  - | LeftPizz
  - | BartokPizz
  - | Swell
  - | Wedge
  - | Thumb
  - | Stopped
- data Ornament
  - = Trill
  - | Mordent
  - | InvMordent
  - | DoubleMordent
  - | Turn
  - | TrilledTurn
  - | ShortTrill
  - | Arpeggio
  - | ArpeggioUp
  - | ArpeggioDown
  - | Instruction String
  - | Head NoteHead
- data NoteHead
  - = DiamondHead
  - | SquareHead
  - | XHead
  - | TriangleHead
  - | TremoloHead
  - | SlashHead
  - | ArtHarmonic
  - | NoHead
- accent :: Rational -> T note -> T note
- crescendo :: Rational -> T note -> T note
- diminuendo :: Rational -> T note -> T note
- loudness1 :: Rational -> T note -> T note
- ritardando :: Rational -> T note -> T note
- accelerando :: Rational -> T note -> T note
- staccato :: Dur -> T note -> T note
- legato :: Dur -> T note -> T note
- defltLegato :: T note -> T note
- defltStaccato :: T note -> T note
- defltAccent :: T note -> T note
- bigAccent :: T note -> T note

# Documentation

type T drum instr = T (Note drum instr)Source

data Note drum instr Source

Constructors

Note |

Fields

velocity :: Rational
body :: NoteBody drum instr

Instances

(Eq drum, Eq instr) => Eq (Note drum instr) |
(Ord instr, Ord drum) => Ord (Note drum instr) |
(Show drum, Show instr) => Show (Note drum instr) |

data NoteBody drum instr Source

Constructors

Tone |

Fields

instrument :: instr
pitch :: T

Drum |

Fields

drum :: drum

Instances

(Eq drum, Eq instr) => Eq (NoteBody drum instr) |
(Ord drum, Ord instr) => Ord (NoteBody drum instr) |
(Show drum, Show instr) => Show (NoteBody drum instr) |

maybeInstrument :: NoteBody drum instr -> Maybe instrSource

noteFromAttrs :: NoteAttributes -> NoteBody drum instr -> Note drum instrSource

noteFromStdMelodyNote :: instr -> Note -> Note drum instrSource

noteFromMelodyNote :: (attr -> (Rational, instr)) -> Note attr -> Note drum instrSource

fromStdMelody :: instr -> T -> T drum instrSource

fromMelodyNullAttr :: instr -> T () -> T drum instrSource

ignores the note attributes

fromMelody :: (attr -> (Rational, instr)) -> T attr -> T drum instrSource

bn :: T Source

wn :: T Source

hn :: T Source

qn :: T Source

en :: T Source

sn :: T Source

tn :: T Source

sfn :: T Source

dwn :: T Source

dhn :: T Source

dqn :: T Source

den :: T Source

dsn :: T Source

dtn :: T Source

ddhn :: T Source

ddqn :: T Source

dden :: T Source

bnr :: T noteSource

wnr :: T noteSource

hnr :: T noteSource

qnr :: T noteSource

enr :: T noteSource

snr :: T noteSource

tnr :: T noteSource

sfnr :: T noteSource

dwnr :: T noteSource

dhnr :: T noteSource

dqnr :: T noteSource

denr :: T noteSource

dsnr :: T noteSource

dtnr :: T noteSource

ddhnr :: T noteSource

ddqnr :: T noteSource

ddenr :: T noteSource

line :: [T note] -> T noteSource

chord :: [T note] -> T noteSource

changeTempo :: DurRatio -> T note -> T noteSource

transpose :: Relative -> T note -> T noteSource

phrase :: PhraseAttribute -> T note -> T noteSource

(+:+) :: T note -> T note -> T noteSource

(=:=) :: T note -> T note -> T noteSource

type Dur = T Source

data PhraseAttribute Source

Constructors

Dyn Dynamic |
Tmp Tempo |
Art Articulation |
Orn Ornament |

Instances

Eq PhraseAttribute |
Ord PhraseAttribute |
Show PhraseAttribute |

data Dynamic Source

Constructors

Loudness Rational |
Accent Rational |
Crescendo Rational |
Diminuendo Rational |

Instances

Eq Dynamic |
Ord Dynamic |
Show Dynamic |

data Tempo Source

Constructors

Ritardando Rational |
Accelerando Rational |

Instances

Eq Tempo |
Ord Tempo |
Show Tempo |

data Articulation Source

Constructors

Staccato Dur |
Legato Dur |
Slurred Dur |
Tenuto |
Marcato |
Pedal |
Fermata |
FermataDown |
Breath |
DownBow |
UpBow |
Harmonic |
Pizzicato |
LeftPizz |
BartokPizz |
Swell |
Wedge |
Thumb |
Stopped |

Instances

Eq Articulation |
Ord Articulation |
Show Articulation |

data Ornament Source

Constructors

Trill |
Mordent |
InvMordent |
DoubleMordent |
Turn |
TrilledTurn |
ShortTrill |
Arpeggio |
ArpeggioUp |
ArpeggioDown |
Instruction String |
Head NoteHead |

Instances

Eq Ornament |
Ord Ornament |
Show Ornament |

data NoteHead Source

Constructors

DiamondHead |
SquareHead |
XHead |
TriangleHead |
TremoloHead |
SlashHead |
ArtHarmonic |
NoHead |

Instances

Eq NoteHead |
Ord NoteHead |
Show NoteHead |

accent :: Rational -> T note -> T noteSource

crescendo :: Rational -> T note -> T noteSource

diminuendo :: Rational -> T note -> T noteSource

loudness1 :: Rational -> T note -> T noteSource

ritardando :: Rational -> T note -> T noteSource

accelerando :: Rational -> T note -> T noteSource

staccato :: Dur -> T note -> T noteSource

legato :: Dur -> T note -> T noteSource

defltLegato :: T note -> T noteSource

defltStaccato :: T note -> T noteSource

defltAccent :: T note -> T noteSource

bigAccent :: T note -> T noteSource