Xavier Henner a678a5d67b Fix a bug in Sum() and add all id3frames in Raw()
The Seek in SumID3v2() didn't take into account the size of the ID3v2 Header
(10 bytes). Thus when tagging the same file with or without it's tag, there was
a discrepancy. (

And I've added a default case when parsing the id3v2 tags, by storing the
binary content to Raw()
2015-05-24 21:19:15 +02:00
2015-05-24 22:37:21 +10:00
2015-05-01 22:44:59 +10:00
2015-03-20 09:02:27 +11:00
2015-05-24 13:13:43 +10:00
2015-03-19 23:21:53 +11:00
2015-03-19 23:21:53 +11:00
2015-05-24 22:49:06 +10:00
2015-05-24 22:37:21 +10:00
2015-05-03 09:59:03 +10:00

MP3/MP4/OGG/FLAC metadata parsing library

Build Status GoDoc

This package provides MP3 (ID3v1,2.{2,3,4}) and MP4 (ACC, M4A, ALAC), OGG and FLAC metadata detection, parsing and artwork extraction.

Parsed metadata is exported via a single interface (giving a consistent API for all supported metadata formats).

// Metadata is an interface which is used to describe metadata retrieved by this package.
type Metadata interface {
	Format() Format
	FileType() FileType

	Title() string
	Album() string
	Artist() string
	AlbumArtist() string
	Composer() string
	Genre() string
	Year() int

	Track() (int, int) // Number, Total
	Disc() (int, int) // Number, Total

	Picture() *Picture // Artwork
	Lyrics() string

	Raw() map[string]interface{} // NB: raw tag names are not consistent across formats.
}

Audio Data Checksum (SHA1)

This package also provides a metadata-invariant checksum for audio files: only the audio data is used to construct the checksum.

http://godoc.org/github.com/dhowden/tag#Sum

Example Usage

There are a simple command-line tools which demonstrate basic tag extraction and summing:

$ go get github.com/dhowden/tag/...
$ cd $GOPATH/bin
$ ./tag 11\ High\ Hopes.m4a
Metadata Format: MP4
 Title: High Hopes
 Album: The Division Bell
 Artist: Pink Floyd
 Composer: Abbey Road Recording Studios/David Gilmour/Polly Samson
 Year: 1994
 Track: 11 of 11
 Disc: 1 of 1
 Picture: Picture{Ext: jpeg, MIMEType: image/jpeg, Type: , Description: , Data.Size: 606109}

$ ./sum 11\ High\ Hopes.m4a
2ae208c5f00a1f21f5fac9b7f6e0b8e52c06da29
Description
ID3, MP4 and OGG/FLAC metadata parsing in Go
Readme 1.7 MiB
Languages
Go 100%