\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