This is an old revision of the document!
Table of Contents
Tools
A comparative study of several sound processing tools done at LAC2010 tools round-table. The table should represent what the tools are meant for. This way the table can guide a new user to the right tool for their job.
Legend and Keys
| use-case | see legend below |
|---|---|
| dev/user | Taget audience: Users or Developers |
| cross-platf. | also runs on platforms other than GNU/Linux |
| video | app offers support for video processing/generation |
| batch | the tool itself offers batch processing: it supports offline (audio) rendering |
| scoring | app offers native support for scored pieces or interprets musical scores. |
| livecoding | can be used for livecoding |
| embed. | embeddable (ie. app is available in the form of a library) |
| GUI | graphical user interface |
|---|---|
| txt-UI | textual interface |
| sync. | supports synchronous (sample-based) processing at fixed samplerate(s) (typically audio and video). |
| async. | asynchronous (event-based) processing (typically MIDI, OSC and the like) |
| multirate | can process synchronous streams of (audio) data at different samplerates. |
| 1-sample | can process 1 sample at a time |
| functional | functional programming paradigm (stateless) |
| exec | code is interpreted or requires compilation |
Use-case Legend
- P: scored Piece
- D: pure DSP
- I: interactive
- A:analysis
Comparison Table
| Tool | use case | dev/ user | cross- platf. | video | batch | scoring | live coding | embed. | GUI | txt UI | sync. | async. | multi rate | 1- sample | func- tional | RT | GC | exec |
|---|
NOTE: THIS TABLE IS BEST EDITED WITH A MONOSPACE FONT.
name usecase X vid bat sco lvc emb GUI txt snc asy mult 1s fun rt gc exec
--!
|CLAM | DAI |dev |(y)|(n)|(y) |(n) |(n)|(y) |(y) |(y) |(y) |(y) |(y) |(y)|(n)|(y) |(n) |compiled |
| Pd | IAP | user | (y) | (y) | (y) | (y)* | (y) | (n) | (y) | (n) | (y) | (y) | (n)* | (y) | (n) | (y) | (n) | interpreted | |
| Faust | D | dev | (y) | (n) | (y) | (n) | (n) | (y) | (y) | (y) | (y) | (n) | (n) 1) | (y) | (y) | (y) | (n) | compiled | |
| Chuck | IA | user | (y) | (n) | (y) | (n) | (y) | (n) | (n) | (y) | (y) | (y) | (y) | (y) | (n) | (y) | (n) | interpreted | |
| Csound | PI | user | (y) | (n) | (y) | (y) | (n)2) | (y) | (n)3) | (y) | (y) | (y) | (n) | (n) | (n) | (y) | (n) | interpreted | |
| SC3 | PI | user | (y) | (y) | (y)? | (y) | (y) | (y)* | (n) | (y) | (y) | (y) | (n) | (n) | (y) | (y) | (y) | interpreted | |
| Snd-RT | PDI? | user | (y) | (n) | (y)? | (n)? | (y) | (n) | (y) | (y) | (y) | (y) | (y) | (y) | (y) | (y) | (y) | compiled | |
| [http://lua-av.mat.ucsb.edu/ | Lua-AV] | PDI | user | (y) | (y) | (y) | (y) | (y) | (y) | (y) | (y) | (y) | (y) | interpreted/JIT | |||||
| Fluxus | user | (y) | (y) | (y) | (y) | (y) | (y) | (y) | interpreted | ||||||||||
| Gstreamer | dev | (n) | (y) | (n) | compiled | ||||||||||||||
| CLM | DIA? | user | (y) | (n) | (y)? | (y) | (n) | (y) | (y) | (y) | (y) | (y) | (y) | (y) | (y) | (n) | (y) | both | |
| nyquist | user | (y) | (n) | (y) | interpreted |
Note: the (*)'s are missing footnotes from the original document that came to be at LAC2010. Attendees of said round-table please clarify.
