On Jun 12, 2013, at 9:24 AM, Tom Schouten wrote: > On 05/30/2013 08:21 PM, Tom Schouten wrote: >> On 05/30/2013 05:30 PM, John Clements wrote: >>> On May 30, 2013, at 1:21 PM, Tom Schouten wrote: >>> >>>> Hi List, >>>> >>>> Here's a tiny experimental tool I've been working on the last couple of >>>> months: >>>> http://zwizwa.be/rai/rai.html >>>> >>>> It's mostly aimed at the music DSP world (sound synthesizers and effects) >>>> where feedback structures are very important, but it could be fairly >>>> generic in its use. I tried to stay as close to Scheme as possible. >>>> >>>> The basic idea is to use Racket as replacement for Matlab, i.e. to analyze >>>> algorithms specified in a high level format, and use it to generate >>>> dependency-free C or ASM code for deeply embedded targets. >>>> >>>> Currently it can generate binary plugins for Windows VSTi, Pure Data and >>>> Jack Audio. >>> This looks totally awesome. Would you consider making a Racket Package out >>> of this? My fall class could definitely be interested. >> >> >> Cool :) >> >> Here's the package: >> raco pkg install github://github.com/zwizwa/rai/master >> That will run all the Racket code. >> >> For the C code gen, the Makefile is the best point of entry. >> Currently Linux only, and might need some tweaking. >> > > added synth-lib.rkt basic synth kit and synth.rkt example synthesizer. > > - envelopes > - parameter control dezippers > - parameter control scales (exponential, "squashed" exponential, ...) > - SVF filter > - supersaw osc > - anti-aliased saw osc > - saturation functions > - FDN reverb tail > > How I use it at this time, Linux + Pd: > > make sp_host.pd_linux # build binary Pd wrapper > pd sp_test.pd & # run Pd patch built around sp_host > make livecode # continuously compile synth.rkt -> synth.sp binary module > > then edit synth.rkt or any of its dependencies and the binary code running in > Pd will be updated, leaving state intact if the type didn't change.
Very cool. If only my students weren't all running windows…. John ____________________ Racket Users list: http://lists.racket-lang.org/users