If you're interested in a C/C++ language, you might want to try RTcmix:

        http://music.columbia.edu/cmc/RTcmix/

It's a real-time music-N style language, been around for a long time. You can compile your app with an RTcmix dynamic library, and then do things like:

        RTcmix *rrr = new RTcmix();

        rrr->cmd("SFLUTE", 7, 0.0, 1.0, 0.1, 106.0, 25.0, 5000.0, 0.5);
        rrr->cmd("SFLUTE", 7, 1.0, 1.0, 0.1, 95.0, 21.0, 5000.0, 0.5);

        (etc. -- SFLUTE is Perry Cook's SlideFlute physical model)

The language also supports dynamic loading (in r-t, of course!):

        rrr->cmd("load", 1, "the_code_to_load");

The scheduler can be set up to work with python/perl, or use its own internal C-like syntax to do fun things like (using SFLUTE again):

        length1 = 50
        length2 = 20
        for (start = 0; start < 20; start = start +0.2) {
                SFLUTE(start, 0.7, 0.1, length1, length2, 10000, 0.5)
                length1 = irand(30, 150)
                length2 = length2 + 10
                if (length2 > 110) length2 = 110
        }

You can alter/send these scripts at any time during performance.

We're about to let go a new release with lots of shiny new features. Runs on most Unix platforms, and a windows version is in the works. JACK/ALSA/etc. supported, as well as multi-channel audio devices for both Linux and OSX.

brad

Reply via email to