Csound 6.0.2 Released



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 generalization of filter opcodes to have parameters
changeable at audio rate.


New opcodes:

o instance opcode schedules a new instrument instance, storing
the instance handle
o kill opcode stops a given instrument instance
o strfromurl to set a string from a URL

New Gen and Macros:



o If building supports it, a #include string can be a URL or a
o A space is again permitted between a function name and the
opening bracket for all functions allowed in Csound5 (but not in
o The Csound command can start with an empty CSD in daemon mode
(–daemon daemon mode: do not exit if CSD/orchestra is not
given, is empty or does not compile)


o If building supports it, a #include string can be a URL or a

Modified Opcodes and Gens:

o Many filters generalised to allow k- or a-rate parameters. In
particular it includes these:
areson atonex
butterworth filters fofilter
lowres lowresx
lpf18 mode
moogladder moogvcf
reson resonr
resonx resonz
statevar tonex

o The maximum number of presets in sfont increased to 16384

o cpsmidinn is now more accurate
o max_k now behaves like the documentation. There were cases
when it gave strange results.
o The vst4cs opcodes have been re-factored, removing FLTK code,
and updated build system to work for Csound 6.
o In alwayson opcode changes for better handling of pfields,
more reliable insert of the instrument instance for repeating
or re-started score sections.

o The signal flow graph opcodes have had replaced OpenMP
multi-threading with pthreads, using one-time initialization
of static structures.




o PNaCl is now supported as a platform, allowing Csound to run
under the Chrome browser in all enabled operating systems.

General usage:

Nothing to report

Bugs fixed:

o adsynt2 opcode fixed
o ftgentmp opcode fixed
o dates opcode fixed
o fixed a bug in pvsfilter
o fixed stereo out in temposcal and mincer
o pan2 opcode fixed
o index overflow in randh and randi fixed
o a number of fixes to CsoundVST, initialization, score
handling, and MIDI driver initialization so works for Csound 6.
o fixed pycalln for no inputs
o fixed/revised setting and use of ksmps and kr in UDOs
o fixed problem in sending a score event from max to csound vis
csound~ (Ticket #58)
o If itype in chn_k was set to 3 and values are set less than 1,
Csound6 used to give an INIT Error. (Ticket #67)
o A number of reported seg faults have been dealt with
o xtratim opcode was using incorrect ekr value from csound
instead of from instance; when used in conjunction with
setksmps, was causing notes to have very long xtratim set and
thus notes were effectively not getting turned off


System changes:

o A server mode is now available, accepting input via UDP (with
–port option).

o A longstanding bug in extract was detected and fixed. It does
suggest that this facility is little used!

o The way the external score generator was coded is
substantially changed. In particular this should fix a very
strange bug in Windows.
o Fixed crashing bug with invalue channel callback due to wrong
data object being pulled from csound host data.
o Fixed bug in UDOs with no local ksmps where kcounter was
being used incorrectly.
o Better checking in channels.
o (Experimental) If the environment variable CS_UDO_DIR is set
then any files in the directory that have an .udo extension
are automatically included at the start of the orchestra.
This facility needs review to see if it is what is required.
o (Experimental) There are new cuda GPGPU opcodes (source
only): cudasynth (3 versions for additive synthesis, additive
synthesis of fsigs and phase vocoder resynthesis) and cudanal
(a GPGPU version of pvsanal).
Internal changes:
o Many attempts at faster code.
o Type inference and parsing still improving


o Fixed csoundSetStringChannel and csoundGetStringChannel to use
STRINGDAT structure.

Platform Specific


o Fixed crash where no csoundSetHostImplementedMIDIIO is used on
iOS and no _RTMIDI value is set




o Fixed input device name for auhal