tinytag
tinytag copied to clipboard
Musepack SV7 support?
It looks like mpc/musepack should be straightforward to include in tinytag, e.g., it is supported in mediainfo:
$ mediainfo "/library/music/01-new.music/R.L. Burnside -- Burnside on Burnside (2001) (mpc)/R.L. Burnside -- 01 - Shake 'em on Down.mpc"
General
Complete name : /library/music/01-new.music/R.L. Burnside -- Burnside on Burnside (2001) (mpc)/R.L. Burnside -- 01 - Shake 'em on Down.mpc
Format : Musepack SV7
File size : 7.60 MiB
Duration : 4 min 35 s
Overall bit rate : 232 kb/s
Album : Burnside on Burnside
Track name : Shake 'em on Down
Track name/Position : 01
Track name/Total : 12
Performer : R.L. Burnside
Recorded date : 2001-10-23
Comment : Rip with EAC + mppenc 1.1 q8 - by Dan Dare [ARSNova Team]
MEDIA : CD
DISC : 1/1
SCRIPT : Latn
ASIN : B00005QG8K
RELEASECOUNTRY : US
ORIGINALYEAR : 2001
BARCODE : 045778034321
CATALOGNUMBER : 80343-2
ARTISTS : R.L. Burnside
ORIGINALDATE : 2001-10-23
LABEL : Fat Possum Records
ARTISTSORT : Burnside, R.L.
ALBUM ARTIST : R.L. Burnside
ALBUMARTISTSORT : Burnside, R.L.
MUSICBRAINZ_ALBUMSTATUS : official
MUSICBRAINZ_ALBUMTYPE : album
ACOUSTID_ID : 80931402-11b4-4e99-852c-265ae82e6983
MUSICBRAINZ_ALBUMID : 0d333ec0-3591-483a-93f2-3cd9219fb127
MUSICBRAINZ_TRACKID : 591b38ec-b98d-427f-b3f5-ce60cc3fa374
MUSICBRAINZ_ARTISTID : 355eed00-6c40-4d33-940a-600b2597407a
MUSICBRAINZ_ALBUMARTISTID : 355eed00-6c40-4d33-940a-600b2597407a
MUSICBRAINZ_RELEASEGROUPID : 30ed8164-e0cc-3c1a-afd4-41cc68f8e8c9
MUSICBRAINZ_RELEASETRACKID : 3275b222-436c-33f0-ac48-3af0e680f748
COVER ART (FRONT) : Cover Art (Front).jpg
Audio
Format : Musepack SV7
Duration : 4 min 35 s
Bit rate : 232 kb/s
Channel(s) : 2 channels
Sampling rate : 44.1 kHz
Bit depth : 16 bits
Compression mode : Lossy
Stream size : 7.54 MiB (99%)
Writing library : 0.96 Beta
It isn't my preferred codec but rather than converting a lossy format it seemed better to leave as is, however in my mpdlog.py script, I get:
$ mpdlog.py Traceback (most recent call last): File "/home/x/bin/mpdlog.py", line 22, in <module> tag = TinyTag.get(line2) File "/home/x/.local/lib/python3.6/site-packages/tinytag/tinytag.py", line 127, in get parser_class = cls._get_parser_for_filename(filename, exception=True) File "/home/x/.local/lib/python3.6/site-packages/tinytag/tinytag.py", line 118, in _get_parser_for_filename raise TinyTagException('No tag reader found to support filetype! ') tinytag.tinytag.TinyTagException: No tag reader found to support filetype!
Obviously, I can work around to have it filter out .mpc files prior to evaluating with TinyTag but it would be great if support could be added!
Recently I only find the time to write FLOSS code when I travel e.g. on a plane, so I guess I need to take a vacaction far away to get this done...
Anyway, the actual format to handle here is the APE Tags in version 1 or 2 https://en.wikipedia.org/wiki/APE_tag
While tinytag mainly targets common audio formats, adding support for APEv2 tags would essentially give us Monkey's Audio, Musepack, OptimFROG and WavPack support for free. It seems like a worthwhile addition if someone wants to do the work.