Csound Csound-dev Csound-tekno Search About

[Csnd-dev] New release of csound-extended based on AudioWorklet

Date2018-04-30 03:49
FromMichael Gogins
Subject[Csnd-dev] New release of csound-extended based on AudioWorklet
This can be downloaded from
https://github.com/gogins/csound-extended/releases/tag/v0.1.2-beta.
See the release notes there for more information.

The major feature here is a new WebAssembly module for Csound, based
on the now-standard AudioWorklet interface for creating signal
processing nodes in Web Audio. In the near future, the existing
ScriptProcessorNode, still available in this release, will be
deprecated. This requires Chrome 66 or later (I'm not sure of required
versions of other browsers).

The release includes a few examples, some of which run on-line from
here: https://gogins.github.io/csound-extended/

The AudioWorklet version of Csound does not run any faster than the
existing ScriptProcessorNode version, or for that matter faster than
csound.node, but it does seem to be considerably less subject to
dropouts, probably because Csound runs in a separate audio rendering
thread that communicates with the user interface thread only
asynchronously.

In this release, the Csound WebAssembly code and the CMask WebAssembly
have been 'modularized,' which means that they are created in separate
namespaces, and therefore can be loaded into the same Web page at the
same time. The cmask.html demo shows this in action.

I believe that in the future, if the gods are kind, many music
applications and libraries, including algorithmic composition software
like OpenMusic and notation software like Finale, may be usable in
some form as WebAssembly modules. When that happens, it will be
possible to create very interesting "mash-ups" combining disparate
music software, using JavaScript as a kind of universal glue.

Regards,
Mike



-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com