diff --git a/music-pitch-literal.cabal b/music-pitch-literal.cabal
--- a/music-pitch-literal.cabal
+++ b/music-pitch-literal.cabal
@@ -1,17 +1,17 @@
 
-name:               music-pitch-literal
-version:            1.6
-cabal-version:      >= 1.10
-author:             Hans Hoglund
-maintainer:         Hans Hoglund
-license:            BSD3
-license-file:       COPYING
-synopsis:           Overloaded pitch literals.
-category:           Music
-tested-with:        GHC
-build-type:         Simple
+name:                   music-pitch-literal
+version:                1.6.1
+author:                 Hans Hoglund
+maintainer:             Hans Hoglund
+license:                BSD3
+license-file:           COPYING
+synopsis:               Overloaded pitch literals.
+category:               Music
+tested-with:            GHC
+build-type:             Simple
+cabal-version:          >= 1.10
 
-description: 
+description:
     This package allow you to write the pitches of standard notation as expressions
     overloaded on result type. This works exactly like numeric literals.
 
@@ -20,16 +20,14 @@
 source-repository head
   type:             git
   location:         git://github.com/music-suite/music-pitch-literal.git
-  
-library                    
-    build-depends: 
-        base                    >= 4 && < 5,
-        semigroups
-    hs-source-dirs: src
-    default-language: Haskell2010
-    exposed-modules:
-        Data.Semigroup.Applicative
-        Music.Pitch.Literal
-        Music.Pitch.Literal.Pitch
-        Music.Pitch.Literal.Interval
-    
+
+library
+    build-depends:      base            >= 4        && < 5,
+                        semigroups      >= 0.13.0.1 && < 1
+    exposed-modules:    Music.Pitch.Literal
+                        Music.Pitch.Literal.Pitch
+                        Music.Pitch.Literal.Interval
+                        Music.Pitch.Augmentable
+                        Music.Pitch.Alterable
+    hs-source-dirs:     src
+    default-language:   Haskell2010
diff --git a/src/Data/Semigroup/Applicative.hs b/src/Data/Semigroup/Applicative.hs
deleted file mode 100644
--- a/src/Data/Semigroup/Applicative.hs
+++ /dev/null
@@ -1,19 +0,0 @@
-
-module Data.Semigroup.Applicative where
-
-import Control.Applicative
-import Data.Semigroup
-
--- TODO move to semigroups package
-instance Functor First where
-    fmap f (First x) = First (f x)
-instance Applicative First where
-    pure x = First x
-    First f <*> First x = First (f x)
-
-instance Functor Last where
-    fmap f (Last x) = Last (f x)
-instance Applicative Last where
-    pure x = Last x
-    Last f <*> Last x = Last (f x)
-
diff --git a/src/Music/Pitch/Alterable.hs b/src/Music/Pitch/Alterable.hs
new file mode 100644
--- /dev/null
+++ b/src/Music/Pitch/Alterable.hs
@@ -0,0 +1,56 @@
+
+{-# LANGUAGE GeneralizedNewtypeDeriving, StandaloneDeriving #-}
+
+------------------------------------------------------------------------------------
+-- |
+-- Copyright   : (c) Hans Hoglund 2012
+--
+-- License     : BSD-style
+--
+-- Maintainer  : hans@hanshoglund.se
+-- Stability   : experimental
+-- Portability : non-portable (TF,GNTD)
+--
+-------------------------------------------------------------------------------------
+
+module Music.Pitch.Alterable (
+        -- * Alterable class
+        Alterable(..),
+  ) where
+
+import Data.Ratio
+
+-- |
+-- Class of things that can be altered.
+--
+-- > accidental (sharpen a) = sharpen (accidental a)
+-- > accidental (flatten a) = flatten (accidental a)
+-- > sharpen . flatten      = id
+--
+class Alterable a where
+    -- | 
+    -- Increase the given pitch by one.
+    -- 
+    sharpen :: a -> a
+
+    -- | 
+    -- Decrease the given pitch by one.
+    -- 
+    flatten :: a -> a
+
+
+instance Alterable a => Alterable (b -> a) where
+    sharpen = fmap sharpen
+    flatten = fmap flatten
+
+instance Alterable Double where
+    sharpen = (+ 1)
+    flatten = (subtract 1)
+
+instance Alterable Integer where
+    sharpen = (+ 1)
+    flatten = (subtract 1)
+
+instance Integral a => Alterable (Ratio a) where
+    sharpen = (+ 1)
+    flatten = (subtract 1)
diff --git a/src/Music/Pitch/Augmentable.hs b/src/Music/Pitch/Augmentable.hs
new file mode 100644
--- /dev/null
+++ b/src/Music/Pitch/Augmentable.hs
@@ -0,0 +1,52 @@
+
+{-# LANGUAGE GeneralizedNewtypeDeriving, StandaloneDeriving #-}
+
+------------------------------------------------------------------------------------
+-- |
+-- Copyright   : (c) Hans Hoglund 2012
+--
+-- License     : BSD-style
+--
+-- Maintainer  : hans@hanshoglund.se
+-- Stability   : experimental
+-- Portability : non-portable (TF,GNTD)
+--
+-------------------------------------------------------------------------------------
+
+module Music.Pitch.Augmentable (
+        -- * Augmentable class
+        Augmentable(..),
+  ) where
+
+import Data.Ratio
+
+-- |
+-- Class of types that can be augmented.
+--
+-- > quality (augment a)  = augment (quality a)
+-- > quality (diminish a) = diminish (quality a)
+-- > augment . diminish   = id
+--
+class Augmentable a where
+
+    -- | 
+    -- Increase the size of this interval by one.
+    --
+    augment :: a -> a
+
+    -- | 
+    -- Decrease the size of this interval by one.
+    --
+    diminish :: a -> a
+
+instance Augmentable Double where
+    augment  = (+ 1)
+    diminish = (subtract 1)
+
+instance Augmentable Integer where
+    augment  = (+ 1)
+    diminish = (subtract 1)
+
+instance Integral a => Augmentable (Ratio a) where
+    augment  = (+ 1)
+    diminish = (subtract 1)
diff --git a/src/Music/Pitch/Literal/Interval.hs b/src/Music/Pitch/Literal/Interval.hs
--- a/src/Music/Pitch/Literal/Interval.hs
+++ b/src/Music/Pitch/Literal/Interval.hs
@@ -41,7 +41,6 @@
   ) where
 
 import Data.Semigroup
-import Data.Semigroup.Applicative ()
 import Control.Applicative
 
 newtype IntervalL = IntervalL (Integer, Integer, Integer)
@@ -68,73 +67,73 @@
 instance IsInterval Integer where
     fromInterval (IntervalL (o, d, c)) = o * 12 + c
 
-d1   = fromInterval $ IntervalL (0,0,-1)
-_P1  = fromInterval $ IntervalL (0,0,0)
-_A1  = fromInterval $ IntervalL (0,0,1)
+d1   = fromInterval $ IntervalL (0,0,-1)
+_P1  = fromInterval $ IntervalL (0,0,0)
+_A1  = fromInterval $ IntervalL (0,0,1)
 
-d2   = fromInterval $ IntervalL (0,1,0)
-m2   = fromInterval $ IntervalL (0,1,1)
-_M2  = fromInterval $ IntervalL (0,1,2)
-_A2  = fromInterval $ IntervalL (0,1,3)
+d2   = fromInterval $ IntervalL (0,1,0)
+m2   = fromInterval $ IntervalL (0,1,1)
+_M2  = fromInterval $ IntervalL (0,1,2)
+_A2  = fromInterval $ IntervalL (0,1,3)
 
-d3   = fromInterval $ IntervalL (0,2,2)
-m3   = fromInterval $ IntervalL (0,2,3)
-_M3  = fromInterval $ IntervalL (0,2,4)
-_A3  = fromInterval $ IntervalL (0,2,5)
+d3   = fromInterval $ IntervalL (0,2,2)
+m3   = fromInterval $ IntervalL (0,2,3)
+_M3  = fromInterval $ IntervalL (0,2,4)
+_A3  = fromInterval $ IntervalL (0,2,5)
 
-d4   = fromInterval $ IntervalL (0,3,4)
-_P4  = fromInterval $ IntervalL (0,3,5)
-_A4  = fromInterval $ IntervalL (0,3,6)
+d4   = fromInterval $ IntervalL (0,3,4)
+_P4  = fromInterval $ IntervalL (0,3,5)
+_A4  = fromInterval $ IntervalL (0,3,6)
 
-d5   = fromInterval $ IntervalL (0,4,6)
-_P5  = fromInterval $ IntervalL (0,4,7)
-_A5  = fromInterval $ IntervalL (0,4,8)
+d5   = fromInterval $ IntervalL (0,4,6)
+_P5  = fromInterval $ IntervalL (0,4,7)
+_A5  = fromInterval $ IntervalL (0,4,8)
 
-d6   = fromInterval $ IntervalL (0,5,7)
-m6   = fromInterval $ IntervalL (0,5,8)
-_M6  = fromInterval $ IntervalL (0,5,9)
-_A6  = fromInterval $ IntervalL (0,5,10)
+d6   = fromInterval $ IntervalL (0,5,7)
+m6   = fromInterval $ IntervalL (0,5,8)
+_M6  = fromInterval $ IntervalL (0,5,9)
+_A6  = fromInterval $ IntervalL (0,5,10)
 
-d7   = fromInterval $ IntervalL (0,6,9)
-m7   = fromInterval $ IntervalL (0,6,10)
-_M7  = fromInterval $ IntervalL (0,6,11)
-_A7  = fromInterval $ IntervalL (0,6,12)
+d7   = fromInterval $ IntervalL (0,6,9)
+m7   = fromInterval $ IntervalL (0,6,10)
+_M7  = fromInterval $ IntervalL (0,6,11)
+_A7  = fromInterval $ IntervalL (0,6,12)
 
-d8   = fromInterval $ IntervalL (1,0,-1)
-_P8  = fromInterval $ IntervalL (1,0,0)
-_A8  = fromInterval $ IntervalL (1,0,1)
+d8   = fromInterval $ IntervalL (1,0,-1)
+_P8  = fromInterval $ IntervalL (1,0,0)
+_A8  = fromInterval $ IntervalL (1,0,1)
 
-d9   = fromInterval $ IntervalL (1,1,0)
-m9   = fromInterval $ IntervalL (1,1,1)
-_M9  = fromInterval $ IntervalL (1,1,2)
-_A9  = fromInterval $ IntervalL (1,1,3)
+d9   = fromInterval $ IntervalL (1,1,0)
+m9   = fromInterval $ IntervalL (1,1,1)
+_M9  = fromInterval $ IntervalL (1,1,2)
+_A9  = fromInterval $ IntervalL (1,1,3)
 
-d10  = fromInterval $ IntervalL (1,2,2)
-m10  = fromInterval $ IntervalL (1,2,3)
-_M10  = fromInterval $ IntervalL (1,2,4)
-_A10 = fromInterval $ IntervalL (1,2,5)
+d10  = fromInterval $ IntervalL (1,2,2)
+m10  = fromInterval $ IntervalL (1,2,3)
+_M10  = fromInterval $ IntervalL (1,2,4)
+_A10 = fromInterval $ IntervalL (1,2,5)
 
-d11  = fromInterval $ IntervalL (1,3,4)
-_P11 = fromInterval $ IntervalL (1,3,5)
-_A11 = fromInterval $ IntervalL (1,3,6)
+d11  = fromInterval $ IntervalL (1,3,4)
+_P11 = fromInterval $ IntervalL (1,3,5)
+_A11 = fromInterval $ IntervalL (1,3,6)
 
-d12  = fromInterval $ IntervalL (1,4,6)
-_P12 = fromInterval $ IntervalL (1,4,7)
-_A12 = fromInterval $ IntervalL (1,4,8)
+d12  = fromInterval $ IntervalL (1,4,6)
+_P12 = fromInterval $ IntervalL (1,4,7)
+_A12 = fromInterval $ IntervalL (1,4,8)
 
-d13  = fromInterval $ IntervalL (1,5,7)
-m13  = fromInterval $ IntervalL (1,5,8)
-_M13 = fromInterval $ IntervalL (1,5,9)
-_A13 = fromInterval $ IntervalL (1,5,10)
+d13  = fromInterval $ IntervalL (1,5,7)
+m13  = fromInterval $ IntervalL (1,5,8)
+_M13 = fromInterval $ IntervalL (1,5,9)
+_A13 = fromInterval $ IntervalL (1,5,10)
 
-d14  = fromInterval $ IntervalL (1,6,9)
-m14  = fromInterval $ IntervalL (1,6,10)
-_M14 = fromInterval $ IntervalL (1,6,11)
-_A14 = fromInterval $ IntervalL (1,6,12)
+d14  = fromInterval $ IntervalL (1,6,9)
+m14  = fromInterval $ IntervalL (1,6,10)
+_M14 = fromInterval $ IntervalL (1,6,11)
+_A14 = fromInterval $ IntervalL (1,6,12)
 
-d15  = fromInterval $ IntervalL (2,0,-1)
-_P15 = fromInterval $ IntervalL (2,0,0)
-_A15 = fromInterval $ IntervalL (2,0,1)
+d15  = fromInterval $ IntervalL (2,0,-1)
+_P15 = fromInterval $ IntervalL (2,0,0)
+_A15 = fromInterval $ IntervalL (2,0,1)
 
 
 asInteger :: Integer -> Integer
diff --git a/src/Music/Pitch/Literal/Pitch.hs b/src/Music/Pitch/Literal/Pitch.hs
--- a/src/Music/Pitch/Literal/Pitch.hs
+++ b/src/Music/Pitch/Literal/Pitch.hs
@@ -43,7 +43,6 @@
   ) where
 
 import Data.Semigroup
