Audio and Signal Processing in Haskell
Asked Answered
R

2

15

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 ?

Rewrite answered 1/2, 2013 at 15:47 Comment(4)
hackage.haskell.org/package/HarmTrace and chordify.net/pages/how-to-use-chordifyLonglimbed
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.Labelle
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.Rewrite
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.Diphthongize
B
5

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.

Buckthorn answered 21/4, 2013 at 23:0 Comment(0)
D
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.

Donettedoney answered 1/2, 2013 at 15:56 Comment(2)
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.Rewrite
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.Diphthongize

© 2022 - 2024 — McMap. All rights reserved.