diff --git a/src/RealTimeSynthesizer.hs b/src/RealTimeSynthesizer.hs
--- a/src/RealTimeSynthesizer.hs
+++ b/src/RealTimeSynthesizer.hs
@@ -251,6 +251,7 @@
 --   print testKeyboard3
 --   playMono defaultSampleRate testKeyboard3
 --   examplePitchBend
+--   exampleKeyboard
    exampleKeyboardFilter
 
 
diff --git a/src/Synthesizer/Storable/ALSA/MIDI.hs b/src/Synthesizer/Storable/ALSA/MIDI.hs
--- a/src/Synthesizer/Storable/ALSA/MIDI.hs
+++ b/src/Synthesizer/Storable/ALSA/MIDI.hs
@@ -470,8 +470,8 @@
           instrument
              dur
              (fromIntegral (vel-64)/63)
-             (880 * 2 ** (fromIntegral (pitch + 3 - 6*12) / 12)))
---             (440 * 2 ** (fromIntegral (pitch + 3 - 6*12) / 12)))
+--             (880 * 2 ** (fromIntegral (pitch + 3 - 6*12) / 12)))
+             (440 * 2 ** (fromIntegral (pitch + 3 - 6*12) / 12)))
 
 
 {- |
@@ -589,13 +589,5 @@
 
    in  ALSASig.withSoundSink sink $ \to ->
        flip mapM_ (SVL.chunks (SigSt.append (SigSt.replicate defaultChunkSize latency 0) ys)) $ \c ->
-       withVector c $ \ptr size ->
+       SV.withStartPtr c $ \ptr size ->
        ALSASig.soundSinkWrite sink to (Foreign.castPtr ptr) size
-
-withVector ::
-   (Storable a) =>
-   SV.Vector a -> (Foreign.Ptr a -> Int -> IO b) -> IO b
-withVector v f =
-   let (fptr, start, size) = SV.toForeignPtr v
-   in  Foreign.withForeignPtr fptr $ \ptr ->
-          f (Foreign.advancePtr ptr start) size
diff --git a/synthesizer-alsa.cabal b/synthesizer-alsa.cabal
--- a/synthesizer-alsa.cabal
+++ b/synthesizer-alsa.cabal
@@ -1,5 +1,5 @@
 Name:           synthesizer-alsa
-Version:        0.0.2.1
+Version:        0.0.3
 License:        GPL
 License-File:   LICENSE
 Author:         Henning Thielemann <haskell@henning-thielemann.de>
@@ -42,7 +42,7 @@
     sox >=0.0.1 && <0.1,
     alsa >= 0.2 && <0.3,
     -- midi >=0.1.1 && <0.1,
-    storablevector >=0.2.2 && <0.3,
+    storablevector >=0.2.4 && <0.3,
     numeric-prelude >=0.0.3 && <0.2,
     non-negative >=0.0.3 && <0.1,
     event-list >=0.0.8 && <0.1,