-import Data.Semigroup.Applicative ()
 import Control.Applicative
 
 -- Pitch literal, defined as @(class, alteration, octave)@, where
@@ -77,7 +76,7 @@
     fromPitch = pure . fromPitch
 
 instance IsPitch Double where
-    fromPitch (PitchL (pc, sem, oct)) = fromIntegral $ semitones sem + diatonic pc + (oct+1) * 12
+    fromPitch (PitchL (pc, sem, oct)) = fromIntegral $ semitones sem + diatonic pc + oct * 12
         where
             semitones = maybe 0 round
             diatonic pc = case pc of
@@ -90,7 +89,7 @@
                 6 -> 11
 
 instance IsPitch Integer where
-    fromPitch (PitchL (pc, sem, oct)) = fromIntegral $ semitones sem + diatonic pc + (oct+1) * 12
+    fromPitch (PitchL (pc, sem, oct)) = fromIntegral $ semitones sem + diatonic pc + oct * 12
         where
             semitones = maybe 0 round
             diatonic pc = case pc of
@@ -102,123 +101,123 @@
                 5 -> 9
                 6 -> 11
 
-cs'' = fromPitch $ PitchL (0, Just 1, 6)
-ds'' = fromPitch $ PitchL (1, Just 1, 6)
-es'' = fromPitch $ PitchL (2, Just 1, 6)
-fs'' = fromPitch $ PitchL (3, Just 1, 6)
-gs'' = fromPitch $ PitchL (4, Just 1, 6)
-as'' = fromPitch $ PitchL (5, Just 1, 6)
-bs'' = fromPitch $ PitchL (6, Just 1, 6)
+cs'' = fromPitch $ PitchL (0, Just 1, 2)
+ds'' = fromPitch $ PitchL (1, Just 1, 2)
+es'' = fromPitch $ PitchL (2, Just 1, 2)
+fs'' = fromPitch $ PitchL (3, Just 1, 2)
+gs'' = fromPitch $ PitchL (4, Just 1, 2)
+as'' = fromPitch $ PitchL (5, Just 1, 2)
+bs'' = fromPitch $ PitchL (6, Just 1, 2)
 
