Names specific to western music tradition
- data Dynamics
- ppp' :: LevelFunctor a => a -> a
- pp' :: LevelFunctor a => a -> a
- p' :: LevelFunctor a => a -> a
- mp' :: LevelFunctor a => a -> a
- mf' :: LevelFunctor a => a -> a
- f' :: LevelFunctor a => a -> a
- ff' :: LevelFunctor a => a -> a
- fff' :: LevelFunctor a => a -> a
- dim :: LevelFunctor a => Accent -> Score a -> Score a
- cresc :: LevelFunctor a => Accent -> Score a -> Score a
- rondo :: Score a -> Score a -> Score a -> Score a
- reprise :: Score a -> Score a -> Score a -> Score a
- type Tempo = Double
- lento :: Double -> Tempo
- largo :: Double -> Tempo
- larghetto :: Double -> Tempo
- grave :: Double -> Tempo
- adagio :: Double -> Tempo
- adagietto :: Double -> Tempo
- andante :: Double -> Tempo
- andantino :: Double -> Tempo
- moderato :: Double -> Tempo
- allegretto :: Double -> Tempo
- allegro :: Double -> Tempo
- vivace :: Double -> Tempo
- presto :: Double -> Tempo
- prestissimo :: Double -> Tempo
- type NoteW p a = Note Dynamics p a
- type DrumW a = Drum Dynamics a
- data Note nVol nPch a = Note {}
- data Drum n a
- absNote :: (Seg nVol, Seg nPch) => Note nVol nPch a -> (Amplitude, Frequency)
- absDrum :: Seg nVol => Drum nVol a -> Amplitude
- 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
- bn :: Pch p => Tone p -> Score (NoteW p a)
- wn :: Pch p => Tone p -> Score (NoteW p a)
- hn :: Pch p => Tone p -> Score (NoteW p a)
- qn :: Pch p => Tone p -> Score (NoteW p a)
- en :: Pch p => Tone p -> Score (NoteW p a)
- sn :: Pch p => Tone p -> Score (NoteW p a)
- tn :: Pch p => Tone p -> Score (NoteW p a)
- dbn :: Pch p => Tone p -> Score (NoteW p a)
- dwn :: Pch p => Tone p -> Score (NoteW p a)
- dhn :: Pch p => Tone p -> Score (NoteW p a)
- dqn :: Pch p => Tone p -> Score (NoteW p a)
- den :: Pch p => Tone p -> Score (NoteW p a)
- dsn :: Pch p => Tone p -> Score (NoteW p a)
- dtn :: Pch p => Tone p -> Score (NoteW p a)
- bd :: Accent -> Score (DrumW a)
- wd :: Accent -> Score (DrumW a)
- hd :: Accent -> Score (DrumW a)
- qd :: Accent -> Score (DrumW a)
- ed :: Accent -> Score (DrumW a)
- sd :: Accent -> Score (DrumW a)
- td :: Accent -> Score (DrumW a)
- dbd :: Accent -> Score (DrumW a)
- dwd :: Accent -> Score (DrumW a)
- dhd :: Accent -> Score (DrumW a)
- dqd :: Accent -> Score (DrumW a)
- ded :: Accent -> Score (DrumW a)
- dsd :: Accent -> Score (DrumW a)
- dtd :: Accent -> Score (DrumW a)
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).
Dynamics levels. Default defined volume
defined in Vol
class is (1e-5, 1).
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
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.
allegretto :: Double -> TempoSource
moderately fast (115-125 bpm)
prestissimo :: Double -> TempoSource
extremely fast (200 - 230 bpm)
Note
data Note nVol nPch a
Value of type Note
contains pitch, volume and some specific
timbre information.
(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