14

Do you know of alive attempts at audio synthesis / signal processing in Haskell ? Either for live performance or just for offline processing ? I am not looking for libraries relying on an external tool (like bindings to SuperCollider).

I have found synthesizer but it has not been updated for a long time.

dsp is interesting too. But is it maintained ?

For pure signal processing, there is also feldspar. It is maintained and evolving. Perhaps it could be used as a future basis to build an audio oriented signal processing library.

Are there any similar packages ?

gspr
  • 10,367
  • 3
  • 38
  • 68
alpheccar
  • 216
  • 3
  • 7
  • 1
    http://hackage.haskell.org/package/HarmTrace and http://chordify.net/pages/how-to-use-chordify/ – Gene T Feb 01 '13 at 19:41
  • 2
    I recently started writing a library for encode/decode sounds, with an additional abstract interface to manipulate sounds. It exports an abstract datatype `Sound` that you can use as a `Time` to `Sample` function (similar to real valued functions but with the possibility of end up with several _channels_ in the image). This way, you can make the signal synthesis and processing and, then, encode it in a sound file. Also, I'm spending some time to ensure that operations are made efficiently. I don't know if this is what you are looking for. – Daniel Díaz Feb 02 '13 at 01:24
  • 2
    I am looking for a collection of standard audio and signal processing algorithms in Haskell. With, of course, the possibility to import / export from/to standard sound formats. – alpheccar Feb 02 '13 at 08:25
  • 2
    Henning Thielemann is still working on synthesis (if not the `synthesizer` package) - he has posted some impressive demos to the haskell-art mailing list that use embedded compilation via LLVM. – stephen tetley Feb 02 '13 at 08:26

2 Answers2

4

I have split "synthesizer" into synthesizer-core, -dimensional, -midi, -alsa, -llvm. The LLVM part is intended for very efficient processing. You can see several examples at YouTube: http://www.youtube.com/playlist?list=PL51EB5843B3980883

I will also give a talk on that topic on the LLVM meeting next week: http://llvm.org/devmtg/2013-04/#ltalkabstract

See also: http://www.haskell.org/haskellwiki/Synthesizer

I also keep the dsp package running, but have not extended it so far.

Lemming
  • 507
  • 4
  • 14
2

There is a textbook called Haskell School of Music and it appears to be available for free online. It uses a library called euterpea-2

Euterpea is a wide-spectrum language, suitable for high-level music representation, algorithmic composition, and analysis; mid-level concepts such as MIDI; and low-level audio processing, sound synthesis, and instrument design.

Adam Bell
  • 3,005
  • 2
  • 23
  • 53
  • Thanks. I'll look at it. But is seems it is more music oriented. I am looking for more general libraries than could be used to encode speech processing algos or more general audio systems. Something that could be used for studying signal processing systems. So, if it is not realtime it is not really a problem. – alpheccar Feb 01 '13 at 16:02
  • There is still quite a lot of synthesis in Paul Hudak and his students recent work (rather than purely music representation). You might want to look at some of the tech reports from the Yale website for more details. – stephen tetley Feb 02 '13 at 08:29