Serpent:

A Real-Time Language for Music and Animation

Serpent is the scripting language for Aura, a platform for computer music, animation, and interactive systems. Serpent was designed and implemented as a stand-alone, general purpose interpreter. Serpent is perhaps ideal as a game scripting language due to its real-time design and support for external C++ objects and C functions. It is open source, and I would be happy to share code as well as future design and development with others.

I also use Serpent in my class, Computer Music Systems and Information Processing. To facilitate work in class, the default Serpent implementation is linked with support for MIDI I/O using PortMidi, access to a real-time clock, network communications, and a graphical interface toolkit based on wxWindows. The most well-maintained version of Serpent is in the course web pages:

An Introduction to Serpent

How to Get Serpent

Serpent sources and binaries can be found here. Serpent is also incorporated into Aura. Aura development is Linux based now, and Aura is not really ready for prime-time distribution. However, if you want to use Serpent with Aura, you should contact me, rbd at cs.cmu.edu, about current Aura sources.

Roger B. Dannenberg, Jan 2007