Safe Haskell | None |
---|
Names specific to western music tradition
- module Temporal.Music
- pppiano :: VolumeLike a => Score a -> Score a
- ppiano :: VolumeLike a => Score a -> Score a
- piano :: VolumeLike a => Score a -> Score a
- mpiano :: VolumeLike a => Score a -> Score a
- mforte :: VolumeLike a => Score a -> Score a
- forte :: VolumeLike a => Score a -> Score a
- fforte :: VolumeLike a => Score a -> Score a
- ffforte :: VolumeLike a => Score a -> Score a
- ppp' :: VolumeLike a => Score a -> Score a
- pp' :: VolumeLike a => Score a -> Score a
- p' :: VolumeLike a => Score a -> Score a
- mp' :: VolumeLike a => Score a -> Score a
- mf' :: VolumeLike a => Score a -> Score a
- f' :: VolumeLike a => Score a -> Score a
- ff' :: VolumeLike a => Score a -> Score a
- fff' :: VolumeLike a => Score a -> Score a
- dim :: VolumeLike a => Accent -> Score a -> Score a
- cresc :: VolumeLike 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
Basic functions
All basic functions (composition, time stretching, dynamic changing of volume and pitch etc, etc) live in this module.
module Temporal.Music
Volume
Dynamics values form 9-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). These modifiers change level relative to the current level. It means that
piano . forte = id
pppiano :: VolumeLike a => Score a -> Score aSource
ppiano :: VolumeLike a => Score a -> Score aSource
piano :: VolumeLike a => Score a -> Score aSource
mpiano :: VolumeLike a => Score a -> Score aSource
mforte :: VolumeLike a => Score a -> Score aSource
forte :: VolumeLike a => Score a -> Score aSource
fforte :: VolumeLike a => Score a -> Score aSource
ffforte :: VolumeLike a => Score a -> Score aSource
Shortcuts to set dynamics level.
ppp' :: VolumeLike a => Score a -> Score aSource
pp' :: VolumeLike a => Score a -> Score aSource
p' :: VolumeLike a => Score a -> Score aSource
mp' :: VolumeLike a => Score a -> Score aSource
mf' :: VolumeLike a => Score a -> Score aSource
f' :: VolumeLike a => Score a -> Score aSource
ff' :: VolumeLike a => Score a -> Score aSource
fff' :: VolumeLike a => Score a -> Score aSource
Envelops
Score
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
the lowest value from tempo range and one means the highest value.
To be used with bpm
function.
allegretto :: Double -> TempoSource
moderately fast (115-125 bpm)
prestissimo :: Double -> TempoSource
extremely fast (200 - 230 bpm)