\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