Instrument tuners come in two flavors: fixed-pitch tuners made for a specific instrument, such as a guitar or bass; and chromatic tuners which can tune any instrument. A chromatic tuner can come in handy, even for a guitarist, but we'll stay focused here on some of the better Linux guitar tuners.
Harold Baur's gtune is a console-mode guitar tuner that's lightweight and easy to operate.
./gtune in the program's home directory, then play your input notes on your guitar, either directly through the line-in on your soundcard (for electric guitar) or through the microphone (for acoustic guitar). Gtune analyzes the input, reports on its true pitch, and indicates whether you're sharp or flat. When you've adjusted the pitch accurately, the display will appear as in Figure 12. And that's it for gtune, short and sweet.
Florian Berger originally created GuiTune for the KDE environment, but it now has the distinction of being available in versions for KDE, for Qt without KDE, and for GTK. Program operation is identical for all versions: set your input channel (line or microphone) on your mixer and play your instrument through that channel.
You may want to change the sample rate and the threshold level for optimal results; experimentation will find your best settings. GuiTune also provides two intonation sets (equal-temperament in frequencies and just-intoned by ratios), three base scale types, and toggles for representing accidentals as sharps or flats (see Figures 13 and 14).
If all you need is a simple program that plays a requested pitch through your soundcard or through the PC speaker, xtune is the program you're looking for. Xtune is a
bash shell script that calls the
xmessage utility to create an interactive window for tuning the individual strings of a guitar (see Figures 15 and 16).
A caveat: The ReadMe file states clearly that the subsidiary applications (the
xmessage) must be in your
PATH statement, so you will probably need add the following lines to your
bash startup script (usually
.bash_profile in your
export PATH=$PATH:$HOME/xtune export PATH=$PATH:$HOME/xtune/wave-0.1 export PATH=$PATH:$HOME/xtune/xmessage
Start the program from its home directory by running
../xtune. Right-click on the button corresponding to the string you want to tune and the program will play a tuned WAV file in response. You can edit values in the shell script to change the waveform type, the sample bit resolution, and the window colors. The program works, it's easy to use, and that's about all there is to xtune.
This section was definitely the most fun to research. Guitarists love effects processors: The mandatory arsenal normally includes distortion units, echo and reverb pedals, chorus and flanger boxes, equalizers, and so on. I'm happy to say that Linux guitarists will find a variety of software signal processors that include all the effects mentioned, plus a few more rather unusual items. We'll start our tour with a look at the appropriately-named StompBoxes2.
Effects processing pedals are often called "stompboxes" (referring to the player's usual mode of operating the device). These pedals are typically devoted to a single processing function, and fascinating effects can be created by freely re-ordering the boxes in the processing chain. Hector Urtubia's StompBoxes2 is a virtual set of pedals that can be chained in arbitrary order, easily simulating the common arrangements used by guitarists.
Currently available modules (virtual pedals) include distortion, volume, delay, flanger, chorus, equalizer, noise gate, mono-to-stereo and stereo-to-mono mixers, and even a unique "reverse" effect. Operation is as simple as the original design: connect outputs to inputs (with any ordering of effects modules), right-click on a module to adjust its parameters, then click the On button to start the chain (see Figure 17). Check your audio mixer to be sure you've selected the appropriate input channel, and start playing. StompBoxes2 has some good DSP algorithms, but the proof is in the hearing, so you should download StompBoxes2 and check it out for yourself.
StompBoxes2 is great fun, but I found myself wishing that the effects parameters could be controlled in real-time without having to stop playing my guitar, perhaps via a MIDI fader box. However, that is standard operating procedure for most real pedals anyway -- the player sets the effect parameters on the device and does not alter them during play. StompBoxes2 is a highly enjoyable software substitute for a floor covered with real pedals and cables. In fact, it's realistic enough that I caught myself stomping on the carpet more than a few times while testing StompBoxes2.
Maarten de Boer's TAPIIR is a software multitap delay line. A multitap delay is essentially a delay line (echo unit) with a series of sampling points (taps) in the line's output. The taps feed back through the line output, creating very rich and complex reverberation and echo effects. TAPIIR is a particularly good delay unit with six delay lines and stereo input/output.
The sound quality is very clean, and I recommend running Maarten's two example settings files for a good idea of just what TAPIIR can do. The program's pleasant FLTK interface is easy to navigate and invites experimentation (see Figure 18), and you can save and load your own custom settings files. There's not much more to say here about TAPIIR except that it is an excellent example of high-grade Linux audio software that you simply must have in your Linux audio toolbox.
I'm starting to wonder if it's possible to write an article on Linux audio software without mentioning Kai Vehmanen's ecasound and its family of support and extension applications. Ecamegapedal is Kai's contribution to the substance of this article: It's a GUI for applying ecasound's chain operators, effects presets, or LADSPA plug-ins to an audio input file or real-time stream, making it a mega-pedal indeed.
Operation is again a simple procedure: Open the program, select an effect from one of the three tabbed panels, and click on the Start button. Real-time control includes switching between effects and dynamically altering parameters (alas, not yet via MIDI). Ecamegapedal reads audio data from OSS, ALSA, and aRts devices, as well as all audio file formats supported by
libecasound (MOD, WAV, MP3, Vorbis, etc.).
Figure 19 shows off ecamegapedal version 0.1dev6 in typical use, reading the input from my CD player and applying the Freeverb effect to the audio stream. Use of ecamegapedal is so straightforward that there's little more to say about it. The author has stated that the software began as more of a proof of concept than a real project, but it is already stable and usable software. Of course I have a wish-list: I'd like to see it incorporate more of the capabilities of
libecasound, and it would be very cool to create chains with ecamegapedal itself. Fortunately the author maintains a fast development pace, which is good because I'm already looking forward to the next release.