oreilly.comSafari Books Online.Conferences.


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


Tablature can be written in any ASCII text editor, but Jason Sonnenschein designed his eTktab to truly help the user create original tab files. eTktab produces 4-string bass and 6-string guitar tablatures, edits multiple tabs simultaneously, prepares tab in rhythm or lead guitar mode, and can add precise indicators for guitar-specific playing techniques such as string bends or hammer-ons and pull-offs (legato techniques, for the literati).

The program is essentially an editor optimized for handling tablature files in a native format within a Tk interface (see Figure 6). As mentioned, you could just edit tab files directly in any text editor, but eTktab's tools make the process considerably easier and faster. Figure 7 shows the program working in Lead mode (edits proceed horizontally, no chords can be entered in this mode).

Screen shot.
Figure 6. eTktab At Work.

Screen shot.
Figure 7. eTktab In Lead Mode.

Right-clicking in the tablature display selects an editing area or specific string and fret to be edited. The fret number is entered in the selected space via the keyboard. Cut/copy/paste operations are available via mouse or keyboard control. In fact, eTktab's key bindings are superb, and they are all detailed in the file that appears when you click the Help key. One potentially confusing feature is the Base Fret designator. Fret numbers are entered by typing from the QWERTY keyboard according to these correspondences:

1 corresponds to fret 0 on the 6th string (low E)
Q corresponds to fret 1 on the 6th string (low E)
A corresponds to fret 2 on the 6th string (low E)
Z corresponds to fret 3 on the 6th string (low E)

2 corresponds to fret 0 on the 5th string (low A)
W corresponds to fret 1 on the 5th string (low A)
S corresponds to fret 2 on the 5th string (low A)
X corresponds to fret 3 on the 5th string (low A)

Changing the base fret starts the series at a new fret number. For instance, with the base fret set at "5" our example is now ordered in this manner:

1 corresponds to fret 5 on the 6th string (low E)
Q corresponds to fret 6 on the 6th string (low E)
A corresponds to fret 7 on the 6th string (low E)
Z corresponds to fret 8 on the 6th string (low E)

2 corresponds to fret 5 on the 5th string (low A)
W corresponds to fret 6 on the 5th string (low A)
S corresponds to fret 7 on the 5th string (low A)
X corresponds to fret 8 on the 5th string (low A)

One other note to consider: eTktab saves files in its own et6 and et4 file formats (for 6-string guitar and bass, respectively), but selecting File/Export lets you save the file as a standard tab file. Otherwise the program is intuitive, great fun, and very powerful -- definitely a recommended utility for the Linux guitarist's software toolkit.

Dr. Fermi's Tabulator

Stéfan Fermigier wrote his Dr. Fermi Tabulator to perform an interesting task: It converts a tablature file to a Type 0 standard MIDI file. The process requires some editing of your tabs, but the results are worth the effort. As an example, I chose to edit our second example of tablature made with eTktab. Figure 8 illustrates the changes made to our original file in preparation for conversion by the tabulator.

Screen shot.
Figure 8. Tab Prepared For Dr Fermi's Tabulator.

Some of the commands are obvious, but the lines in this format:

tab E 1 40 64

define the individual strings by note name (E), MIDI channel (1), MIDI key velocity (40), and MIDI note number (64). This style of rhythmic notation

  e  s  s  e   

defines a sequence of one eighth note (e), two sixteenth notes (s s), followed by another eighth note.

Once the necessary edits have been made, we convert the eTktab example with this command sequence:

[tabul-1.0]$ ./tabul ../eTktab-2.0/ my_first_fermi.mid

Figure 9 shows the MusE sequencer running the MIDI file created by this conversion.

Screen shot.
Figure 9. MusE Plays A Dr Fermi Conversion.

The tabulator will warn you if errors are encountered when converting your tab file. Fortunately the documentation clarifies the file format and fully explains how to use the program, so check out the tabulator: It might be just what the doctor ordered.


Mikhail Yakshin has developed his KGuitar as an efficient environment for guitarists to perform common tasks such as writing and reading tablature, finding chord fingerings, converting standard notation to tab, and transposing a song or parts of a song. KGuitar also imports MIDI files for conversion to tablature, and it will export tablature in standard MIDI file format. The program has a number of other amenities that can be applied to other instruments, such as drum tracks and a lyrics viewer.

KGuitar requires KDE2, but can be run outside of the desktop. Figure 10 shows KGuitar in typical operation: note the use of traditional rhythmic notation as well as other elements taken from standard notation (time signature, double-bar at start). Figure 11 illustrates the Chord Constructor, one of KGuitar's coolest features: You can query the constructor for the fingering of almost any chord type and it will respond with a variety of possible forms.

Screen shot.
Figure 10. KGuitar.

Screen shot.
Figure 11. KGuitar's Chord Constructor.

Files created in KGuitar are saved in the program's native kg format; however, you can also save your creations in ASCII tab, GuitarPro (gtp), MusiXTeX (tex), and standard MIDI file (mid) formats. In fact, KGuitar is loaded with nice features, but I could only scratch its surface for this article. It's worth upgrading an entire KDE installation, and I'm looking forward to exploring it in depth.

Pages: 1, 2, 3, 4, 5

Next Pagearrow

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: