Tags & Embedded Images
This is an attempt to document which tags and embedded image payloads Faircamp reads/writes for different audio file container formats, and which specific tag keys are handled/used at the implementation level. Note that this documentation might not always be 100% complete or accurate, as tags are a bit of a messy subject.
AAC
Embedded cover images: Not supported
Tag mapping:
Not yet determined
AIFF
Embedded cover images: Not supported
Tag mapping:
See ID3 (same as MP3 and WAV)
ALAC
Embedded cover images: Not supported
Tag mapping:
License: cprt (tbd)
Multitrack artist(s): aART
Multitrack title: ©alb
Track artist(s): ©art, ©ART
Track number: trkn
Track title: ©nam
Tag decoding for ALAC uses the mp4parse crate.
Flac
Embedded cover images: Supported
Tag mapping:
See Ogg Vorbis (same as Ogg Vorbis and Opus)
Tag decoding for Flac uses the metaflac crate.
ID3
ID3 metadata is used by AIFF, MP3 and WAV.
Tag mapping:
License: TCR [2.2] / TCOP [2.3, 2.4] (Copyright) (tbd)
Multitrack artist(s): TPE2 (Album artist)
Multitrack title: TALB (Album)
Track artist(s): TPE1 (Artist/s)
Track number: TRCK (Track)
Track title: TIT2 (Title)
Tag decoding for ID3 uses the id3 crate. While that crate supports both ID3v2 and ID3v1, only the former is read by faircamp.
MP3
Embedded cover images: Supported
Tag mapping:
See ID3 (same tags as AIFF and WAV)
When transcoding to MP3, faircamp writes tags as ID3v2.3 rather than the latest ID3v2.4. This is done to achieve greater compatibility with players and operating systems (e.g. Windows and its media player have a long history of not supporting ID3v2.4 tags).
Ogg Vorbis
Embedded cover images: Not supported
Ogg Vorbis metadata is used by Flac, Ogg Vorbis and Opus.
Tag mapping:
License: "copyright" (tbd)
Multitrack artist(s): "albumartist", "album artist"
Multitrack title: "album"
Track artist(s): "artist"
Track number: "tracknumber", track_number"
Track title: "title"
Tag decoding for Ogg Vorbis uses the lewton crate.
Opus
Embedded cover images: Not supported
Tag mapping:
See Ogg Vorbis (same tags as Flac and Ogg Vorbis)
Tag decoding for Opus uses the opus_headers crate.
WAV
Embedded cover images: Not supported
Tag mapping:
See ID3 (same tags as AIFF and MP3)
Known limitiations:
- Album artist tags can not be written to WAV files (at least not by FFmpeg, which is used by faircamp to encode audio files), therefore this tag will not appear in any WAV files generated by faircamp.
- Tags will only be copied to WAV output files with the
tags: copyrelease option. (FFmpeg does not support explicitly defining the tags to be written to a WAV file, it only allows a full copy to be performed, or at least attempted) - ID3 in WAV is generally pretty non-standard, so anything relating to tags in WAV can be considered unstable and might lead to glitches down to the player level.