what in CDP could possible be used in realtime

Started by sleestack, May 16, 2015, 08:56:24 PM

Previous topic - Next topic

sleestack

Ive been using supercollider and im wondering what classes could be converted to work in supercollider.. thanks

rwdobson

I don't use SuperCollider, but I assume it can shell out to a command line program, in which case the CDP programs can be pretty much used as is. But none of the programs themselves is real-time interactive; that would be a major project for someone to factor out the essential dsp code into a form that could be driven by a real-time engine. One of the many reasons for going to open-source is to encourage just that sort of enterprise.

All of the filter process can in principle run in real-time (always dependent on CPU power of course), and many of the spectral processes can too (as we showed commercially in "Spectral Transformer" for Cakewalk, and more recently in the streaming pvoc framework for Csound). Several of the distortion processes could in principle run in real time (possibly with some latency) where they do not either add or subtract wavecycles, but would need a lot of reengineering to handle wavecycle measurements, latency, and dynamic user interactions.

Many of the programs do multiple passes over either the input or the output., for such things as maximum amplitude computation and normalisation; these will convert either with great difficulty or not at all to a real-time streaming environment. This includes for example the granular synthesis/brassage programs.

sleestack

i noticed that Wisharts wavelets are in SC classes.

Thanks for the replies

Xenakios

#3
Quote from: rwdobson on May 17, 2015, 10:26:12 AM
Many of the programs do multiple passes over either the input or the output., for such things as maximum amplitude computation and normalisation; these will convert either with great difficulty or not at all to a real-time streaming environment. This includes for example the granular synthesis/brassage programs.

You may be overcomplicating this. Sure, it will be hard or impossible to make such things work for strictly live real time inputs. However, it would be possible to make the programs access pre-existing material in a random access manner from memory buffers or files. This could be accomplished by requiring the user to "record" the desired material into such a buffer or file first. Not always ideal, but a possible approach. (For example the GRM Tools Freeze plugin works this way, as does the non-ARA version of Celemony Melodyne.) Pre-existing files could also be imported via file dialogs/browsers.

Plugins and plugin hosts/DAWs usually allow playing back audio even without an input file playing at the same time on a track. Technologies also exist in some DAW applications that allow 3rd party plugins/extensions to access audio files in the host in a random access manner.