What is Snd-rt, and where you can find it? SND is a popular audio editing and signal processing tool that was originally written by Bill Schottstaedt at CCRMA, Stanford University. The program is written in Lisp, and is easily integrated with other Lisp software from CCRMA, such as:
Snd-rt is an extension of SND which consists of two parts:
– The RT Engine – a program that allows signal processing in real time.
– The RT Compiler – a compiler for the scheme-like programming language where the code is written.
Th compiler generates code that can be read by the RT program for real-time audio processing. This is another useful link to info about scheme, and here er is a link to a user’s guide. What RT does is similar to SuperCollider, Nyquist or Csound locked to realtime. The main difference is that the language is Lisp. Lisp is a family of interactive, high-level programming languages and is widely used in music software where the user has access to a scriptable or programmable interface.
Controlling the rt-system takes place via the graphical interface and Lisp code, and inputs via PD, OSC, MIDI, mouse or keystrokes, or basically anything else going on in the system which can be read from a stream. Unlike Max/MSP or PD, Snd-rt a full dynamic modular programming environment for audio. It is also possible to combine PD and Snd-rt by using Snd-rt as a plugin for PD. You can then send audio back and forth between PD and Snd-rt, and use PD’s graphic programming language to control sound at a very high level as well as build your own user interface. All the programming, adaptation and adjustment may be made without the need to stop to recompile, link or regenerate DSP graphs.
Snd-rt does not have a graphical user interface (GUI) as yet, so Snd-rt requires the user to write code. On the following linked page, however, Kjetil Matheussen has specified how a GUI can be made, along with an introduction to how the program can be used.
The page also contains information on what needs to be downloaded and where to find it.
The program is also mediated by CCRMA their Snd-distribution, linked here.
How is the program useful?
Programming environments such as Max/MSP and PD are built around an engine that makes signal processing possible in real time. These systems use a so-called “client/server” model. In short, a “server” designed to receive orders is set up. When the orders come in they are placed in the right place in a queue of things to do. The server thus executes the orders in such a way as to create the sense of “real time”. The processing is fast enough for the result to be perceived without significant delays in relation to what is being processed.
Max/MSP and PD are both easy to use, but the user is limited by the predefined “boxes” on the screen, which you can connect almost in any way you want. If you want to do complicated things, the so-called “patches” will become very large. For more advanced users, it is easier and more straightforward to write their own commands directly into the program, and here both SuperCollider, Snd-rt and Csound are useful. Both Csound og Snd-rt allow users to write in well-known and powerful programming languages such as C and Lisp. Csound is particularly useful with Øyvind Brandtsegg’s program Improsculpt. Snd-rt is an innovation that makes it possible to integrate this program into a known and well-functioning sound editor, SND, and it is relatively easy to set up Snd-rt with a graphical user interface for those users who prefer this.
How can the program be used?
With the way Snd-rt is set up now, you need to run the program in SND or PD, either from a terminal or as an internal process in emacs. Instructions for this procedure is here.
Snd-rt is programmed by Kjetil Matheussen.