HDRs and DAWs For Linux: The New Breed
The hard-disk recorder (HDR) is the central component of the modern digital audio studio. The most basic feature of a high-quality HDR is the capability to record and play multitrack/multichannel digital audio at various sampling rates. However, with the addition of software amenities such as non-linear and non-contiguous editing operations, support for a variety of soundfile formats, and audio digital signal processing via plugins or built-in modules the HDR is no longer simply a more or less sophisticated record/playback device. At this point it has become a digital audio workstation (DAW).
For most Linux-based musicians the hard-disk recorder of choice is Ardour. It's an obvious choice, and totally justified. Ardour is one of the finest works of libre software, representing the combined vision and talents of an exceptionally well-managed team of developers, and their efforts have given Linux (and now OSX) users an incredible gift: a free and open-source digital audio workstation aimed at and beyond the standards set by industry mainstays such as Cubase and ProTools.
I've purposely emphasized the distinction between a hard-disk recorder and a digital audio workstation. Of the programs I'll be profiling in my next entries, some are more the one thing than the other, and none have achieved the degree of integration and sophistication seen in Ardour (none of them claim to be going toe to toe with Ardour either). Version numbers may mean very little, and most of the programs reviewed here are basically usable and have some remarkable features or characteristics. Nevertheless, I must emphasize that these projects are in various stages of development and stability. But then, aren't we all ?
The caveats: These profiles are mini-reviews, they do not provide in-depth tutorials or build instructions. Most packages include some documentation or pointers to more information, and all supply complete instructions for building and installing the software. I'll follow a simple course through each program, running some basic recording and playback routines, and then checking out other interesting features. Given the early release versions for most of these programs I'll refrain from comparative evaluations. However, I may find it difficult to curb my enthusiasm if I find something I think is just too cool to leave without mention.
Figure 1: Traverso
Traverso began development as a fork from the ProTux project (reviewed later in this series). Remon Sijrier is the
current chief designer and maintainer, but in the AUTHORS file he gives full credit to the previous work done by ProTux developers.
As you can see Figure 1 Traverso's track display includes no menus or button banks. Traverso's user interface takes a keyboard-centric approach to operations, i.e. the mouse is used primarily as a pointing device while the keyboard issues the desired commands to the pointer location. At first use this approach seemed non-intuitive, but after testing some examples I was convinced that it was effective and productive. And I must note that the one button that is available in the track display (the Help button) does indeed provide a very handy help file, making the learning process much smoother.
My test recordings were successful and uncomplicated. I used QJackCtl to make my connections, and I memorized the necessary keyboard controls for Traverso after a few trial operations. Traverso's interface isn't so hard to master, but I found that reflexive behavior sometimes got in my way whenever I expected the GUI to behave in a familiar manner.
Traverso supports the emerging LV2 audio plugin specification. LV2 will eventually supplant the popular LADSPA plugin interface for Linux soundapps, but at this time the specification is in early development. I successfully built and installed libslv2 and Steve Harris'
s collection of "translated" LADSPA plugins. I was happy to see the plugins listed in Traverso's plugin manager, but if I tried to load one Traverso crashed. At this time it's hard to say where's the culprit. The LV2 specification has not stabilized completely, the SWH plugins may be out of sync with libslv2, Traverso's code may nee
d revised, I might have some perceptual block... Nevertheless, I'm encouraged to see LV2 support in Traverso and I look forward to testing it.
[Update:] Remon answered my email regarding the state of LV2 support in Traverso. He kindly emphasized that it is indeed preliminary, that the problems with the SWH plugins is known, and that resolution of LV2 support is a high priority for Traverso development.
Traverso's Web logo calls the program a multitrack audio recorder. At its current stage it is more hard-disk recorder than DAW, but it is already a fine hard-disk recorder. The public version is 0.30.1, 0.40.0 is on the way, and I'll be watching how Traverso develops.
Figure 2: Qtractor
Long ago in Ye Olden Tymes of computer music software there were clear distinctions between program types. A notation editor scored and printed music notation, a MIDI sequencer recorded and edited MIDI events, a hard-disk recorder recorded and played digital audio, and so on. Then programmers caught the idea of combining these applications into bigger, more comprehensive programs. MIDI sequencers incorporated notation editors and synthesizer patch editor/librarians, while notation programs supported MIDI file import/export and essentially became graphic interfaces for MIDI sequencing. OpCode System's Studio Vision was the first program to synchronize a MIDI sequence with digital audio, representing each format in a visual display that allowed tight coordination between the sound and MIDI events. Alas, OpCode and Studio Vision are long deceased, but the audio/MIDI sequencer has become the beating heart of contemporary recording packages. Linux musicians are familiar with audio/MIDI sequencing via Rosegarden and MusE, and we may soon see MIDI support in Ardour.
Rui Nuno Capela's Qtractor is aimed squarely at the audio/MIDI sequencer target. Its Qt3 GUI presents a track display of audio waveforms and MIDI events (Figure 2), a set of master transport controls, a messaging console, and a mixer. All menus, popups, and controls appear to work correctly in my build (CVS 26 August 2006). By the way, if Qtractor's graphic design looks familiar that may be because you've already seen Rui's popular QJackCtl (see above) and Qsynth GUIs for JACK and Fluidsynth.
LADSPA plugins can be added to an audio track via the track mixer strip. A right-click in the blank area pops up the plugin menu, Add Plugin pops up the plugin manager window. Adding and deleting plugins worked fine, as did realtime parameter control. By the way, make sure the LADSPA_PATH variable is set correctly, else the plugin manager will be empty.
Documentation is non-existent, but at its present stage I could only test the program's basic features anyway. I can report that record and playback functions worked and that MIDI and audio files loaded without complaint. I've notified Rui of the few bumps I encountered during my brief test, and I'm sure he'll smooth them out quickly as he finds the time. Meanwhile, you can join the development team or just contribute an occasional patch. See the Qtractor Web site for the details.
Figure 3: XO Wave
Although XO Wave's version release number is only 0.18 it is already an impressive program. Its Web site promotes XO Wave for CD mastering and burning, recording and editing digital audio, podcast preparation, and audio/video synchronization. I was unable to test all these features, but I did get far enough into the program to know that it deserves more than a mini-review.
XO Wave's opening panel lets you choose between a CD mastering session or an audio record/edit session (new or previous). The CD mastering option takes you through a series of helpful wizard panels to select, prepare, and burn tracks to CD. Selecting a new audio session prompts you for some general session info before delivering you to XO Wave's main display (Figure 3).
XO Wave is a Java-based application. I've had JDK 1.5 on my systems for a while, and that version is fine for XO Wave. However, I decided to try the Java JDK 1.6, aka Mustang. XO Wave worked with the new version without complaint, and seemed much happier with JACK than was 1.5. XO Wave supports OSS, ALSA, and JACK audio backends via PortAudio.
Basic recording and playback operated without problems. XO Wave has fat Edit and View menus and some cool controls, but its post-production capabilities are limited to a few internal processors. XO Wave's native effects are fine, but the lack of LADSPA support is telling. OSX users can purchase a commercial version of the program
that supports Apple's AudioUnits plugins. LADSPA support would certainly be a welcome improvement in the free version for Linux.
The authors of XO Wave clearly want to help you learn how to use their software. Tool-tip help is everywhere, the status bar reports a brief description of the item at the pointer location, while the Help message window displays a full description. More documentation and tutorials are available at the XO Wave Web site. The on-line material is written for the OSX version of the program, it is limited in scope, but it is well-written and helpful to Linux users. I'd like to see more in-depth tutorial material, and perhaps future releases will expand the available documentation.
I loaded an old MOV video file into a track and was able to play it along with an audio file, but I didn't try to sync sound to video. I also tried a CD mastering session. Everything worked well until I reached Select CD Burner, at which point the dialog informed me that no burner was found, yet it also displayed my Sony CD-RW drive as a greyed-out selection in the dialog panel. I've notified the XO Wave support team, hopefully they can help me sort out the trouble.
I like XO Wave. Its user interface is easily mastered, its documentation is most welcome, and its basic features work well. Perhaps a future release will include support for native Linux plugins, but meanwhile XO Wave is certainly usable and productive software.
Next up: Jokosher, ProTux, and Wired. Until then, stay tuned.
Similis sum folio de quo ludunt venti.
Special Reports: DevOps
Have projects in development that need help? Have a great development operation in place that can ALWAYS be better? Regardless of where you are in your DevOps process, Linux Journal can help!
With deep focus on Collaborative Development, Continuous Testing and Release & Deployment, we offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, advice & help from the experts, plus a host of other books, videos, podcasts and more. All free with a quick, one-time registration. Start browsing now...
- Hash Tables—Theory and Practice
- The Ubuntu Conspiracy
- A First Look at IBM's New Linux Servers
- Making a PHP Site on Linux Work with a Microsoft SQL Server Database
- Vigilante Malware
- Disney's Linux Light Bulbs (Not a "Luxo Jr." Reboot)
- Vagrant Simplified
- System Status as SMS Text Messages
- Science on Android
- Bluetooth Hacks