An Introduction to Hydrogen

Find out why Dave is so excited about this drum machine/rhythm programmer.

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.

About CVS Sources

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.

The Tao of the Drum Machine

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.

Figure 1. Hydrogen with Default New Song Settings


Similis sum folio de quo ludunt venti.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

does any audio software do this

Anonymous's picture

oh, and this one too. Pleas please if anyone knows of software that will let me do what this guy does on this machine with a similar tactile interface (computer keyboard) please let me know!!!!!

Not just for Linux either!

Anonymous's picture

Thanks to the support for OSS (Open Sound System) as well as ALSA, Hydrogen isn't just for Linux. I run it on a NetBSD machine, and it's an absolutely brilliant program. I do need to upgrade the version that's in NetBSD's package collection, which I've left languishing at version 0.8.x.

I just wish someone had the time and talent to make an ALSA compatability layer for NetBSD so I could run Hydrogen alongside Rosegarden. Then I could finally stop sequencing on my ancient Atari ST and Cubase.


still need real drum machine software

Anonymous's picture

I've tried dozens of apps like this and the just don't work for me artistically. They're just not NATURAL!

For YEARS I've been trying to find a piece of software that mimics an actual Drum Machine. Something that I can use just the (computer) keyboard to hit notes and trigger samples and loops. Still haven't found one. That's what the world really needs! Not another fruity loops or similar app. There are already too many like this.

These are drum machines: (pay close attention to 4:00 it's most important)

Noteedit and Hydrogen

Carl's picture

I've been using a combination of Hydrogen drum tracks saved to wav format and Noteedit tracks saved to wav. Set both to the same tempo and mix them using Audacity! You can balance the tracks by amplifying one of them and then mix them using 'Quickmix' and export as an mp3.

Correction re: GUI

Anonymous's picture

I mistakenly ascribed the GUI widgets designs to developer Willie Sippel. Willie kindly pointed out that the actual design is done by Christian Vorhof. Thanks to Willie for the correction, and many thanks to Christian for his excellent improvements to the Hydrogen GUI.

Best regards,

Dave Phillips

Re: An Introduction to Hydrogen

Anonymous's picture

I wish someone would get a driver for my Yamaha DSP Factory
also know as a dsp 2416 so I could ditch windows for midi also.

Same here. Can it be done?

Anonymous's picture

Same here. Can it be done?

I feel your pain...

Anonymous's picture

However, the only way that driver will ever happen is for owners to persistently (but politely) write to Yamaha and ask for either a driver from Yamaha or for Yamaha to release the needed specifications to the ALSA team. Alas, Yamaha has shown no indication that they'll do such a thing, even though it could result in more sales of their product. This short-sightedness re: Linux is a constant in the pro-audio industry, sad to say.



Author's additions

Anonymous's picture

I would like to emphasize the fact that the CVS version tested in this article may not necessarily reflect the features that will be included in the eventual "finished" public release. CVS versions should be considered as "testing ground" for new ideas and features, there is no guarantee that they will become the mainstream versions.

I also want to mention the outstanding work on Hydrogen's GUI, done by Willie Sippel. Willie's improvements are most likely to be included in the mainstream release. As you can see in the screenshots to this article he's made some very professional-looking improvements to Hydrogen's appearance, and I just thought they deserved special mention. Nice work, Willie !

Best regards,

Dave Phillips

Re: Author's additions

Anonymous's picture

Thanks Dave! But the graphic design was done by Christian Vorhof, a friend of mine. I did some usability/ layout work and implemented small parts of the interface, Christian designs the widgets (he knows next to nothing about music production tools, but he's a very good graphic designer).


Willie Sippel

Re: An Introduction to Hydrogen

Anonymous's picture

Another great article, Dave. I think Hydrogen is a great program, but it does have one flaw - no triplets! Unless I'm missing something, there is no way (or no easy way?) to put triplets and more general tuplets into a 64 box grid.

Re: An Introduction to Hydrogen

Anonymous's picture

I find this forum absolutley amazing.

Steve Z

Author's reply

Anonymous's picture

Triplets (up to 32nd-note triplets) are supported in the Grid Resolution drop-down menu in the Pattern editor, and the resolution can be changed in realtime.