temporal-music-notation-western-0.1.3: western music notation

Temporal.Music.Western

Contents

Description

Names specific to western music tradition

Synopsis

Volume

Levels

Dynamics values form 8-level equally spaced grid. They are from quietest to loudest: piano pianissimo (ppp), pianissimo (pp), piano (p), mezzo piano (mp), mezzo forte (mf), forte (f), fortissimo (ff), forte fortissimo (fff).

data Dynamics Source

Dynamics levels. Default defined volume defined in Vol class is (1e-5, 1).

Constructors

PPP 
PP 
P 
MP 
MF 
F 
FF 
FFF 

short-cuts

ppp' :: LevelFunctor a => a -> aSource

pp' :: LevelFunctor a => a -> aSource

p' :: LevelFunctor a => a -> aSource

mp' :: LevelFunctor a => a -> aSource

mf' :: LevelFunctor a => a -> aSource

f' :: LevelFunctor a => a -> aSource

ff' :: LevelFunctor a => a -> aSource

fff' :: LevelFunctor a => a -> aSource

Envelops

dim :: LevelFunctor a => Accent -> Score a -> Score aSource

diminuendo

cresc :: LevelFunctor a => Accent -> Score a -> Score aSource

crescendo

Volume level constants

Score

Forms

rondo :: Score a -> Score a -> Score a -> Score aSource

rondo form

rondo a b c = line [a, b, a, c, a]

reprise :: Score a -> Score a -> Score a -> Score aSource

reprise form

reprise a b1 b2 = line [a, b1, a, b2]

Tempo

Tempo terms specify not a rigid value but tempo range. So all terms are functions from relative power of term (it's value of type Double from 0 to 1) to some tempo value. Zero means lowest value from tempo range and one means highest value.

lento :: Double -> TempoSource

very slow (40-60 bpm), like largo

largo :: Double -> TempoSource

very slow (40-60 bpm)

larghetto :: Double -> TempoSource

rather broadly (60-66 bpm)

grave :: Double -> TempoSource

slow and sloemn (60 - 66 bpm)

adagio :: Double -> TempoSource

slow and stately (literally at ease) (66-76 bpm)

adagietto :: Double -> TempoSource

rather slow (70-80 bpm)

andante :: Double -> TempoSource

at awalking pace (76-80 bpm)

andantino :: Double -> TempoSource

slightly faster then andante (80-100 bpm)

moderato :: Double -> TempoSource

moderately (101-110 bpm)

allegretto :: Double -> TempoSource

moderately fast (115-125 bpm)

allegro :: Double -> TempoSource

fast, at 'march tempo' (120-139 bpm)

vivace :: Double -> TempoSource

lively and fast (135-160 bpm)

presto :: Double -> TempoSource

very fast (168-200 bpm)

prestissimo :: Double -> TempoSource

extremely fast (200 - 230 bpm)

Note

type NoteW p a = Note Dynamics p aSource

Western Note (eight volume levels and twelve tones)

type DrumW a = Drum Dynamics aSource

Western Drum note (eight volume levels)

data Note nVol nPch a

Value of type Note contains pitch, volume and some specific timbre information.

Constructors

Note 

Fields

noteVolume :: Volume nVol
 
notePitch :: Pitch nPch
 
noteParam :: Maybe a
 

Instances

(Eq nVol, Eq nPch, Eq a, Seg nVol, Seg nPch) => Eq (Note nVol nPch a) 
(Show nVol, Show nPch, Show a, Seg nVol, Seg nPch) => Show (Note nVol nPch a) 
(Seg nVol, Seg nPch) => VolumeFunctor (Note nVol nPch a) 
(Seg nVol, Seg nPch) => LevelFunctor (Note nVol nPch a) 
(Seg nVol, Seg nPch) => PitchFunctor (Note nVol nPch a) 
(Seg nVol, Seg nPch) => ToneFunctor (Note nVol nPch a) 

data Drum n a

Value of type Drum is just Volume.

Instances

(Eq n, Eq a, Seg n) => Eq (Drum n a) 
(Show n, Show a, Seg n) => Show (Drum n a) 
Seg nVol => VolumeFunctor (Drum nVol a) 
Seg nVol => LevelFunctor (Drum nVol a) 

absNote :: (Seg nVol, Seg nPch) => Note nVol nPch a -> (Amplitude, Frequency)

calculates absVolume and absPitch on notes

absDrum :: Seg nVol => Drum nVol a -> Amplitude

synonym for absVolume

Rests

bnr :: Score a

wnr :: Score a

qnr :: Score a

hnr :: Score a

enr :: Score a

snr :: Score a

tnr :: Score a

dbnr :: Score a

dwnr :: Score a

dqnr :: Score a

dhnr :: Score a

denr :: Score a

dsnr :: Score a

dtnr :: Score a

Notes

bn :: Pch p => Tone p -> Score (NoteW p a)Source

wn :: Pch p => Tone p -> Score (NoteW p a)Source

hn :: Pch p => Tone p -> Score (NoteW p a)Source

qn :: Pch p => Tone p -> Score (NoteW p a)Source

en :: Pch p => Tone p -> Score (NoteW p a)Source

sn :: Pch p => Tone p -> Score (NoteW p a)Source

tn :: Pch p => Tone p -> Score (NoteW p a)Source

dbn :: Pch p => Tone p -> Score (NoteW p a)Source

dwn :: Pch p => Tone p -> Score (NoteW p a)Source

dhn :: Pch p => Tone p -> Score (NoteW p a)Source

dqn :: Pch p => Tone p -> Score (NoteW p a)Source

den :: Pch p => Tone p -> Score (NoteW p a)Source

dsn :: Pch p => Tone p -> Score (NoteW p a)Source

dtn :: Pch p => Tone p -> Score (NoteW p a)Source

Drums