Skip to content
Use conduit to process/manipulate/convert audio
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
conduit-audio-ao
conduit-audio-lame
conduit-audio-mpg123
conduit-audio-openal
conduit-audio-samplerate
conduit-audio-sndfile
conduit-audio
.gitignore
.travis.yml
README.md
stack.yaml
test.hs

README.md

Build Status

A suite of Haskell packages that provide a functional, efficient way to work with audio files.

The following sample program uses libsndfile to load two audio files, mixes them together, resamples to 48 kHz with libsamplerate, and saves the result to an MP3 file with LAME:

main = do
  src1 <- sourceSnd "file1.flac"
  src2 <- sourceSnd "file2.ogg"
  runResourceT $ sinkMP3 "out.mp3" $
    resampleTo 48000 SincBestQuality $ mix src1 src2

This program runs in constant memory, by using conduit to stream the audio files in small portions.

You can’t perform that action at this time.