François Pinot’s ctcsound
(= Ctypes Csound) is a very effective and powerful binding for the Csound host API in Python.
Each release of Csound has it’s own version of ctcsound named ctcsound.py, which is installed in the Python path. So, if Python is already installed on your system and if Csound is correctly installed, you only have to install numpy, which is needed by ctcsound, to get it working.
In Csound 7.0, the host API has been entirely refactored, breaking backward compatibility. To emphasize this, it has been decided to rewrite ctcsound for Csound 7.0 following the naming convention of the PEP 8 – Style Guide for Python Code. So now, functions name are lowercase, with words separated by underscores (e.g. SetOption
in ctcsound 6.x becomes set_option
in ctcsound 7.0). Examples for this new version of ctcsound can be seen here.
Victor Lazzarini wrote a document about the host API migration from 6.x to 7.0.
On top of ctcsound, François Pinot has also written a csoundmagics class for the use in Jupyter notebooks, including Andrés Cabrera’s iCsound, and many instructive examples.
Eduardo Moguillansky has used ctcsound for an own wrapper called libcsound
which attempts to work for both, Csound 6.18 and Csound 7, and is installable via pip.
On top of ctcsound, Eduardo Moguillansky has written csoundengine.