Discussion:
[haskell-art] Generating sounds in Haskell
Noah Hall
2013-09-01 22:04:13 UTC
Permalink
Hi all,

I'm currently working on a game where the music is being generated through
converting the pixels on screen into musical tones. At the moment, I have a
working prototype in Python, however, I'm working on converting it into
Haskell. The question I have is are there any recommended texts or open
source libraries that I should look at in order to improve the conversion
process? I intend on using the Data.WAVE module and simply porting the
variance and ADSR envelope algorithms over. Any other suggestions regarding
creating more "authentic" tones would also be appreciated.

Cheers,
Noah
Henning Thielemann
2013-09-01 23:02:47 UTC
Permalink
Post by Noah Hall
Hi all,
I'm currently working on a game where the music is being generated through converting the pixels on screen
into musical tones. At the moment, I have a working prototype in Python, however, I'm working on converting
it into Haskell. The question I have is are there any recommended texts or open source libraries that I
should look at in order to improve the conversion process? I intend on using the Data.WAVE module and simply
porting the variance and ADSR envelope algorithms over. Any other suggestions regarding creating more
"authentic" tones would also be appreciated.
Is it important for you to generate particular sounds, or would it be ok
for you to control a MIDI synthesizer like TiMidity via MIDI?
Noah Hall
2013-09-01 23:14:47 UTC
Permalink
On Mon, Sep 2, 2013 at 12:02 AM, Henning Thielemann
Is it important for you to generate particular sounds, or would it be ok for you to control a MIDI synthesizer like TiMidity via MIDI?
At the moment, I'm quite interested in maintaining control over the
generation of sounds as a learning experience.
Henning Thielemann
2013-09-01 23:24:12 UTC
Permalink
Post by Noah Hall
Post by Henning Thielemann
Is it important for you to generate particular sounds, or would it be
ok for you to control a MIDI synthesizer like TiMidity via MIDI?
At the moment, I'm quite interested in maintaining control over the
generation of sounds as a learning experience.
I can advertise my own sound generation routines. There are simple ones
that are pure Haskell:
http://hackage.haskell.org/package/synthesizer-core/

and other ones that need LLVM, that are very fast, but have installation
overhead:
http://hackage.haskell.org/package/synthesizer-llvm/

For real-time sound generation you might also like to control
SuperCollider:
http://hackage.haskell.org/package/hsc3/

Euterpea also has sound synthesis, but as far as I know it is not on
Hackage:
http://haskell.cs.yale.edu/euterpea/

Loading...