downloads software cps

CPS
company Bonneville
author Niels Gorisse
homepage http://www.bonneville.nl/cps
version 1.2
licence You can download a demo version full version costs US$ 125.


CPS is a realtime interactive programming environment for audio, MIDI and other media & I/O. Patches are build by placing objects and making wires between them. Areas of interest are sound design, algorithmic composition, DSP, electronic/computer music and education. CPS can be used in any realtime situation where sound plays a role.

Build-in objects allow you low-level access to audio, MIDI and other media I/O, and any processing in between. Objects include audio and MIDI I/O, fourier analyse, several filters, noise generators, envelopes, and much more objects like graphical feedback objects, tables which you can fill with 'generators' and several network options. CPS consists of more than 140 objects by default. All MPEG-4 Structured Audio opcodes are inside CPS.


A screenshot from a patch in CPS (realtime FFT and iFFT on incoming audio):


All MPEG-4 Structured Audio opcodes are implemented in CPS. CPS will gradually support more and more MPEG-4 Structured Audio items, starting with 'save as .saol', which makes CPS not only a realtime implemention of the opcodes, but also a realtime graphic instrument designer.


CPS is a truly realtime interactive toolkit, suitable to make any realtime 'machine' with it in software. It doesn't make any difference weither you are processing audio in realtime, or generating MIDI output, for example based on realtime user input.


CPS is not only an interactive realtime toolkit; it is also a friendly graphical user environment. CPS has a subpatch architecture (of unlimited depth), with which you can put parts of you patch within one object. Furthermore, objects in CPS have a dynamic number of in- and outputs at runtime, tooltips and online help, and CPS has a strict visual separation between signals on audiorate (left-right) and controlrate (above-below) so that a patch idealy looks like a raster. If something goes wrong on runtime you can see where it happens in your patch thanks to the graphical feedback.


Within CPS you can work on 'sample precision' locally; simply use the same objects as you would use for processing controlrate signals like MIDI, to create for example small audio feedback loops. You can also set the buffersize very low (or: the krate very high).


Plugins

CPS is ideal for (DSP-) programmers. It is _extremely_ easy to build a plugin for CPS. The only knowledge needed is basic ANSI C/C++. You can directly start making a platform-independent plugin which for example works with streaming audio and reacts on MIDI too. You can use any build-in CPS object (including the MPEG-4 Structured Audio ones), in your new plugin if you want.


You can easily build an advanced graphical interface for your plugin in the platform-independent language 'Java'. You can directly communicate with your C++ - plugin fromout the graphical interface. If needed, you can also save as many data within your plugin as you want, and even define your own classes for storage.