What's new in Csound 7.0

Release Notes for Csound 7.

Major new version.

Release Notes for Csound 6.18 (2022 October)

Mainly a bug-fixing release. Major new facility is MP3 (MPEG) audio files support is now implemented for both input and output with libsndfile.

Release Notes for Csound 6.17 (2022 February)

Mainly a bug-fixing release but also a major re-organisation of the libraries to move all opcodes with dependencies into a separate plugins repository. The only exception to this is the OSC opcodes (which depend on liblo). This is in part a preparation for Csound7. This is the last release using the current parser (v.2).

Release Notes for Csound 6.16 (2021 June)

This delayed release was mainly a bug fixing release but there are significant new opcodes, including support for simpler use of MIDI controls and a new opcode to connect to an Arduino. Also there is an optional limiter in the sound output chain.

Also there are a number of new filters including the final opcode written by the 'father of computer music' Max Mathews (with Julius Smith)! ported by Joel Ross.

Release Notes for Csound 6.15 (2020 August)

Quite a few new opcodes are in this release as well as extensions of existing opcodes. In particular there is the introduction of streamed LPC which has long been requested.

Another feature in this release is a large number of internal fixes to incorrect data access, as well as the usual tweaks and changes.

Starting from this release, no third-party graphic frontends are shipped with the installation packages on MacOs and Windows. Users should install their choice of frontend separately.

Release Notes for Csound 6.14 (2020 January)

A number of bug fixes and enhancements, but also potentially significant changes are included.

For live coders the orchestra macros are now remembered between calls to compilerstr. This should not change the behaviour of current valid orchestras but could be useful in live coding.

MIDI devices now include mapping multiple devices to higher channels. The details are in the manual MIDI section.

Release Notes for Csound 6.13 (2019 July)

Not many new opcodes but there are a significant number of opcodes being extended to use arrays in a variety of ways, widening the options for users. There have been many fixes to the core code as well as opcodes.

Release Notes for Csound 6.12 (2018 November)

Many changes including the removal of vst2cs functionality due to a copyright issue.

The changes made in 6.11 to raw format reading have been modified so gen1 and diskin ignore positive file formats and use the file header, unless the format is negative when it uses the absolute value in a raw audio file. This should preserve most compatibility issues.

There are a number of new and improved opcodes, new facilities in scores and many bug fixes.

Release Notes for Csound 6.11 (2018 May)

There has been a great amount of internal reorganisation, which should not affect most users. Some components are now independently managed and will eventually be installable via a new package manager. The realtime option is now considered stable and has the "experimental" tag removed. Special support for the Bela platform has been introduced. There have been more steps towards completing the arithmetic operations involving a-arrays.

[Note] Note
Note that changes to GEN01 and diskin2 may not be backward compatible if a non zero value is given for the format.

Release Notes for Csound 6.10 (2017 December)

This is mostly a bugfix release, including a major bug introduced in loscil recently. New and improved opcodes and a long orphaned GEN (53) are here, as well as many small internal improvements. Internal changes have removed a number of memory leaks.

Release Notes for Csound 6.09 (2017 May)

A mixed bag of new opcodes and many fixes and improvements.

Also as usual there are a number of internal changes, including many memory leaks fixed and more robust code.

Release Notes for Csound 6.08 (2016 November)

As usual there are a number of opcode fixes and improvements, but the major changes are in the language structures. First the score language has all-new treatment of macros and preprocessing, bringing it in line with those of the orchestra. The parsing of the orchestra has had a number of fixes as outlined below.

A major, and not totally compatible change as been made in reading and writing array elements. The rate of the index now often determines the time of processing; check the entry below under Orchestra. This simplifies much code and seems to capture expectations; the earlier ad hoc code had many anomalies.

Also as usual there are a number of new opcodes and internal fixes to memory leaks and more robust code.

Release Notes for Csound 6.07 (2016 March)

A large number of bug fixes, some quite major, some internal are included, as well as some new facilities and extensions. As ever there are coding improvements as well.

