Skip to content
forked from tinytag/tinytag

Read music meta data and length of MP3, OGG, OPUS, MP4, M4A, FLAC, WMA and Wave files with python 2 or 3

License

Notifications You must be signed in to change notification settings

hmartel/tinytag

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tinytag

tinytag is a library for reading music meta data of MP3, OGG, OPUS, MP4, M4A, FLAC, WMA and Wave files with python

Build Status Coverage Status

Features:

  • Read tags, length and IDv3 cover images of music files
  • supported formats
    • MP3 (ID3 v1, v1.1, v2.2, v2.3+)
    • Wave
    • OGG
    • OPUS
    • FLAC
    • WMA
    • MP4/M4A
  • pure python
  • supports python 2.6+ and 3.2+
  • is tested
  • Just a few hundred lines of code (just include it in your project!)

tinytag only provides the minimum needed for reading MP3, OGG, OPUS, MP4, M4A, FLAC, WMA and Wave meta-data. It can determine track number, total tracks, title, artist, album, year, duration and more.

from tinytag import TinyTag
tag = TinyTag.get('/some/music.mp3')
print('This track is by %s.' % tag.artist)
print('It is %f seconds long.' % tag.duration)

List of possible attributes you can get with TinyTag:

tag.album         # album as string
tag.albumartist   # album artist as string
tag.artist        # artist name as string
tag.audio_offset  # number of bytes before audio data begins
tag.bitrate       # bitrate in kBits/s
tag.disc          # disc number
tag.disc_total    # the total number of discs
tag.duration      # duration of the song in seconds
tag.filesize      # file size in bytes
tag.genre         # genre as string
tag.samplerate    # samples per second
tag.title         # title of the song
tag.track         # track number as string
tag.track_total   # total number of tracks as string
tag.year          # year or data as string

Additionally you can also get cover images from ID3 tags:

tag = TinyTag.get('/some/music.mp3', image=True)
image_data = tag.get_image()

supported python versions:

  • 2.6+
  • 3.2+
  • pypy

and possibly more.

Changelog:

  • 0.19.0 (2018/02/11): fixed corrupted images for some mp3s (#45)
  • 0.18.0 (2017/04/29): fixed wrong bitrate and crash when parsing xing header
  • 0.17.0 (2016/10/02): supporting ID3v2.2 images
  • 0.16.0 (2016/08/06): MP4 cover image support
  • 0.15.2 (2016/08/06): fixed crash for malformed MP4 files (#34)
  • 0.15.0 (2016/08/06): fixed decoding of UTF-16LE ID3v2 Tags, improved overall stability
  • 0.14.0 (2016/06/05): MP4/M4A and Opus support

About

Read music meta data and length of MP3, OGG, OPUS, MP4, M4A, FLAC, WMA and Wave files with python 2 or 3

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%