Readme for mp3decoder-0.0.1
=== Prereq. ===
Using this code requires:
*) A Haskell compiler, such as GHC.
*) binary-strict, from here:
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/binary-strict
If you've never used Haskell before, install binary-strict by
downloading and unpacking the source, cd to the directory where the
Setup file is, and do
$ runhaskell Setup.lhs configure
$ runhaskell Setup.lhs build
$ runhaskell Setup.lhs install
That's it.
=== Building the decoder ===
Building the decoder works almost the same as building binary-strict.
From the directory where this file is, do:
$ runhaskell Setup.lhs configure
$ runhaskell Setup.lhs build
Do not install it (if you're familiar with Haskell and for some reason
want to install this decoder as a library, you'll have to edit the
cabal file).
When done, there will be an executable file in dist/build/mp3driver.
Pass an MP3 file to it
$ mp3driver test.mp3
And it will write a file, "out.wav", to the current directory.
The actual decoder is in Codec/Audio/MP3. Change parts of it, run
the build command again, and see what happens. :-)
=== Trouble? ===
If, for some reason, the above doesn't work, there's a manual method
of building the mp3driver program. Copy all *.hs, *.h and *.c files
to the same directory. Build the two C files:
$ gcc -O2 -c c_imdct.c
$ gcc -O2 -c c_synth.c
Change all "import Codec.Audio.MP3.XXX" in the Haskell source files
to "import XXX". Then:
$ ghc c_imdct.o c_synth.o --make Driver.hs