Project Description
Provides pInvoke and wrapper objects to make the Csound 6 API available to Dot Net programs. Written in C#.

Csound 6 is an open source sound synthesis library which enjoys an active user and developer community.  Csound, was originally developed by Barry Vercoe of MIT in the 1980’s and 1990’s as a multi-platform incarnation of the classic MUSICxx synthesis programs set in motion by Max Matthews at the dawn of software sound synthesis. Csound is licensed under the Lesser GNU software License – as is this project.

As a library, Csound expects to be driven by a host program via its well documented “c” API.  There are wrappers around this API for writing host programs in C++, java, Python and LUA among others, but no wrappers exist for creating a host using the Dot Net platform.  This project provides wrappers to enable development of Csound 6 host programs using the Dot Net platform.  It is modeled on csound’s C++ wrapper, but has been designed to be idiomatic for C# using such Dot Net idioms as properties, delegates, events, exceptions, async/await, generics, and using blocks.  Also, the RAII principle has guided wrapper object design decisions.

Because Csound 6 itself is not compliant with WinRT, no applications which rely on Csound can be currently used in a Windows Store Application.

To use this set of C# wrappers, one should have already installed Csound 6.01.  Your Dot Net host program should be directed to the dlls in Csound 6’s “bin” directory as well as this library before your host can be developed and run.

As of July 10, 2013, Csound is available as a new major release and API version: 6.0.  The csound6net codeplex project is tracking the new Csound 6 “c” API only and will hopefully be completed a little after the time of Csound 6's general release. The current version is tested against Csound 6.01 which fixes initial release bugs in Csound 6.00.

For information about Csound see Csound User Site for links to various sources of information about Csound.  For insights on how to use Csound, see Csound Documentation in Floss Manuals.  For the most authoritative discussion of all aspects of Csound, see the Canonical Csound Reference Manual.

Last edited Nov 4, 2013 at 6:27 PM by rhenninger, version 22