-c''  = fromPitch $ PitchL (0, Nothing, 6)
-d''  = fromPitch $ PitchL (1, Nothing, 6)
-e''  = fromPitch $ PitchL (2, Nothing, 6)
-f''  = fromPitch $ PitchL (3, Nothing, 6)
-g''  = fromPitch $ PitchL (4, Nothing, 6)
-a''  = fromPitch $ PitchL (5, Nothing, 6)
-b''  = fromPitch $ PitchL (6, Nothing, 6)
+c''  = fromPitch $ PitchL (0, Nothing, 2)
+d''  = fromPitch $ PitchL (1, Nothing, 2)
+e''  = fromPitch $ PitchL (2, Nothing, 2)
+f''  = fromPitch $ PitchL (3, Nothing, 2)
+g''  = fromPitch $ PitchL (4, Nothing, 2)
+a''  = fromPitch $ PitchL (5, Nothing, 2)
+b''  = fromPitch $ PitchL (6, Nothing, 2)
 
-cb'' = fromPitch $ PitchL (0, Just (-1), 6)
-db'' = fromPitch $ PitchL (1, Just (-1), 6)
-eb'' = fromPitch $ PitchL (2, Just (-1), 6)
-fb'' = fromPitch $ PitchL (3, Just (-1), 6)
-gb'' = fromPitch $ PitchL (4, Just (-1), 6)
-ab'' = fromPitch $ PitchL (5, Just (-1), 6)
-bb'' = fromPitch $ PitchL (6, Just (-1), 6)
+cb'' = fromPitch $ PitchL (0, Just (-1), 2)
+db'' = fromPitch $ PitchL (1, Just (-1), 2)
+eb'' = fromPitch $ PitchL (2, Just (-1), 2)
+fb'' = fromPitch $ PitchL (3, Just (-1), 2)
+gb'' = fromPitch $ PitchL (4, Just (-1), 2)
+ab'' = fromPitch $ PitchL (5, Just (-1), 2)
+bb'' = fromPitch $ PitchL (6, Just (-1), 2)
 
