MIDI tag support?

Dainius (GreatEmerald) pastas4 at gmail.com
Mon May 20 09:59:31 UTC 2013


Would it be possible to add support for MIDI tags to TagLib? MIDI tags
(officially called meta-events) are similar in nature to those of the
tracker music files (IT, S3M, etc.).

The format of the tags is pretty straight-forward, as described in the
official documentation of the file format (which is also called SMF,
or Standard MIDI File):
http://www.fileformat.info/format/midi/corion.htm
It includes tags such as Sequence Number, Text Event, Copyright
Notice, Sequence/Track Name, Instrument Name, Lyric, Marker, Cue
Point, End of Track, Set Tempo, SMPTE Offset, Time Signature, Key
Signature and Sequencer-Specific Meta-Event. Some of these meta-events
(Text Event as comment, Track Name as the name of the music piece) map
very well to their id3 counterparts, while others are a bit more
tricky due to the temporal nature of the meta-events, as opposed to
standard tags.

There have been some extra extensions to the MIDI format, some of
which added a few additional meta-tags.
http://www.midi.org/techspecs/rp19.php – adds Device Name and Program
Name meta-events.
http://www.midi.org/techspecs/rp26.php – modifies the Lyric meta-event
into a Lyric/Display meta-event, so that it supports different
character sets, and contains several tags in itself: Title, Composer,
Lyrics and Artist. These map well to standard tags.

And then there is the XMF file format: http://www.midi.org/techspecs/xmf/xmf.php
XMF is a container for MIDI files with support for additional
metadata, which includes support for standard id3v2.4 tags.

Adding support for MIDI in TagLib would be overall very beneficial,
since MIDI files are one of the few formats that are still not read by
the library correctly.


More information about the taglib-devel mailing list