oreilly.comSafari Books Online.Conferences.


Rockin' in the Free Software World
Pages: 1, 2, 3, 4, 5

Other interesting software for guitarists

GNU Solfege

Absolute pitch recognition seems to be a born talent, but a musician can cultivate a highly refined sense of relative pitch. Traditional basic musicianship includes ear-training (the ability to recognize pitches and intervals) and music dictation (the ability to notate what you hear), but the acquisition and refinement of those skills is not easily accomplished by the lone Linux strummer at his terminal.

Tom Cato Amundsen's GNU Solfege is the partner you need for practicing interval recognition, singing requested intervals, memorizing rhythmic patterns, identifying scales, and more. It even includes a neat exercise for training your ear to recognize and evaluate 12-tone rows.

GNU Solfege is currently at release version 1.1.3. It is mature software with a well-designed interface (see Figure 20) to facilitate what is sometimes a rather dull and difficult task, but a very necessary task for any musician who wishes to improve his basic musical skills. Consider it an essential part of your toolkit.

Screen shot.
Figure 20. Ear-training With GNU Solfege.


I've already mentioned ecasound in reference to ecamegapedal, but by itself ecasound is a valuable program for guitarists. It's a multitrack recorder, multi-effects processor, and multi-format file player and converter, and its parameters are controllable via internal oscillators or external MIDI controllers. Ecasound can be run from an xterm window or a handy Qt interface in X (see Figure 21) or straight from the Linux console.

Screen shot.
Figure 21. Ecasound With Its Qt Interface.

Snd, GDAM, and AlsaPlayer

When I was learning how to play guitar, I listened to recorded music by way of a strange format made from black plastic or vinyl platters called "records" that were played on a turntable (yes, much like the ones used by your favorite DJ). Happily, many turntables included a control for setting different playback speeds. Thus a 33-rpm (revolutions per minute) record played at 16 rpm would play at roughly half-speed and an octave lower in pitch, making it possible to hear the notes clearly enough to learn and practice the pattern before attempting it at the original tempo and pitch. Unfortunately, although this method worked, the constant replacement of the needle into the record's grooves quickly wore out or damaged the original medium. In other words, I ruined a lot of records.

Lucky you, you don't have to hassle with that sort of scenario. You have the compact disc, and some modern CD players are designed for looping through marked sections of a disc, with separate controls for speed and pitch during playback. With this kind of control, you can slow down a passage without changing its pitch so you can learn the music at its original pitch level but at a more relaxed tempo.

I went looking for something similar in Linux audio software. Alas, I found nothing quite so directly useful as a contemporary CD player, but I did find ways to achieve the same effect. For instance, you can rip a CD track to WAV or MP3 format and work with it in another program. Figure 22 shows the Snd sound file editor with its "expand" control activated and set to 2.00.

Screen shot.
Figure 22. Snd Used As A Looping Player.

When I press the Apply button, the cursor will sweep quickly through the file as Snd performs a granular analysis/resynthesis of the passage. When I next click the Play box the passage will play at half-speed but at its original pitch. If I start Snd with -load examp.scm (a package of functions written in the Guile/Scheme language), I can loop the passage by entering the play-often command in the Listener window. Play-often takes a single parameter that defines the number of times to loop the passage, so a command like this one:

(play-often 5)

will play the file five times through. Believe it or not the procedure is not as cumbersome as it may seem, and users of the emacs editor will find Snd's keybindings familiar and quite fast to utilize.

