Originally Published: Tuesday, 3 October 2000 Author: Alex Young
Published to: enhance_articles_multimedia/Audio Articles Page: 1/1 - [Std View]

Making Waves With Linux

An important tool in writing and producing modern music is the ability to record and manipulate sound samples. Many genres (including hip-hop and drum and bass) demonstrate artists' virtuosity with sound sampling. They're creating original music with inherent depth and texture, derived from the methods used to create the music. Since most computers with a soundcard have a line-in, they can be used to record sounds from live sources which can be used within a composition. This article explores currently available sample editing software for Linux.

An important tool in writing and producing modern music is the ability to record and manipulate sound samples. Many genres (including hip-hop and drum and bass) demonstrate artists' virtuosity with sound sampling: creating original music with inherent depth and texture, derived from the methods used to create the music. Since most computers with a soundcard have a line-in, they can be used to record sounds from live sources which can be used within a composition. This article explores currently available sample editing software for Linux.

A sampler consists of many tools to facilitate sound processing and manipulation. The fundamental tools are cut, copy, paste and undo. To create colour and depth with the sounds you record, you need to be able to manipulate the samples with effects and filters, analogous to a graphics package like Photoshop or The Gimp. For example, the source may have high treble which results in hiss. By using filters, you can take away some of the higher frequencies to make the hiss less noticeable. You could also use an envelope to control the amount of filtering on different parts of the recording. You may even want to change the speed of the sample without altering the pitch, or add delay, flange or phaser effects.

The first package I tested was MiXViews, which supports raw, snd/au, hybrid, BSD/IRCAM, AIFF-C and wav formats. Although this package is very ancient-looking, the interface is user-friendly and responsive. I opened a wav file and proceeded to add delay, low-pass filters, reverse and cut and paste to my heart's content. The hotkeys are easy to pick up, making editing quick and painless after a little practice.

The paradigm behind MXV is the MVC (Model-View-Controller) paradigm. MVC represents every chunk of data as an object called a model, and the user interacts with this through an object called a view. The controller is an object which coordinates the interaction between the user and the model and its views. The documentation goes into this idea in more detail, highlighting the 'academic' orientation of the application.

Although MXV is a very capable package, it did seem a little unstable. According to the manual, some window managers have problems with it, and I found closing a window caused it to segfault when using sawmill. However, it is a powerful package.

The next program I tried was Sweep, which is released under the GPL. Sweep supports wav, .aiff and .au, and has multiple undo/redo levels and filters. Sweep allows you to play back the samples with the keyboard, playing them at different pitches. In fact, its interface is very easy to use and is reminiscent of The Gimp. Fortunately, I didn't get lost in drop down menus. All the basic features are there at the moment: you can undo, reverse, normalize, cut and paste, and you can edit many samples at once (each one occupying a window of its own).

Although Sweep is very simplistic at present, it does show promise: the last news entry stated:

"I've been working on a plugin infrastructure recently. The aim is to make plug-ins as simple to write as possible." [August 22]

DAP (The Digital Audio Processor for Unix) is a GPL sound file editor which uses the xforms library. It supports AIFF, raw and wav, in mono or stereo. The rendering of the audio data is probably the fastest out of all of the applications here. I found the interface fast and responsive overall. It also supports looping, recording and offers many effects. The effects are excellent quality: DAP features a full DSP engine, including flanger, phaser, distortion and multitap delay. The package even offers resampling and macros.

After recording a few sounds, manipulating them with the editing tools and adding effects using the DSP engine, I had no problems with DAP's stability or integrity. I highly recommend this program; it seems to be one of the most fully featured sample editors available for Linux at present.

GLAME (GNU/Linux Audio Mechanics), released under the GPL, is a rapidly growing project which promises to provide a 'powerful, fast, stable and easily extensible sound editor for Linux and compatible systems.' The program offers either a drag-and-drop interface, or a command line interface (cglame) which is a scripting engine that presents you with a "guile>" prompt when launched. Guile is an interpreter for scheme, so I found using cglame quite easy (and fun) since I know lisp.

To manipulate sounds using GLAME, you must create an audio network. This consists of nodes which process or generate sound in some way, and then the audio-out. An interesting plugin is pipe-in, because it allows the manipulation of sound from external sources.

I enjoyed using the 'audio network' approach to sound editing, and after getting a little stumped with silence and crashes, I turned to cglame. The scripting interface provides a powerful interface to the package. This does cause the learning curve to be rather steep, especially for people who don't know scheme. Since the nature of scheme is quite different from C or perl, many people may shy away from cglame.

The next package I came across was SoundStudio - a sound editing tool written in Tcl/Tk. Studio was developed as two students' final year projects at Leeds University, and therefore has excellent documentation detailing the design, which is an excellent resource for developers. When I launched the package, I expected it to be slow due to it being Tcl/Tk, but I was surprised to find it very fast on my machine (an AMD K6-2 300). I proceeded to record sounds from my TV card, add effects, cut and paste, reverse sections, until I ended up with a surreal-sounding mass of audio goo! I highly recommend this program for general sound editing; it is stable and contains enough features to satisfy most people's needs.

The final program I tested was TAON (The Art Of Noise). It is not open source, but is free (beer) at the moment. The binary ran okay on my system and seemed to be stable. I loaded a 12 second sample and added great effects. Overall, the package is solid and offers good basic sample editing.

Although Linux sample editing is relatively simplistic at present, it does show promise. With the diversity of approaches (GLAME, for example), and the current stable and competent applications (SoundStudio and DAP), the future looks promising. If you need a program that is reliable and fully featured right now, don't hesitate to try DAP.

In addition to the software here, you may like to try these programs too:

  • xwave
  • sfe This package can edit files of any length, but does not currently offer any effects.

  • electric ears
  • ksoundsys
  • ecawave
  • wavesurfer This program offers interesting views of audio files and can be used for editing, too.