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.

WORK IN PROGRES
Discuss on the linux-audio-dev list.
Email archive

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
SC3PI user(y)(y)(y)?(y) (y)(y)*(n) (y) (y) (y) (n) (n)(y)(y) (y) interpreted
Snd-RTPDI? user(y)(n)(y)?(n)?(y)(n) (y) (y) (y) (y) (y) (y)(y)(y) (y) compiled
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.

1)
not yet
2)
Livecoding is possible with 3rd party addons
3)
3rd party GUIs are available: fi. QuteCSound, Algoscore, Cecilia, blue..
wiki/tools_comparison.txt ยท Last modified: 2013/06/02 15:45 by 127.0.0.1