oreilly.comSafari Books Online.Conferences.


Developing and Using Snd: Editing Sound Under Linux, Part One

by Dave Phillips

Editor's note: In part one of this two-part series on sound editing under Linux, Dave Phillips shows how you can move over from Windows-based Cool Edit to Linux-based Snd. He compares the two software packages, then moves into the installation and configuration of Snd. In part two, Dave will walk you through a Snd tutorial and show you some advanced sound-editing techniques.

Introduction to sound file editors

A sound file editor (also known as an audio editor) is one of the standard tools of the digital sound and music trades. Audio editors work on sound files in ways that are analogous to the actions of text and graphics editors upon their respective file types. Typically a modern sound file editor includes the common cut/copy/paste routines along with a complement of signal processing and mixing modules. A graphic interface and waveform display is usually encountered (though text-mode audio editors do exist for Unix/Linux), and point and click is the expected mode of user interaction.

As Linux grows in popularity among artists working in media such as audio/video and animation, we can expect to see more interest in the system's audio capabilities and its available sound and music software. Sound workers migrating from Windows or the Mac will look for tools similar to what they have enjoyed using on their previous platforms, and one of their most frequently asked questions is "What Linux audio editor will most completely take the place of Cool Edit?".

Cool Edit [Figure 1] is perhaps the most popular sound file editor available for the Windows OS family. It has been in continuous development for more than 10 years: Programmer David Johnston originally wrote Cool Edit as shareware for Windows 3.1, and in 1995 the Syntrillium corporation began managing the commercial development of the program (the company still maintains and distributes the shareware version available on the Internet).

Figure 1. Cool Edit 2000 (courtesy Dmitri Touretsky)

Cool Edit is a wonderful program. Its interface is easy to navigate and invites experimentation with a powerful editing and processing toolkit. I used it extensively from its earliest versions through Cool Edit 96, and when I finally stopped using Windows, Cool Edit was one of the few programs I truly missed.

For various reasons, it has been rather difficult to advise Cool Edit users on a Linux equivalent. While there are many sound file editors available for Linux none are up to Cool Edit's standard, particularly with regards to transparency and ease of use. In response to this challenge, I decided to work on extending and enhancing Snd, a powerful audio editor for Linux and other Unix platforms (see Table 1 for a complete list).

Table 1: Supported platforms

Cool Edit

Windows 95/98/ME, NT/2000, or higher


DEC Alpha, SGI, HP-UX, mkLinux, Linux, PPC, SCO, Solaris

Like Cool Edit, Snd has been in lengthy development. Snd author Bill Schottstaedt has programmed Snd continuously since 1996, but his involvement with writing sound file editors dates back to the late 1970s when he wrote the Dpysnd audio editor for the PDP-10 minicomputer. However, Snd's user interface and other basic design differences are problematic for Cool Edit users, and it is easy to miss Snd's great power and utility. I decided to expose more of that power to the novice and to try to create a working environment similar to Cool Edit. This article will relate how that work has been accomplished so far and will indicate the work that remains.

The differences and similarities between Cool Edit and Snd led me to many considerations regarding interface design and its necessary tradeoffs. Cool Edit's interface is uniformly designed for editing and processing sound files. Almost every action and function in the program can be accessed and controlled by the mouse, and users can navigate their way through the entire program by pointing and clicking. Thanks to this uniform interface, a novice easily learns and remembers the program's behavior and more quickly moves into actually working with the program.

On the other hand, Snd has been designed to function within a rich sound processing and music composition software environment developed at CCRMA, Stanford University's Center for Computer Research in Music and Acoustics. That environment includes the Common LISP Music (CLM) sound synthesis language, the Common Music (CM) scoring tools for CLM and other output formats (such as Csound and MIDI), and the Common Music Notation (CMN) package. Indeed, Snd could be considered as a graphic display front-end for CLM: The standard build incorporates CLM as a built-in module, Snd provides a window called the Listener for entering code to access the module's synthesis and processing functions, and the interface provides various ways to play and represent the newly synthesized sound.

In contrast to the uniformity of Cool Edit, Snd's user interface could be thought of as "multiform" by design. In the default GUI, the mouse is extensively employed, but far more program control is available through Snd's emacs-style keyboard commands. And while considerable processing power lurks under its surface, access to that power has been restricted to users willing to learn the necessary scripting language. Thus, in order to use Snd to its fullest potential, the user must learn to manage Snd's more complex control interface and acquire some proficiency in the Guile/Scheme language. With that proficiency, the developer can customize the program's appearance and behavior, warping it into quite a different Snd, something more like Cool Edit but definitely still Snd.

Comment on this articleWhat installation and configuration tips do you have for new Snd users?
Post your comments

This article describes how such a warping can been achieved by a user with very little programming skill (I'm really a musician) and virtually no experience with LISP or Scheme. It is not a shoot-out between Cool Edit and Snd. It is actually a status report of an ongoing project to externalize Snd's great internal power, using Cool Edit as a model for developing Snd's user interface. I must also note that Cool Edit 2000 has been my measuring rod, not its bigger brother Cool Edit Pro: I have focused on Snd's utility as a sound file editor, and I consider Cool Edit Pro to be more of a multitrack hard-disk recording environment. So with this understanding, let's get into Snd...

Pages: 1, 2, 3, 4

Next Pagearrow

Linux Online Certification

Linux/Unix System Administration Certificate Series
Linux/Unix System Administration Certificate Series — This course series targets both beginning and intermediate Linux/Unix users who want to acquire advanced system administration skills, and to back those skills up with a Certificate from the University of Illinois Office of Continuing Education.

Enroll today!

Linux Resources
  • Linux Online
  • The Linux FAQ
  • Linux Kernel Archives
  • Kernel Traffic

  • Sponsored by: