Applications and libraries/Music and sound
This page contains a list of libraries and tools in a certain category. For a comprehensive list of such pages, see Libraries and tools.
1 Music and Sound
1.1 Sound Libraries
- A Haskell Binding for OpenAL and ALUT. The goal of this project is to provide a binding for OpenAL, a cross-platform 3D audio API, appropriate for use with gaming applications and many other types of audio applications.
- Contains bindings to libSDL, libSDL_gfx, libSDL_image, libSDL_mixer and libSDL_ttf.
- Signal processing coded in Haskell. Contains also some matrix and stochastic computations which are required for signal processing.
- Interface to the realtime software synthesizer SuperCollider. Experimental. Includes widely useful OpenSoundControl module.
- Synthesizer library
- Signal processing related to audio effects coded in plain Haskell. There is both a low-level interface and a framework for automatical inference of sample rate and amplitude of signals in a sound processing network. This generalizes the usual restricted splitting into audio rate and control rate signals. There is an interface for using synthesized sounds for rendering Haskore music. Recent versions require NumericPrelude. Highly experimental.
- A port of LADSPA (Linux Audio Developer's Simple Plugin API) to Haskell. Still highly experimental. The project can be regarded as an example of how to create plugins and shared libraries in Haskell without making use of hs-plugins.
- A library for handling the Ogg container format. Note that this just deals with the Ogg container, not with the contained Vorbis audio or Theora video etc. Includes a commandline tool (hogg) for querying files, merging and ripping tracks, hexdumping packets and pages and so on.
- hmp3 is a curses-based mp3 player frontend to mpg321 and mpg123. It is written in Haskell. It is designed to be simple, fast and robust. It's very stable, with one instance running for several months.
- Minstrel is a curses frontend to the GStreamer library written in Haskell.
1.3 Composing Music
- The Haskore Computer Music System
- Haskore is a collection of Haskell modules designed for expressing musical structures in the high-level, declarative style of functional programming. Haskore is a means for describing music - in particular Western Music - rather than sound. It is not a vehicle for synthesizing sound produced by musical instruments, for example, although it does capture the way certain (real or imagined) instruments permit control of dynamics and articulation. Haskore compositions can be translated into various executable formats like MIDI and printed in traditional notation.
- Haskore related projects
- A set of Haskell modules written on top of Haskore to make it easier to sequence simple, repetitive music.