-cs'  = fromPitch $ PitchL (0, Just 1, 5)
-ds'  = fromPitch $ PitchL (1, Just 1, 5)
-es'  = fromPitch $ PitchL (2, Just 1, 5)
-fs'  = fromPitch $ PitchL (3, Just 1, 5)
-gs'  = fromPitch $ PitchL (4, Just 1, 5)
-as'  = fromPitch $ PitchL (5, Just 1, 5)
-bs'  = fromPitch $ PitchL (6, Just 1, 5)
+cs'  = fromPitch $ PitchL (0, Just 1, 1)
+ds'  = fromPitch $ PitchL (1, Just 1, 1)
+es'  = fromPitch $ PitchL (2, Just 1, 1)
+fs'  = fromPitch $ PitchL (3, Just 1, 1)
+gs'  = fromPitch $ PitchL (4, Just 1, 1)
+as'  = fromPitch $ PitchL (5, Just 1, 1)
+bs'  = fromPitch $ PitchL (6, Just 1, 1)
 
-c'   = fromPitch $ PitchL (0, Nothing, 5)
-d'   = fromPitch $ PitchL (1, Nothing, 5)
-e'   = fromPitch $ PitchL (2, Nothing, 5)
-f'   = fromPitch $ PitchL (3, Nothing, 5)
-g'   = fromPitch $ PitchL (4, Nothing, 5)
-a'   = fromPitch $ PitchL (5, Nothing, 5)
-b'   = fromPitch $ PitchL (6, Nothing, 5)
+c'   = fromPitch $ PitchL (0, Nothing, 1)
+d'   = fromPitch $ PitchL (1, Nothing, 1)
+e'   = fromPitch $ PitchL (2, Nothing, 1)
+f'   = fromPitch $ PitchL (3, Nothing, 1)
+g'   = fromPitch $ PitchL (4, Nothing, 1)
+a'   = fromPitch $ PitchL (5, Nothing, 1)
+b'   = fromPitch $ PitchL (6, Nothing, 1)
 
