[q-lang-users] New q-faust module
Brought to you by:
agraef
From: Albert G. <Dr....@t-...> - 2005-05-06 12:09:49
|
Hi all, For the DSP buffs around here: I've just imported a new module into Q CVS (http://sourceforge.net/cvs/?group_id=96881): q-faust. (Probably still needs some time until it shows up in anonymous cvs and the cvs web interface.) There is no file release yet (and I've only tested it on Linux so far), but if anyone wants to have a tarball (which also includes the SWIG-generated wrapper file, so you don't need Q-SWIG to compile it) just let me know and I'll send it to you. The Q-Faust module lets you load and run Faust-generated signal processing modules in Q. Faust ("Functional AUdio STream") is a functional programming language for real-time sound processing and synthesis developed at Grame (Lyon, France, see http://www.grame.fr, the same guys who have also written MidiShare, which Q already uses for its MIDI interface) and distributed as GPL'ed software. Faust is based on an algebra which includes the necessary basic operations for describing all the usual kinds of block diagrams. It allows you to specify DSPs in a very concise and elegant manner. A closer description of Faust can be found on http://faudiostream.sf.net. What this basically does: You can create your digital signal processing algorithms in the Faust programming language, compile the DSP to a shared module, and then load this module into a Q script at runtime and use it to process digital audio signals in realtime. The Faust compiler itself actually produces C++ code, and includes some clever optimizations, so that the generated DSPs can compete in terms of execution speed with carefully handcoded ones. Right now only a simple test example is included in q-faust, but you can also use the *.dsp examples in the Faust distribution (which includes, e.g., a freeverb implementation and a Karplus-Strong synth) with the examples/faustui.q script to try it out (see the comments at the beginning of examples/faustui.q for instructions on how to do this). Enjoy! -- Dr. Albert Gr"af Dept. of Music-Informatics, University of Mainz, Germany Email: Dr....@t-..., ag...@mu... WWW: http://www.musikwissenschaft.uni-mainz.de/~ag |