====== Tools ====== A comparative study of several sound processing tools done at [[http://lac.linuxaudio.org/2010/index.php?page=program&details=1&mode=list&page=program&pdb_filterday=2&pdb_filterlocation=6&pdb_filtertype=o|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 [[http://lists.linuxaudio.org/listinfo/linux-audio-dev|linux-audio-dev]] list.\\ [[http://linuxaudio.org/mailarchive/lad/2010/5/15/168869|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//| \\ * **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 --! |[[apps:all:clam|CLAM]] | DAI |dev |(y)|(n)|(y) |(n) |(n)|(y) |(y) |(y) |(y) |(y) |(y) |(y)|(n)|(y) |(n) |compiled | |[[apps:all:pure_data|Pd]]| IAP |user|(y)|(y)|(y) |(y)*|(y)|(n) |(y) |(n) |(y) |(y) |(n)*|(y)|(n)|(y) |(n) |interpreted| |[[apps:all:faust|Faust]] | D |dev |(y)|(n)|(y) |(n) |(n)|(y) |(y) |(y) |(y) |(n) |(n) ((not yet)) |(y)|(y)|(y) |(n) |compiled | |[[apps:all:chuck|Chuck]] | IA |user|(y)|(n)|(y) |(n) |(y)|(n) |(n) |(y) |(y) |(y) |(y) |(y)|(n)|(y) |(n) |interpreted| |[[apps:all:csound|Csound]]| PI |user|(y)|(n)|(y) |(y) |(n)((Livecoding is possible with 3rd party addons)) |(y) |(n)((3rd party GUIs are available: fi. QuteCSound, Algoscore, Cecilia, blue..)) |(y) |(y) |(y) |(n) |(n)|(n)|(y) |(n) |interpreted| |[[apps:all:supercollider|SC3]]|PI |user|(y)|(y)|(y)?|(y) |(y)|(y)*|(n) |(y) |(y) |(y) |(n) |(n)|(y)|(y) |(y) |interpreted| |[[apps:all:snd-rt|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 | |[[apps:all:fluxus|Fluxus]]| |user| |(y)| | |(y)| |(y) |(y) | | | | |(y)|(y) |(y) |interpreted| |[[apps:all:gstreamer|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 | |[[apps:all:nyquist|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.