Evan, Nyquist is pretty much off-topic for this list, but I'll answer here anyway, and others can skip this if they wish.
I've been using and developing Nyquist pretty actively for a long time now. The latest changes include an option to write in SAL, which uses conventional function notation [ f(x) instead of (f x) ] and infix operators. SAL comes from Taube's Common Music. Although Nyquist does really support real-time *input*, it is pretty amazing on modern machines in terms of real-time *output* -- garbage collection usually runs in a small fraction of a second, so with a few hundred ms of audio buffering, the output streams out with no real delay. Some recent additions include support for Open Sound Control, so you really can change input parameters on-the-fly, and you can set the latency lower to trade off latency with the probability of drop-outs. Various people have contributed phase vocoder, physical modeling, a decent grand piano, and lots of other unit generators and libraries. Nyquist also includes Common Music-like pattern generators and a generalized note-list for saving, editing, manipulating score data destined for MIDI or synthesis in Nyquist. Your view of XLISP is different from mine: I rarely saw XLISP crash (but eventually fixed a couple of bugs, so now I *never* see it crash, although Nyquist is not quite so bullet-proof). Error reporting in XLISP is basically the ability to walk the stack and see functions and arguments, but I don't remember anything different in Common Lisps that I used. "lack of all nice lisp features" -- maybe I see the small extensible kernel of XLISP as actually a feature, especially for building above. One of the most powerful features of Nyquist is the support for transformations including abstract time warping (abstract because you can choose at what level time warps take place, e.g. should trills or vibrato slow down in a rubato?). In retrospect, I do not see these features in actual use, and even my own programs tend to avoid it. It's elegant but I think it is just too hard to think about and therefore isn't worth it in most cases. This was one of the biggest surprises to me, that something so obviously the right thing to do from a mathematical, programming language, and computer science standpoint just isn't all that useful. Nyquist was intended to be a stepping stone to a real-time interactive system, but there are various hard limitations, so I began working on Aura, more of an object-oriented application framework than a language. I've been using Aura for real-time compositions for many years, but it's so open-ended (and undocumented) that no one else uses it, nor would I encourage it in this state. Aura includes Serpent, a real-time scripting language based on Python that runs stand-alone and can be embedded into other applications. Serpent is my favorite language now. It's very small and very simple. -Roger _______________________________________________ media_api mailing list media_api@create.ucsb.edu http://lists.create.ucsb.edu/mailman/listinfo/media_api