A native Go library for reading and writing ID3 v2.3 and v2.4 metadata tags in MP3 files.
id3v2 is a Go library for reading and writing ID3 metadata tags in MP3 files. It implements the ID3 v2.3 and v2.4 standards, allowing developers to programmatically manage audio metadata like artist, title, comments, and album art directly from Go applications.
Go developers working with audio files, such as those building music players, audio organizers, podcast tools, or any application that needs to manipulate MP3 metadata.
It offers a pure Go solution with no external dependencies, providing a correct and idiomatic API that simplifies ID3 tag handling while supporting both common and advanced use cases like multiple frames and custom encodings.
🎵 ID3 decoding and encoding library for Go
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Written entirely in Go with no C bindings, ensuring better portability and seamless integration into Go projects without external dependencies, as highlighted in the README.
Fully implements ID3 v2.3 and v2.4 standards, handling text frames, comments, and attached pictures, demonstrated in usage examples for common tags and frame access.
Automatically manages multiple text encodings like UTF-8, UTF-16, and ISO-8859-1 with version-specific defaults, simplifying international text support as shown in the encodings section.
Provides low-level API to read and write individual frames, enabling advanced features like multiple pictures or custom fields, as illustrated in the 'Read multiple frames' example.
Only supports MP3 files with ID3 v2.3/v2.4, excluding other popular formats like AAC or OGG which use different metadata systems, limiting its use in diverse audio projects.
As a pure Go library, it may have higher memory usage or slower processing speeds compared to optimized C libraries, especially for batch operations on large file collections.
While basic usage is covered, the documentation lacks in-depth tutorials for edge cases, such as handling corrupt tags or very large embedded images, requiring developers to rely on trial and error.