Re: [livecode] Kling Clang

From: Graham Wakefield <wakefield_at_mat.ucsb.edu>
Date: Mon, 4 Oct 2010 18:44:54 -0700

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

This archive was generated by hypermail 2.4.0 : Sun Aug 20 2023 - 16:02:23 BST