-cb'  = fromPitch $ PitchL (0, Just (-1), 5)
-db'  = fromPitch $ PitchL (1, Just (-1), 5)
-eb'  = fromPitch $ PitchL (2, Just (-1), 5)
-fb'  = fromPitch $ PitchL (3, Just (-1), 5)
-gb'  = fromPitch $ PitchL (4, Just (-1), 5)
-ab'  = fromPitch $ PitchL (5, Just (-1), 5)
-bb'  = fromPitch $ PitchL (6, Just (-1), 5)
+cb'  = fromPitch $ PitchL (0, Just (-1), 1)
+db'  = fromPitch $ PitchL (1, Just (-1), 1)
+eb'  = fromPitch $ PitchL (2, Just (-1), 1)
+fb'  = fromPitch $ PitchL (3, Just (-1), 1)
+gb'  = fromPitch $ PitchL (4, Just (-1), 1)
+ab'  = fromPitch $ PitchL (5, Just (-1), 1)
+bb'  = fromPitch $ PitchL (6, Just (-1), 1)
 
-cs   = fromPitch $ PitchL (0, Just 1, 4)
-ds   = fromPitch $ PitchL (1, Just 1, 4)
-es   = fromPitch $ PitchL (2, Just 1, 4)
-fs   = fromPitch $ PitchL (3, Just 1, 4)
-gs   = fromPitch $ PitchL (4, Just 1, 4)
-as   = fromPitch $ PitchL (5, Just 1, 4)
-bs   = fromPitch $ PitchL (6, Just 1, 4)
+cs   = fromPitch $ PitchL (0, Just 1, 0)
+ds   = fromPitch $ PitchL (1, Just 1, 0)
+es   = fromPitch $ PitchL (2, Just 1, 0)
+fs   = fromPitch $ PitchL (3, Just 1, 0)
+gs   = fromPitch $ PitchL (4, Just 1, 0)
+as   = fromPitch $ PitchL (5, Just 1, 0)
+bs   = fromPitch $ PitchL (6, Just 1, 0)
 
