Home page


Email me

Symo 1.1

SYMO 1.1 is a program which lets you edit the ID3 tags inside MP3 audio files: the tags which identify the artist, title, year of release and so on. It's a simple but powerful combination of two standard free components: Qt's QTable widget, and id3lib.


Source distributions of Symo are NOT COPYRIGHTED and are NOT distributed under the GNU General Public Licence. For full information read the included file COPYING, or see All Rites Reserved on this Web site.
Binary distributions of Symo, because they link against Qt, ARE distributed under the GNU General Public Licence. (Statically linked binaries also include id3lib). For full information read the included file COPYING.GPL.
(The idea is that anyone who reuses the Symo sources, in a program not linked against Qt or any other GPL library, need not release their program under the GPL. No damage to the GPL status of Qt or LGPL status of id3lib is intended, or indeed possible.)
Downloading Symo 1.1: symo-1.1.tar.gz (29K).


  • Qt 2.2.0 or later (tested with 2.3.0 on XFree86 4.0.2)
  • id3lib (tested with 3.7.12, do NOT use 3.8beta1)
  • A C++ compiler (tested with gcc 2.95.3)
  • GNU make (tested with 3.79.1)
Symo was written under i386 Linux, but should run under any other system to which the above components have been ported. If you have a Qt-for-Windows licence, you might like to try compiling it for Win32 -- if you do, and if you'd like your binary to be redistributed from this page, email me.


  • Supports ID3v1 and v2 tags (i.e. tags >30 characters long).
  • You can tag several files at once by simply drag-selecting then typing.
  • You can rename files, too.
  • "Auto-fixup" (control-F) automatically corrects capitalisation of the title, artist, and source tags, and recalculates the filename based on them and on the track number.
  • Marks "suspicious" tags in red; a suspicious tag is one whose capitalisation seems wrong, or which isn't contained in the filename, or which contains unmatched quotes or brackets, or is exactly 30 characters long (such tags are suspicious because they may have been truncated by a program with ID3v1 but not v2 support).
  • No changes to anything are made until you click "OK" (tagging lots of big files can take a long time).

Compiling and installing

In the symo-x.y directory, issue "make symo". Then copy the "symo" program which has been produced, to somewhere in your path (such as /usr/local/bin, or ~/bin). No other installation is needed.
The Makefile does its best to determine where your X11, Qt and moc installations are; if it gets it wrong, examine the comments in the Makefile to see how to give it a clue.
Other targets in the Makefile are "symod", a binary built with debugging, and "symos" and "symods", statically-linked versions of "symo" and "symod". As with any program which uses Qt, statically-linked binaries are huge.


symo <file or directory> [<file or directory>...]

You can use symo either on individual files, or on directories. Each directory you name is scanned recursively, and any MP3 files anywhere in it are scanned.


Note multiple selection, for editing several tracks at once.


Symo 1.0 is a stop-gap release and many bugs remain:
  • Setting the genre tag isn't implemented at all, though the "Genre" column accurately shows what's currently in the file.
  • Other tags (apart from Artist, Album (source), Track number, Title and Year) aren't even shown.
  • Files which aren't even MP3s are still shown in the window.
(K) All Rites Reversed -- Copy What You Like