[Csnd] Some Csound-Web instruments & code share

hi,

first thanks to the web audio team for this great effort on the webaudio-csound branch.
The following instruments are made with csound.esm.js 6.16.2 and also use plugin opcodes compiled to wasm.
The csound.esm.js is not released yet but seems to work ok – the web instruments are tested on a linux desktop
with firefox (can be triggered with the computer keyboard) and chrome (can also triggered via midi) and should also work on windows and mac desktop

csound-web on mobile devices seems not to work by now as i encountered audio glitches and timing problems but this was so far also true for ide.csound.com.

this instrument demonstrates the wterrain2 opcode with visual support and on the fly table definitions.

this instrument demonstrates the sterrain opcode with visual support and on the fly table definitions.
The sterrain opcode is injected as plugin as it was not available in webaudio-csound yet.
This version also has a fix/enhancement with a mode where no period parameter is needed anymore (set period to zero)

Thanks for sharing Christian, these are excellent!

Wow, excellent work! Can’t wait to dig into the technologies you’re using and look through the code. Thanks!

Jason

thanks!

i have seen the link to the sterrain instrument is missing see below there it is.

hi,

first thanks to the web audio team for this great effort on the webaudio-csound branch.
The following instruments are made with csound.esm.js 6.16.2 and also use plugin opcodes compiled to wasm.
The csound.esm.js is not released yet but seems to work ok – the web instruments are tested on a linux desktop
with firefox (can be triggered with the computer keyboard) and chrome (can also triggered via midi) and should also work on windows and mac desktop

csound-web on mobile devices seems not to work by now as i encountered audio glitches and timing problems but this was so far also true for ide.csound.com.

this instrument demonstrates the wterrain2 opcode with visual support and on the fly table definitions.

this instrument demonstrates the sterrain opcode with visual support and on the fly table definitions.
The sterrain opcode is injected as plugin as it was not available in webaudio-csound yet.
This version also has a fix/enhancement with a mode where no period parameter is needed anymore (set period to zero)

this instrument uses the genetic terrain opcode as plugin with visual support.
It supports terrains build with simplex noise (nr 0), value noise with different distributions like in gendy (nr. 1-6)
terrains build with trigonometric functions (7-27) and some simple non-bandlimited terrains - pulse,saw,triangle (28-33)
New terrains can be build by combining the provided ones.

same as geneticterrain but with superformula curves

this instrument generates “infinity” random-electro using the hvs3 opcode where the cube is filled with random values with selectable distributions and it provides programmable drums.

this instrument generates “infinity” random-drones using the hvs3 opcode where the cube is filled with random values with selectable distributions.

A simple instrument using morphed random splines for synthesis (using GEN08 and tabmorpha)

I have packed this instrument in a starter for building new instruments using this technology (gatsby and react-bootstrap).

you may not need to clone the repository but if you have node.js 12+ installed:

npm install -g gatsby-cli
# create a new Gatsby site using the csound-web-gatsby-react-bootstrap-starter starter
gatsby new my_new_csound_web_project 
 my_new_csound_web_project
gatsby develop

and the instrument should be running on localhost:8000. See further documentation in the git repository.

Note that this is ongoing work and is only tested on linux.

Best regards,

Christian

Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Hello docB,

Wonderful work. Thanks for sharing and making.

On my Intel Mac - running BigSur macOS 11.4, it runs perfectly in Safari (although it says MIDI is not supported)
but it does not run in Chrome (it just says - loading Csound and goes no further)

However, in Chrome ide.csound.com runs fine.

I will check on other Macs later today.

Christian,

I am happy to report that they are all running under Chrome on my M1 MacBook Pro (macOS Big Sur 11.4)

How can one automate the waveterrain parameters or control them dynamically? is there a ‘key’ or ‘keycombo’?

  • MIDI does not seem to be supported?

Running on my iPhone 12 Pro Max iOS 14.7 too!

The random music and drone machines are awesome.

I think that I understand how to use the terrains now - with the blue dot and mousePad

Wondering about MIDI - will try on one other MacBook for that

Have you considered:
Virtual MIDI keyboard on screen?

MIDI mapping?
slow LFO and slow random control of rx, ry, rot, and param? (check-box to enable?)

Richard,

thanks for the tests on the macs.

yes, it is planned to assign midi controller numbers to the parameters. Csound mailing list Send bugs reports to Discussions of bugs and features can be posted here