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