haskore-0.0.5: src/Haskore/Basic/Dynamics.lhs
\subsubsection{Dynamics}
\seclabel{dynamics}
\begin{haskelllisting}
> module Haskore.Basic.Dynamics where
\end{haskelllisting}
These definitions contradict to the rest of Haskore
where the normal Velocity is 1
and the default player makes crescendo relative to the starting velocity.
According the MIDI specification the velocity shall be a logarithmic scale,
thus it should be additive,
thus the normal velocity is 0.
\begin{haskelllisting}
> type Velocity = Rational
> type T = Rational
> normal, mp, p, pp, ppp, mf, f, ff, fff,
> -- levels of softness
> mezzoPiano, piano, pianissimo, pianoPianissimo,
> -- levels of loudness
> mezzoForte, forte, fortissimo, forteFortissimo :: Velocity
> normal = 0
> mezzoPiano = -1
> piano = -3
> pianissimo = -5
> pianoPianissimo = -7
> mezzoForte = 1
> forte = 3
> fortissimo = 5
> forteFortissimo = 7
> mp = mezzoPiano
> p = piano
> pp = pianissimo
> ppp = pianoPianissimo
> mf = mezzoForte
> f = forte
> ff = fortissimo
> fff = forteFortissimo
\end{haskelllisting}
Cf. MIDI 1.0 Detailed Specification, Document Version 4.2, February 1996,
page 10