LGPL-2.1-only licensed by Stefan Kersten
Maintained by Stefan Kersten
This version can be pinned in stack with:hsndfile-0.8.0@sha256:3e77b6a4997e2c92b99864b1d63ec8fa42c9e4e26988f74bdf9930eb6793a323,1757

Module documentation for 0.8.0

Depends on 1 package(full list with versions):
Used by 1 package in lts-20.24(full list with versions):

hsndfile is a Haskell interface to Erik de Castro Lopo’s libsndfile. For more detailed information please visit hsndfile’s homepage.


Copyright (c) Stefan Kersten 2007-2015 with contributions by

  • Conrad Parker
  • Rohan Drape



  • Read and write signed instead of unsigned integer samples and rename sf_readf_wordXX and sf_writef_wordXX to sf_readf_intXX and sf_writef_intXX, respectively
  • Add new supported header and sample formats


  • Don’t export Control.Exception.catch and Prelude from Sound.File.Sndfile


  • Remove lazy read functions hGetContentChunks and readFileChunks from library interface. Those functions were implemented incorrectly.


  • Simplified Buffer API: A single type class, Buffer, is provided for ForeignPtr based I/O. Instances are provided in separate packages, e.g. hsndfile-vector.


  • hsndfile has been adapted to compile with GHC 6.10. The only visible change is in exception handling:
    • Sound.File.Sndfile.Exception.Exception is now an instance of Control.Exception.Exception
    • The new generalized functions from Control.Exception.Exception are used for throwing and handling exceptions


  • Fix exception throwing Exceptions detected in library code are now actually raised. Exception has been factored into Sound.File.Sndfile.Exception and constructors were added according to the public libsndfile error codes.
  • Fix reading/writing of frames hGetFrames and hPutFrames were using the sample-based library functions. These have been factored into Sound.File.Sndfile.Buffer and the correct functions are being used for the frame-based I/O functions.