The Linux Soundfile Editor Roundup
Kâre Sjölander and Jonas Beskow have developed WaveSurfer to function best in the context of speech research, a domain covering a variety of audio-related disciplines. WaveSurfer is a perfectly useful general-purpose soundfile editor, but its special strengths reside in its tools for analyzing, editing and visualizing the spoken word.
WaveSurfer is written in the popular Tcl/Tk scripting language and widget toolkit, providing the motivated user complete access to the program's internals. Sound processing in WaveSurfer is handled by the SNACK audio functions library, also written by Kâre Sjölander. SNACK itself may be extended by user-defined plugins written in C/C++.
Figure 11 illustrates a simple use of WaveSurfer in speech analysis and representation. The main panel displays the region highlighted in the complete waveform, and the label display indicates the sound's phonemes. The label track is only one example of WaveSurfer's speech-oriented amenities. Others include spectrographic displays, pitch curve extraction and support for a variety of soundfile and transcription formats.
GLAME's developers have implemented an unusual design philosophy in their editor. GLAME (GNU/Linux Audio MEchanics) supplies the expected palette of tools for audio editing, but it also includes a powerful synthesis and processing environment called the filternetwork. A filternetwork provides a canvas on which icons representing synthesis primitives are patched together to create a processing or synthesis chain. Current primitives include oscillators, envelope generators, filters, I/O modules and LADSPA plugins. Once a synthesis network has been designed, it can be run to produce real-time audio or output to a file for further processing (in GLAME, of course). Right-clicking on the waveform display pops up a menu that includes the Apply Custom item. By selecting this item, you can apply your filternetwork to the active soundfile, suggesting some interesting processing possibilities.
Figure 12 illustrates a simple example. The selection in the waveform display has been processed by a filternetwork composed of a gain control, a LADSPA delay plugin and a flanger. The track modules are included as the default I/O ports, representing the original input and the processed audio output.
Olivier Gäumann's Layer-based Audio Editor (LAoE) offers yet another unique design philosophy. An editing session in LAoE consists of building a stack of soundfiles and then opening the desired editing and processing tools for application upon one or more of the layers (soundfiles) in the stack. At first it felt like a rather strange way to work, but after comprehending the program's organization, I began to enjoy its layout and developed a fast work mode with it.
LAoE receives extra points for originality by providing direct editing in its spectral display. A user-defined brush is used to paint over areas for FFT filtering, and the filter itself can be adjusted for finer resolution. Most of this article's editors offer spectral displays, but only LAoE permits direct spectral editing.
LAoE also is the only Java-based editor reviewed here. I've installed Sun's JDK 1.4 on my 800MHz machine, not exactly a fast machine by today's standards, but LAoE's interface was quick and responsive throughout.
Pascal Haakmat's GNUsound is modest in appearance but rich in content. Once again we have a full complement of the basic editing tools, LADSPA plugin support and some special tools for marking, selecting and viewing soundfiles. GNUsound also adopts the concept of tracks, that is, you can designate a number of files for mixdown in a process similar to the mixing process in a multitrack recorder.
Another neat aspect of GNUsound is its implementation of envelopes for effects processing. One of two user-defined envelopes may be selected as control curves for an associated processing parameter, giving a more dynamic contour to your effects processing.
Although GNUsound is intended for use in the GNOME environment, I had no trouble building it under a Planet CCRMA Red Hat 9.0 system and using it in the BlackBox window manager.
Similis sum folio de quo ludunt venti.
- Promise Theory—What Is It?
- New Products
- Integrating Trac, Jenkins and Cobbler—Customizing Linux Operating Systems for Organizational Needs
- New Products
- RSS Feeds
- Tech Tip: Really Simple HTTP Server with Python
- EdgeRouter Lite
- Non-Linux FOSS: Remember Burning ISOs?
- Raspberry Pi: the Perfect Home Server