All Projects → dhowden → Tag

dhowden / Tag

Licence: bsd-2-clause
ID3, MP4 and OGG/FLAC metadata parsing in Go

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Tag

loudgain
ReplayGain 2.0 loudness normalizer based on the EBU R128/ITU BS.1770 standard (-18 LUFS, FLAC, Ogg, MP2, MP3, MP4, M4A, AAC, ALAC, Opus, ASF, WMA, WAV, AIFF, WavPack, APE)
Stars: ✭ 127 (-59.55%)
Mutual labels:  mp4, mp3, flac
Gogglesmm
Goggles Music Manager
Stars: ✭ 41 (-86.94%)
Mutual labels:  mp3, mp4, flac
Axiom
An FFmpeg GUI for Windows
Stars: ✭ 560 (+78.34%)
Mutual labels:  mp3, mp4, flac
Mutagen
Python module for handling audio metadata
Stars: ✭ 760 (+142.04%)
Mutual labels:  mp3, mp4, flac
slibs
Single file libraries for C/C++
Stars: ✭ 80 (-74.52%)
Mutual labels:  mp4, mp3, flac
Music Metadata
Stream and file based music metadata parser for node. Supporting a wide range of audio and tag formats.
Stars: ✭ 455 (+44.9%)
Mutual labels:  mp3, mp4, flac
audio-metadata
A library for reading and, in the future, writing audio metadata. https://audio-metadata.readthedocs.io/
Stars: ✭ 41 (-86.94%)
Mutual labels:  mp4, mp3, flac
aplay-
a simple BitPerfect player
Stars: ✭ 23 (-92.68%)
Mutual labels:  mp4, mp3, flac
Ni Media
NI Media is a C++ library for reading and writing audio streams.
Stars: ✭ 158 (-49.68%)
Mutual labels:  mp3, mp4, flac
Mediafile
A unified reader of metadata from audio & video files.
Stars: ✭ 138 (-56.05%)
Mutual labels:  mp3, mp4, flac
Av Converter
[av-converter.com] Audio and Video Converter, and YouTube downloader. Convert to MP3, MP4, AAC, FLAC, AC3, WAV, etc.
Stars: ✭ 97 (-69.11%)
Mutual labels:  mp3, mp4, flac
Atldotnet
Fully managed, portable and easy-to-use C# library to read and edit audio data and metadata (tags) from various audio formats, playlists and CUE sheets
Stars: ✭ 180 (-42.68%)
Mutual labels:  mp3, mp4, flac
Audioplayer
Audio Player for Nextcloud and ownCloud
Stars: ✭ 179 (-42.99%)
Mutual labels:  mp3, mp4, flac
Symphonia
Pure Rust multimedia format demuxing, tag reading, and audio decoding library
Stars: ✭ 191 (-39.17%)
Mutual labels:  mp3, mp4, flac
sox.js
📢 NodeJS wrapper for the SoX audio tool
Stars: ✭ 18 (-94.27%)
Mutual labels:  mp3, flac
karaoke-forever
Open karaoke party system
Stars: ✭ 180 (-42.68%)
Mutual labels:  mp4, mp3
genshin-audio-exporter
Export audio files from Genshin Impact game data into different audio formats.
Stars: ✭ 83 (-73.57%)
Mutual labels:  mp3, flac
acxi
acxi is an audio conversion tool that helps sync lossless to lossy formats.
Stars: ✭ 35 (-88.85%)
Mutual labels:  mp3, flac
MP4Parse
C++ library for MP4 file parsing.
Stars: ✭ 55 (-82.48%)
Mutual labels:  parsing, mp4
discogstagger
Console based audio-file metadata tagger that uses the Discogs.com API v2 (JSON based). Relies on the Mutagen and discogs-client libraries. Currently supports FLAC and MP3 file types.
Stars: ✭ 65 (-79.3%)
Mutual labels:  mp3, flac

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.

Detect and parse tag metadata from an io.ReadSeeker (i.e. an *os.File):

m, err := tag.ReadFrom(f)
if err != nil {
	log.Fatal(err)
}
log.Print(m.Format()) // The detected format.
log.Print(m.Title())  // The title of the track (see Metadata interface for more details).

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
	Comment() 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

Tools

There are 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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].