[Haskell-cafe] [ANN] Csound-expression-5 is out (framework for computer music)
anton.kholomiov at gmail.com
Sat Mar 26 17:47:56 UTC 2016
I'd like to announce a new version of Csound-expression library.
It's a framework for computer music production.
It compiles Haskell code to Csound.
**The 5.0 is out! New features:**
* **Microtonal tunings**. We can use custom temperaments with insturments,
patches, soundfonts and MIDI-instruments.
Check out the guide on tuning and microtonal music (see also module
There are many predefined tunings (including ancient ones).
Now we can play the authentic Bach music with Haskell!
See [Custom temperament. Microtonal music](
* **Functions for Csound API**. We can interface with generated code
through many other languages.
We can generate the code with Haskell and the use it in other
environments. we can build UI with Python or Clojure,
we can create an Android synthesizer. See the guide section on Csound
See [Csound API. Using generated code with another languages](
* **Padsynth algorithm** (need Csound 6.05). There are functions that makes
it easy to use wonderful PADsynth algorithm,
This algorithm is designed to make "alive" instruments, natural pads.
There are not only function that explore the algorithm but also new
PAtches in the
package csound-catalog that are based on it! See the section in the
guide on the PADsynth.
Lot's of padsynth instruments are mode with morphing support. We can
crossfade between 2 or even 4 timbres.
See [Padsynth algorithm](
* **Argument modifiers** make it very convinient to modulate the rguments
(apply vibrato to frequency
or add some randomness to the parameter). See [Arguments modulation](
* The **hard clipping** was substituted with **limiter**. There should be
no distortion when
amplitude goes higher than `0dbfs` value.
* Adds **Ping-pong delay** implementation. See function `pingPong` at the
* Adds Rory Walsh's brand **new analog filters** (need Csound 6.07). See
functions `alp1`, `alp2` and `alp3` at the module `Csound.Air.Filter`.
* Bugfixes for `mixAt` function. Now it doesn't duplicates the
Now `mixAt` is not a function that is based on class `At`. It becomes
a method in it's own class called `MixAt`. That fixes the code
* **new instruments** that are based on **PADsynth algorithm**. Check out
at the section on PADsynth Sharc instruments. There are new deep
spiritual vedic pads
(vibhu, rishi, agni, prakriti, rajas, avatara, bhumi).
See [Padsynth algorithm](
Link to the library: http://hackage.haskell.org/package/csound-expression
Github repo: https://github.com/spell-music/csound-expression
You can listen to some PADsynth instruments at the link:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe