An Introduction to Hydrogen
I'm going to interrupt my regularly scheduled broadcast to bring you a special program. For those of you expecting Part 2 of my MIDI article, have no fear, I'll present it next month, so please read on.
Recently I've been having so much fun with a particular Linux audio application that I have to share it with readers. The application is called Hydrogen, and for those of you unfamiliar with it, Hydrogen is an advanced drum machine/rhythm programmer with a remarkable set of features. Here's what the features list on the Hydrogen Web site has to say about the program's capabilities:
Very user-friendly, modular, fast and intuitive graphical interface based on QT 3
Sample-based stereo audio engine, with import of sound samples in WAV, AU and AIFF formats
Support of samples in compressed FLAC file format
Pattern-based sequencer, with unlimited number of patterns and ability to chain patterns into a song
Up to 64 ticks per pattern with individual level per event and variable pattern length
32 instrument tracks with volume, mute, solo and pan capabilities
Multi-layer support for instruments (up to 16 samples for each instrument)
Ability to import/export song files
Unique human velocity, human time and swing functions
Multiple patterns playing at once
OSS and JACK audio drivers, with assignable JACK ports
ALSA MIDI input with assignable MIDI-in channel (1..16, all)
Import/export of drumkits
Export song to WAV file
Export song to MIDI file
Impressive, but does it really live up to all that? I'm pleased to tell you that Hydrogen indeed does offer all that and more. Hydrogen is one of the finest examples of advanced Linux audio software. Its progress has been made possible through a successful collective development process with input from an active community of interested users and developers. I've watched Hydrogen grow from a relatively simple rhythm programmer to become the virtual drum machine of choice for Linux musicians. Now, I'm going to take this opportunity to introduce you to the latest and greatest cutting-edge Hydrogen, hot from its CVS sources and filled with enough musical features to keep you busy for a long while.
The version of Hydrogen profiled here is version 0.9.1-cvs, built from the CVS source code made available on the Hydrogen SourceForge site on October 7. CVS (control versioning system) is a programmer's resource for managing developmental or experimental source code that may or may not resemble the code for the official stable release of a program. In practice, CVS sources often are a preview of features to come, but be advised that versions of a program built from CVS sources may not resemble the final release version.
Personally speaking, I like compiling programs from CVS sources. I enjoy working with and testing new features under development, although I must say there is the prospect of features not working, application segfaults and even complete system crashes. Although that rarely happens with Hydrogen, it still is a possibility. If stability is what you need, you should use the official release available from Hydrogen's home Web site.
Preset-only rhythm machines first appeared in 1959. Twenty years later the Roland Corporation produced their CR-78, the first programmable drum machine. By the end of the 1980s, the MIDI-capable hardware drum machine was a standard part of recording studios everywhere. By the end of the 90s, hardware drum machines were being replaced by software rhythm programmers that offered greater flexibility and possibilities for expansion in ways that could not be matched by their hardware ancestors.
Real or virtual, a typical drum machine's basic design divides the machine's primary functions into two aspects, pattern creation and the song sequence. Pattern creation is facilitated by setting the machine to loop-record. That is, you can build your pattern in real time either by clicking on grid points or by using a MIDI keyboard to enter beats into the editor as it loops. Patterns can be copied and edited to make variations on the source pattern. You then arrange the patterns sequentially in the song editor. Once your song form has been defined, you can save your work as a standard MIDI file for import into a MIDI sequencer. Alternatively, you can designate the drum machine to follow a master clock source and run it in synchronization with external programs. Synchronization with other hardware or software has been another basic design concern for drum machines, even for pre-MIDI machines.
Hydrogen is endowed with all the features and amenities expected in a hardware drum machine. Like its contemporary software counterparts, it's also blessed with the expanded capabilities of the virtual drum machine. Let's take a look at how Hydrogen is put together, and then we'll walk through a simple example of its typical use.
Similis sum folio de quo ludunt venti.