\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