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.






____________________
 Racket Users list:
 http://lists.racket-lang.org/users

Reply via email to