ID3 is the de facto standard for metadata in MP3 files and is also used in other formats. Symphonia supports both ID3v1 and ID3v2 (versions 2.2, 2.3, and 2.4).Documentation Index
Fetch the complete documentation index at: https://mintlify.com/pdeljanov/Symphonia/llms.txt
Use this file to discover all available pages before exploring further.
Supported Formats
ID3 tags are commonly found in:- MP3 files - Primary use case
- WAV files - Can contain ID3v2 tags
- AIFF files - Can contain ID3v2 tags
ID3 Versions
ID3v1
Status: Great- Fixed 128-byte structure at end of file
- Limited to 30-character fields
- Supports: Title, Artist, Album, Year, Comment, Genre
- ID3v1.1 adds track number
ID3v2
Status: Great- Variable size, placed at beginning of file
- Supports arbitrary text length (UTF-8, UTF-16)
- Extensive frame types for rich metadata
- Versions supported: 2.2.x, 2.3.x, 2.4.x
Available Tag Fields
Symphonia maps ID3 frames to standard tag keys:Basic Information
Artist- Lead performer(s)AlbumArtist- Album artistAlbum- Album titleTrackTitle- Song titleTrackNumber- Track numberTrackTotal- Total tracksDiscNumber- Disc numberDiscTotal- Total discsDate- Release dateOriginalDate- Original release dateGenre- Genre
Credits
Composer- ComposerConductor- ConductorLyricist- Lyricist/text writerWriter- WriterPerformer- PerformerArranger- ArrangerEngineer- EngineerProducer- ProducerRemixer- RemixerMixDj- DJ mixerMixEngineer- Mix engineer
Additional Metadata
Copyright- Copyright messageComment- CommentsEncodedBy- Encoded byEncoder- Encoder softwareBpm- Beats per minuteMood- MoodLabel- Record labelIsrc- ISRC codeBarcode- Barcode
MusicBrainz Identifiers
MusicBrainzArtistIdMusicBrainzAlbumIdMusicBrainzAlbumArtistIdMusicBrainzRecordingIdMusicBrainzReleaseGroupIdMusicBrainzTrackIdMusicBrainzWorkId
Album Art
ID3v2 supports embedded images through APIC (Attached Picture) frames with various types:- Front cover
- Back cover
- Media (CD/vinyl)
- Artist/performer
- Icon
- And 16+ other picture types
Reading ID3 Tags
Basic Tag Reading
Reading Album Art
Finding Specific Tags
Handling ID3 Updates
ID3v2 supports update flags indicating if a tag is an update to an earlier tag. This is automatically handled during parsing.Text Encoding
ID3v2 supports multiple text encodings:- ISO-8859-1 (Latin-1)
- UTF-16 with BOM
- UTF-16BE (big-endian)
- UTF-8 (ID3v2.4)
Unsynchronization
ID3v2 uses unsynchronization to prevent false MP3 sync patterns. Symphonia handles this automatically:- Frame-level unsynchronization (ID3v2.4)
- Tag-level unsynchronization (ID3v2.2, 2.3)
Known Limitations
- ID3v2.2 compression is not supported (deprecated feature)
- Some rare or experimental frames may not be parsed
- Extended header CRC verification is not performed
- Encryption is not supported
- Grouping identity is not exposed
Performance Considerations
- ID3v1 tags are quick to read (fixed 128 bytes)
- ID3v2 tags can be large (up to several MB with images)
- Both ID3v1 and ID3v2 can be present; Symphonia reads both
- Use
MetadataOptionsto control parsing behavior
Crate Information
Crate:symphonia-metadata
Version: 0.5.5
License: MPL-2.0
Safety: 100% safe Rust (forbids unsafe code)
See Also
- Vorbis Comment - Alternative metadata format for OGG and FLAC