-c    = fromPitch $ PitchL (0, Nothing, 4)
-d    = fromPitch $ PitchL (1, Nothing, 4)
-e    = fromPitch $ PitchL (2, Nothing, 4)
-f    = fromPitch $ PitchL (3, Nothing, 4)
-g    = fromPitch $ PitchL (4, Nothing, 4)
-a    = fromPitch $ PitchL (5, Nothing, 4)
-b    = fromPitch $ PitchL (6, Nothing, 4)
+c    = fromPitch $ PitchL (0, Nothing, 0)
+d    = fromPitch $ PitchL (1, Nothing, 0)
+e    = fromPitch $ PitchL (2, Nothing, 0)
+f    = fromPitch $ PitchL (3, Nothing, 0)
+g    = fromPitch $ PitchL (4, Nothing, 0)
+a    = fromPitch $ PitchL (5, Nothing, 0)
+b    = fromPitch $ PitchL (6, Nothing, 0)
 
-cb   = fromPitch $ PitchL (0, Just (-1), 4)
-db   = fromPitch $ PitchL (1, Just (-1), 4)
-eb   = fromPitch $ PitchL (2, Just (-1), 4)
-fb   = fromPitch $ PitchL (3, Just (-1), 4)
-gb   = fromPitch $ PitchL (4, Just (-1), 4)
-ab   = fromPitch $ PitchL (5, Just (-1), 4)
-bb   = fromPitch $ PitchL (6, Just (-1), 4)
+cb   = fromPitch $ PitchL (0, Just (-1), 0)
+db   = fromPitch $ PitchL (1, Just (-1), 0)
+eb   = fromPitch $ PitchL (2, Just (-1), 0)
+fb   = fromPitch $ PitchL (3, Just (-1), 0)
+gb   = fromPitch $ PitchL (4, Just (-1), 0)
+ab   = fromPitch $ PitchL (5, Just (-1), 0)
+bb   = fromPitch $ PitchL (6, Just (-1), 0)
 
-cs_  = fromPitch $ PitchL (0, Just 1, 3)
-ds_  = fromPitch $ PitchL (1, Just 1, 3)
-es_  = fromPitch $ PitchL (2, Just 1, 3)
-fs_  = fromPitch $ PitchL (3, Just 1, 3)
-gs_  = fromPitch $ PitchL (4, Just 1, 3)
-as_  = fromPitch $ PitchL (5, Just 1, 3)
-bs_  = fromPitch $ PitchL (6, Just 1, 3)
+cs_  = fromPitch $ PitchL (0, Just 1, -1)
+ds_  = fromPitch $ PitchL (1, Just 1, -1)
+es_  = fromPitch $ PitchL (2, Just 1, -1)
+fs_  = fromPitch $ PitchL (3, Just 1, -1)
+gs_  = fromPitch $ PitchL (4, Just 1, -1)
+as_  = fromPitch $ PitchL (5, Just 1, -1)
+bs_  = fromPitch $ PitchL (6, Just 1, -1)
 
-c_   = fromPitch $ PitchL (0, Nothing, 3)
-d_   = fromPitch $ PitchL (1, Nothing, 3)
-e_   = fromPitch $ PitchL (2, Nothing, 3)
-f_   = fromPitch $ PitchL (3, Nothing, 3)
-g_   = fromPitch $ PitchL (4, Nothing, 3)
-a_   = fromPitch $ PitchL (5, Nothing, 3)
-b_   = fromPitch $ PitchL (6, Nothing, 3)
+c_   = fromPitch $ PitchL (0, Nothing, -1)
+d_   = fromPitch $ PitchL (1, Nothing, -1)
+e_   = fromPitch $ PitchL (2, Nothing, -1)
+f_   = fromPitch $ PitchL (3, Nothing, -1)
+g_   = fromPitch $ PitchL (4, Nothing, -1)
+a_   = fromPitch $ PitchL (5, Nothing, -1)
+b_   = fromPitch $ PitchL (6, Nothing, -1)
 
