On 08/25/2013 12:59 AM, Tom Schouten wrote:
On 07/14/2013 09:20 AM, Tom Schouten wrote:
On 06/27/2013 02:15 PM, John Clements wrote:
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


It already uses mingw on linux for cross compilation so it should work pretty much out of the box with mingw on windows.


Bare-bones build-mingw.bat to build the VST plugin DLLs using standard install MinGW / MSYS on Windows:
https://github.com/zwizwa/rai/blob/master/rai/build-mingw.bat

The MSYS deps are only there to support Makefile + shell script + small unix commands. I suppose that part could be replaced by a racket script, which might be also be more useful for building & loading the native code VST plugin into racket for testing after C code generation.



using (system "C:\MinGW\bin\mingw32-g++ ..."):
https://github.com/zwizwa/rai/blob/master/rai/stream-native.rkt







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


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

Reply via email to