Hi all, We have continued our experiments with Faust and web tools. With the help of Chris Rogers, developer at Google, we have integrated the Faust technology "natively" in the WebAudioAPI. Instead of using Faust to produce JavaScriptNode (hence the audio code of the JavaScriptNode is ultimately not very fast ...), we have developed a native Faust node. This node embed the Faust compiler as a library and the LLVM technology (http://llvm.org/) to generate very fast native code "on the fly." The chain is then: DSP source code Faust ==> LLVM IR code (using the library board Faust and LLVM backend) ==> native code (using LLVM JIT embedded) Faust nodes can then be inserted into a WebAudioAPI graph node like any other native node. They are of course much faster than the JavaScript version.... Here is a package if you want to test: https://dl.dropbox.com/u/28869550/WebKit-faust.zip (OSX Snow Leopard and Mountain Lion). The package contains: - a customized version of the development version of Safari called "WebKit-faust" - Faust DSP files and HTML files that load DSP files and compile native Faust corresponding node. There generators and effects. These can be tested by reading a file (t1.wav in the package) that is sent in effect Faust, so as a graph WebAudioPAI: a ==> effect Faust ==> output - a simple editor: it contains a text box on the left to edit source DSP Faust, the effect is compiled is inserted into the right area with its controllers (sliders. ...) WARNING: before starting the application "WebKit-faust" the 1st time, you must activate the WebAudio API in a terminal with the following commands: defaults write com.apple.Safari WebKitWebAudioEnabled -bool YES defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2WebAudioEnabled -bool YES On Mountain Lion, you'll have to explicitly enable locale file access (so that included examples can access the local .dsp and .wav files) : - activate the "Development" menu : do it in "Preferences ==> Display Development in menubar" - check "Deactivate local file restriction" Known problems: - the produced user interface is very simplified: it only generates "sliders" horizontal (even for buttons ...). WebAudio the API currently does not allow to express these notions of abstract constructs user interfaces (which are described in the DSP code Faust himself and normally interpreted in the construction of the interface). Slider and the "gate" must be used in some generators (chimes.dsp, organ.dsp) for déchencher sound. - OSX Snow Leopard and Mountain Lion are available for now. The same code should be embeddable in Chrome. Then we'll have to experiment on Linux and Windows. - WARNING : if the WebKit-faust application wants you to update with the latest development version, don't do it! (it would erase the Faust customised internal frameworks...) Obviously this is a very first version : still a long road to go until we "may" have Faust accepted as a DSL (Domain Specific Language) to be used to develop fast audio code in browsers.... The challenge is first to gain interest in this kind of approach. Comments and bug reports welcome! Stéphane