The GDAM audio processing/DJ environment includes a "respeed" object as well as two different looping mechanisms (see Figure 23). As with Snd, GDAM loads and plays various soundfile formats, including MP3s. Thus you can loop a passage in your favorite MP3 file, use the respeed tool to adjust playback speed without altering the music's pitch, and practice until you've got it right. GDAM is excellent multipurpose Linux audio software -- feature-rich and easy to use, stable and consistently maintained (it's currently at version 0.938). Check it out, I'm sure you'll want to add it to your Linux audio arsenal.

Screen shot.
Figure 23. GDAM In Looping Playback Mode.

By the way, shifting the playback speed without shifting the pitch level usually introduces undesirable audio artifacts, and the required number-crunching often rules out real-time operation. I must point out that the sound quality from Snd's expand control is very good. GDAM's respeed is perhaps not as artifact-free, but it has the great advantage of working in real-time.

Just as I was finishing this article, I received an encouraging word from Andy Lo A Foe, developer of the AlsaPlayer audio media player. Loop play is being developed for AlsaPlayer now, and Andy indicated that it might soon be possible to use his player to loop and time-stretch passages directly from CD. That's just what I'm looking for, so I'll be eagerly awaiting AlsaPlayer's next few releases.

Rhythm Machines: TK-707, Ultramaster RS101, and Rhythm Lab

Drum machines: love 'em or hate 'em, at the very least they are indispensable practice pals when your percussive buddies can't be found (or it's way past midnight). Linux can lay claim to some very nice drum machine emulators, so let's take a look at some of them before we take our leave.

The TK-707 (see Figure 24) by Chris Willing and Pierre Saramito is a great reproduction of the classic Roland TR-707 "rhythm composer." TK-707 works just like its model: Starting the machine sets up a looping pattern of silent beats, you drop in drum sounds on whatever beats whenever you like, and voilá, you have a drum pattern. Patterns are then chained together to create songs, and both patterns and songs can be saved for later recall. Neat and sweet, TK-707 is lightweight and works perfectly. The only problem I have with it is getting away from it.

Screen shot.
Figure 24. TK-707.

The UltraMaster RS101 (Figure 25) is a wonderful rhythm synthesizer/sequencer that provides the guitarist with a bass player, a synthesizer, and a drummer, all in one package. Like TK-707, you set up a looping pattern of beats and drop in events on those beats in real-time. The RS101 is very sophisticated software: The synthesizer is fully programmable and capable of some great sounds, and the drum section is equally interesting. But don't take my word for it, just download it and hear for yourself.

Screen shot.
Figure 25. The UltraMaster RS101.

Like so many useful Linux applications, Aaron Lav's Rhythm Lab was written to scratch an itch: The author needed software that would help him visualize and hear complex rhythms called polyrhythms. Polyrhythm is commonly encountered in modern music scores, and it is a prominent feature of highly rhythmic music such as African and Indian drumming.

Aaron's program enables a musician to set up complicated relationships such as 5 beats in a 4/4 measure (see Figure 26), with complete control over the sounds used, their volume balances, and the overall tempo. Rhythm Lab is a great tool for clarifying the rhythmic relationships in music by composers such as Elliott Carter or Pierre Boulez, and it's a terrific aid in learning how to play those bizarre guitar solos by Frank Zappa.

Screen shot.
Figure 26. Rhythm Lab Set Up For 5 Beats Against 4.

Going out

I hope you've enjoyed this little journey through a relatively unexplored area of Linux audio software development. Perhaps you've found some items you'd like to check out for yourself. If you do try some of this software, be sure to let the authors know what you liked about their programs, and make civil suggestions for improvement where appropriate. Best of all is if you can help with the coding, but there's typically lots of other work to be done in open-source and free software projects. In some respects, programming isn't much different from playing the guitar: The more practice, the more skill, so plug in, tune up, grab some tab, and rock on !

Acknowledgments and References

The author would like to thank Joachim Miltz, Dan Polansky, and Kai Vehmanen for their assistance during the preparation of this article. I am of course responsible for any remaining errors.

Interested readers should see the Linux Sound & Music Applications pages for a complete listing of guitar software, effects processors, notation editors, and other Linux audio and MIDI software.

Dave Phillips maintains the Linux Music & Sound Applications Web site and has been a performing musician for more than 30 years.

Return to the Linux DevCenter.

Linux Online Certification

Linux/Unix System Administration Certificate Series
Linux/Unix System Administration Certificate Series — This course series targets both beginning and intermediate Linux/Unix users who want to acquire advanced system administration skills, and to back those skills up with a Certificate from the University of Illinois Office of Continuing Education.

Enroll today!

Linux Resources
  • Linux Online
  • The Linux FAQ
  • Linux Kernel Archives
  • Kernel Traffic

  • Sponsored by: