Hi all,
This might give a better picture of what we're doing in LuaAV (it has been refined quite a bit since last year's paper):
http://lua-av.mat.ucsb.edu/tut_audio.html
We went for more of a declarative high-level interface rather than live-coding directly in C, though that could easily be supported too. The high-level interface is compiled down to C internally, for Clang, with a few optimizations before codegen, and a few by LLVM. It's quite strongly inspired by SC3, but trying to be closer to Lua ways of doing things. I also wanted to make sure it was easy to programmatically generate synthdefs as data-structures (without awkward string manipulations).
Working on expanding the ugen library now, and more tutorials.
I would love to hear any comments, suggestions etc.
Graham
PS. Other LLVM-audio references would be Henning Thielemann's work via Haskell [1], and Jeremy Voorhis' work via Ruby [2]. Sounds like a genuine phenomenon: LLVM JIT + high-level language => audio DSP...
[1]
http://hackage.haskell.org/package/synthesizer-llvm-0.2
[2]
http://github.com/jvoorhis/Motivik/
On Oct 4, 2010, at 6:42 AM, Jan-Kees van Kampen wrote:
> On 10/1/10 10:20 AM, Click Nilson wrote:
>> Hi Evan,
>>
>> I'm doing the editing in a text window in SuperCollider; I overrode the keydownAction of the Document to run clang on the text when I press F1. So the editor is essentially TextEdit under the surface.
>>
>> As for other JIT compilers for C, not sure. I'd be curious if anyone else had managed this sort of dynamic re-engineering of audio DSP on the fly via C before; I know it's now possible via Scheme in Impromptu, and that the Faust project is looking into this sort of jit compilation.
>
> hey Nick,
>
> Nice!
> LuaAV (Wesley Smith) does it too:
> http://lua-av.mat.ucsb.edu/publications.html
> http://lua-av.mat.ucsb.edu/pubs/WakefieldSmith_2009_ICMC09_ACMWJITC.pdf
>
> Adrian
Received on Tue Oct 05 2010 - 01:45:33 BST