Introduction

Csound5 is here, and available. Users are working with it now and creating audio. We owe a great many, many, many thanks to all the developers who have worked so very hard to keep Csound going strong, and to make this new version, Csound5, available to the community of users. So what is Csound5, and what happened to Csound4? 

I. Csound4

Csound4 code development was "frozen" at version 4.23 during 2002 by an agreement reached among the community of Csound developers. Several applications employing Csound, however continue to use Csound4 as a synthesis engine. Many of these well known and widely used applications have extensive frontends which are relatively user friendly, and work well for their various operating systems. These applications lack the new features available from Csound5, but do not have the problems typically associated with beta builds of new software. Your favorite application however, may have already switched to Csound5. If you are not sure, check it out; because that means you may have access to a lot of interesting new opcodes.

Csound4 is typically compiled from source code into a number of executables, with opcodes included in one or another of those executables. Some of the well known frontend applications compile into a single executable which when clicked opens an extensive user interface allowing access to Csound parameters, settings, utilities, special opcodes, and the developer's own included features. There are also Csound4 versions still available which are lower level and provide access through the command line. Although Csound4 is not currently under development it continues to creep forward with the inclusion of relatively recent opcodes which can nevertheless function using the older code base, but developers are generally moving their applications to Csound5 as a synthesis engine.

II. Csound5

Csound5 is now. It changes rapidly, and is generally shaped by the discussions of developers, and to some extent by the trial use of the community of beta users. It continues to grow, modify, change, and reflect the innovations and additions of the developers who have worked on Csound for a long time. Generally it is currently stable for use through a number of binaries which are supported by the developers who post news of their latest compiled versions on the Csound mailing list. It is widely available for most operating systems, and best of all-free! Curious users can also attempt to build a version of one's own using Scons, a software development tool, by downloading the source code for Csound, which is also available and free

Why use Csound5? Here are just some of the differences, additions, features, etc. between Csound4 and Csound5: the use of pluggable opcodes through shared libraries, increased efficiency, 64-bit versions, various interfaces and frontends such as Lisp, Tcl/Tk, Python, and Java, a large number of interesting new opcodes which add powerful new capabilities to Csound , libraries or classes which allow the use of Csound from within other applications, and various build options which increase the power, connectivity, and integration of Csound when used with other available general use free software. The total number of opcodes in a fully implemented version is around 1,200 and will continue to grow. Some of the older opcodes of Csound4 are becoming deprecated and outpaced by newer, more versatile, better performing opcodes available through Csound5.

Csound5 does not currently have a single, widely accepted graphical user interface with all the bells and whistles of those applications currently using Csound4 as a synthesis engine. One of the promises of pluggable opcodes however is the relative ease of adapting various frontends and interfaces. Thus the development or integration of graphical frontends should begin to flourish in new and interesting ways including realtime applications, digital audio and graphics, composition environments, and client server communications as just some of the areas of interest for those developing frontends and environments in which to utilize Csound. A lower level approach employing numerous Unix style packages, which when compiled using Csound's Scons options provides a host of interesting possibilities if one is willing to work on that level. The current difficulty is keeping it all straight, getting your head around it, and trying to keep pace with all the changes, modifications, and additions as Csound5 moves forward.

Development on Csound5 has slowed compared to the rapid advancements of 2004 and 2005 but many improvements continue all around the program. Compiled binaries are free and available for downloading. Several versions of Csound can exist on your machine, so there's really no reason not to at least give it a test drive, kick the tires, check under the hood, see what it will do, and become familiar with the latest version of a program which has been in existence for over twenty years. The Csound Manual has also thankfully kept pace with the program's development and provides plenty of good information and examples on how to use all the new opcodes. Also the developers, and others who know the program very well, are always willing to provide help and answers via the mailing lists, so come on over, check out the latest build, and start creating some sounds using Csound5.