-cb_  = fromPitch $ PitchL (0, Just (-1), 3)
-db_  = fromPitch $ PitchL (1, Just (-1), 3)
-eb_  = fromPitch $ PitchL (2, Just (-1), 3)
-fb_  = fromPitch $ PitchL (3, Just (-1), 3)
-gb_  = fromPitch $ PitchL (4, Just (-1), 3)
-ab_  = fromPitch $ PitchL (5, Just (-1), 3)
-bb_  = fromPitch $ PitchL (6, Just (-1), 3)
+cb_  = fromPitch $ PitchL (0, Just (-1), -1)
+db_  = fromPitch $ PitchL (1, Just (-1), -1)
+eb_  = fromPitch $ PitchL (2, Just (-1), -1)
+fb_  = fromPitch $ PitchL (3, Just (-1), -1)
+gb_  = fromPitch $ PitchL (4, Just (-1), -1)
+ab_  = fromPitch $ PitchL (5, Just (-1), -1)
+bb_  = fromPitch $ PitchL (6, Just (-1), -1)
 
-cs__ = fromPitch $ PitchL (0, Just 1, 2)
-ds__ = fromPitch $ PitchL (1, Just 1, 2)
-es__ = fromPitch $ PitchL (2, Just 1, 2)
-fs__ = fromPitch $ PitchL (3, Just 1, 2)
-gs__ = fromPitch $ PitchL (4, Just 1, 2)
-as__ = fromPitch $ PitchL (5, Just 1, 2)
-bs__ = fromPitch $ PitchL (6, Just 1, 2)
+cs__ = fromPitch $ PitchL (0, Just 1, -2)
+ds__ = fromPitch $ PitchL (1, Just 1, -2)
+es__ = fromPitch $ PitchL (2, Just 1, -2)
+fs__ = fromPitch $ PitchL (3, Just 1, -2)
+gs__ = fromPitch $ PitchL (4, Just 1, -2)
+as__ = fromPitch $ PitchL (5, Just 1, -2)
+bs__ = fromPitch $ PitchL (6, Just 1, -2)
 
-c__  = fromPitch $ PitchL (0, Nothing, 2)
-d__  = fromPitch $ PitchL (1, Nothing, 2)
-e__  = fromPitch $ PitchL (2, Nothing, 2)
-f__  = fromPitch $ PitchL (3, Nothing, 2)
-g__  = fromPitch $ PitchL (4, Nothing, 2)
-a__  = fromPitch $ PitchL (5, Nothing, 2)
-b__  = fromPitch $ PitchL (6, Nothing, 2)
+c__  = fromPitch $ PitchL (0, Nothing, -2)
+d__  = fromPitch $ PitchL (1, Nothing, -2)
+e__  = fromPitch $ PitchL (2, Nothing, -2)
+f__  = fromPitch $ PitchL (3, Nothing, -2)
+g__  = fromPitch $ PitchL (4, Nothing, -2)
+a__  = fromPitch $ PitchL (5, Nothing, -2)
+b__  = fromPitch $ PitchL (6, Nothing, -2)
 
-cb__ = fromPitch $ PitchL (0, Just (-1), 2)
-db__ = fromPitch $ PitchL (1, Just (-1), 2)
-eb__ = fromPitch $ PitchL (2, Just (-1), 2)
-fb__ = fromPitch $ PitchL (3, Just (-1), 2)
-gb__ = fromPitch $ PitchL (4, Just (-1), 2)
-ab__ = fromPitch $ PitchL (5, Just (-1), 2)
-bb__ = fromPitch $ PitchL (6, Just (-1), 2)
+cb__ = fromPitch $ PitchL (0, Just (-1), -2)
+db__ = fromPitch $ PitchL (1, Just (-1), -2)
+eb__ = fromPitch $ PitchL (2, Just (-1), -2)
+fb__ = fromPitch $ PitchL (3, Just (-1), -2)
+gb__ = fromPitch $ PitchL (4, Just (-1), -2)
+ab__ = fromPitch $ PitchL (5, Just (-1), -2)
+bb__ = fromPitch $ PitchL (6, Just (-1), -2)
 