Release Notes for Csound 6.06 (2015 September)

A number of bug fixes, some quite major, are included, as well as some new facilities and extensions.

Release Notes for Csound 6.05 (2015 April)

As ever there are new facilities and numerous bug-fixes. A major part of this release is the removal of a number of memory leaks and over use of memory. Naturally these changes are all but invisible, just a smaller memory foot-print. Note that we track bugs and requests for enhancements via the github issues system, and these had a significant affect on this release.

Release Notes for Csound 6.04 (2014 November)

This new version has many extensions and fixes; many new opcodes and significant numbers of internal reworking. There is a new frontend and iOS and Android version have seen many improvements.

As ever we track bugs and requests for enhancements via the github issues system. Already proposals for the next release are being made but the volume of changes require a release now.

Release Notes for Csound 6.03 (2014 May)

This new version has a large number of bug fixes (including clearing many tickets on SourceForge and GitHub) as well internal changes to improve performance.

Release Notes for Csound 6.02

This new version has a large number of bug fixes (including clearing all general tickets on SourceForge). It also introduces some major new facilities such as use as a server, code to run Csound in a browser and a large generalisation of filter opcodes to have parameters changeable at audio rate.

Release Notes for Csound6

Csound6 is a significant rewrite of much of the code. In particular the API is not compatible, although all orc/sco/csd works should still run.

There are new facilities, like sample accuracy and realtime mode, described below.

IMPORTANT: The environment variable to find plugins are called OPCODE6DIR64 or OPCODE6DIR (note the 6) so it can co-exist with Csound5.

Similarly .csoundrc is renamed .csound6rc.

Arrays are now mainstream, with syntax and opcode support. They also exist in multidimensional format. They are created (usually) with init opcode or fillarray.

  k1[]  init 4

generates a k-rate 1-D array of length 4. Similarly

  a2[][] init 4, 4

creates a square 4x4 a-rate array.

  k2[]  fillarray 1, 2, 3, 4

creates a 4-element vector filled with 1,..4, which also defines the length.

Elements are used via indexing in [] such as k1[2] or a2[2][3]. One dimensional arrays replace tvars, and can be used in opcodes like maxtab, mintab and sumtab (see below). Array setting can be done in left-hand side of opcodes, i.e.:

  aSigs[0] vco2 .1, 440
  aSigs[1] vco2 .1, 880

The new realtime priority mode can be switched on with by passing the --realtime or setting the CSOUND_PARAMS field realtime_mode to 1. This has the following effects:

  1. all opcode audio file reading/writing is handled asynchronously by a separate thread.
  2. all init-pass operations are also performed asynchronously.

Multicore support is totally rewritten using a different algorithm for task-dispatch, which should use less memory and fewer locks.

New in Version 5.19 (2013 January 7)

This is mainly a bug-fixing release but with a number of new opcodes and enhanced features.

New in Version 5.18 (2012 August 29)

This is mainly a bug-fixing release but with a number of new opcodes and enhanced features.

New in Version 5.17 (March 2012)

This is mainly a bug-fixing release with no major changes, but the number of fixes warrants a release.

New in Version 5.16 (February 2012)

The major change is that the new parser is now the default. The old parser is still available in case of difficulty but the new has been given extensive testing since the start of the year, including complete restructuring of macro expansion. A side effect is that the runtime of most orchestras is faster, although parsing is slower. There are a few optimisations implemented like constant folding in simple cases. Line numbers and file names are traced better than before.

Some memory leaks also fixed.

New in Version 5.15 (December 2011)

New in Version 5.14 (October 2011)

New in Version 5.13 (January 2011)

New in Version 5.12 (January 2010)

New in Version 5.11 (June 2009)

New in Version 5.10 (December 2008)

New in Version 5.09 (October 2008)

New in Version 5.08 (February 2008)

New in Version 5.07 (October 2007)

New in Version 5.06 (June 2007)