Quote:
|
Originally Posted by doclivingston
It's quite possibly a ID3 version problem: GStreamer-based applications write tags in ID3 version 2.4 format, and many other application can't read 2.4, only 2.3.
|
I think that's the key. You were spot on on your observation. Just to complement the information, an extract of the id3v2mux documentation
Quote:
id3v2mux — Adds an ID3v2 header to the beginning of MP3 files using taglib
This element adds ID3v2 tags to the beginning of a stream using the taglib library. More precisely, the tags written are ID3 version 2.4.0 tags (which means in practice that some hardware players or outdated programs might not be able to read them properly).
|
To recap, after some investigation:
1.
SoundJuicer, when used with the following gstreamer pipeline
Code:
audio/x-raw-int,rate=44100,channels=2 ! lame name=enc bitrate=128 ! id3v2mux
is encoding a song with
lame + the
id3v2mux gstreamer plugin through
gstreamer. The effect is that the song is correctly encoded and an
ID3 v2.4 tag is added.
The
id3v2mux plugin uses the
taglib library for actually writing the tag.
2. The
ID3 v2.4 tag is relatively new and just a few players can display it. Among other things, an ID3 v2.4 tag supports Unicode/UTF-8, something that previous versions did not could not handle. Since the
taglib library supports ID3 v2.4, players that make use of this library (
juk,
amarok,
streamtuner, amongst others) for displaying tag information are the only ones which will actually display the tag. Players that make use of the
libid3tag (e.g.
Rhythmbox) can also manipulate ID3 v2.4 tags.
3. For those of you who want to keep using SoundJuicer as a ripping tool you can either use players which support ID3v2.4 tags (
juk,
amarok,
Rhythmbox,
Listen,
muine,
banshee, etc.) or add ID3v1 tags to your songs by copying the ID3v2.4 information.
Note: AFAIK there are 3 main projects (libraries) for reading/writing ID3 tags. Namely:
id3lib
http://id3lib.sourceforge.net/
Quote:
|
id3lib is an open-source, cross-platform software development library for reading, writing, and manipulating ID3v1 and ID3v2tags. It is an on-going project whose primary goals are full compliance with the ID3v2 standard, portability across several platforms, and providing a powerful and feature-rich API with a highly stable and efficient implementation.
|
The version available from the Ubuntu repos, 3.8.3, supports up to ID3v2.3 and hence doesn't write UTF-8.
EasyTag uses this library for tag manipulation, and hence it cannot display/write ID3v2.4 tags -but it can handle ID3 up to version 2.3. Other projects using this library are:
grip,
beep-media-player.
libid3tag
http://sourceforge.net/project/showf...group_id=12349
http://www.underbit.com/products/mad/
Quote:
ID3 tag reading library from the MAD project.
ID3 tag manipulation library with full support for reading ID3v1, ID3v1.1, ID3v2.2, ID3v2.3, and ID3v2.4 tags, as well as support for writing ID3v1, ID3v1.1, and ID3v2.4 tags.
|
Projects using this library are
muine and
Rhythmbox, which will therefore display ID3v2.4 tags correctly.
TagLib
http://developer.kde.org/~wheeler/taglib.html
Quote:
|
TagLib is a library for reading and editing the meta-data of several popular audio formats. Currently it supports both ID3v1 and ID3v2 for MP3 files, Ogg Vorbis comments and ID3 tags and Vorbis comments in FLAC files.
|
TagLib supports ID3 up to v2.4. Projects making use of this library are:
juk,
amarok,
streamtuner, the
id3v2mux gstreamer plugin.
I hope this helps clarifying things a bit. If I've reported anything incorrectly, please let me know and I'll update the post accordingly.
Cheers.