[Nyquist-users] Nyquist Version 3.0 on SourceForge
Nyquist is a language for sound synthesis and music composition.
Brought to you by:
rbd
From: Roger D. <rb...@cs...> - 2008-01-03 16:45:40
|
I have been working hard on Nyquist lately. For a long time, I've considered changing Nyquist because so many people seem to be intimidated by Lisp syntax. One possibility I considered was Python, but Nyquist relies heavily on Lisp features that Python lacks. It turned out that Rick Taube was working along similar lines and created an algorithmic language named SAL for his Common Lisp Music system. I really liked the SAL design, which maintains a very close connection to Lisp but adds infix notation, IF-THEN-ELSE, and other familiar statements as well as conventional function call notation, i.e. you write foo(x, y) instead of (foo x y). The great thing about SAL is that it runs on top of lisp and translates to Lisp, so with just a simple front end, you can retain everything from Nyquist. E.g. in SAL, I can now write pluck(c4) to make a plucked string sound, and the symbols "pluck" and "c4" do not even appear in the SAL parser/compiler, nor are there any stubs to bridge from SAL to Nyquist. SAL just translates the code to (pluck c4) and calls Lisp's EVAL. All of this is hidden from novice users, so they don't have to go running in fear from parentheses :-) SAL also allows one to continue working with Lisp code, and the IDE now supports programming with Nyquist in both Lisp and SAL syntax. I've rewritten the Nyquist Manual introductory chapters to use SAL rather than Lisp, and I've added a chapter explaining SAL. The new Nyquist is Version 3.00, and you can get it via cvs from SourceForge. I would be very happy to hear from users about their experience and opinions whether positive or negative. There are undoubtedly bugs I have not discovered (but v3.0 also fixes some Nyquist bugs). The manual and the Nyquist downloads on the web will remain at Version 2.xx until the rate of change settles down a bit. Once you get started, CVS can easily keep you current with the latest updates to v3.xx. None of this will have any immediate impact on Audacity Nyquist and Audacity plug-ins. If people like using SAL in Nyquist, it would be very desirable to to update Audacity with a newer version of Nyquist. (In my opinion, it's a no-brainer, but I acknowledge that there's real work involved to make a major update like this.) -Roger |