4

I'm using eyed3 module for reading only 'artist name' tag from a music library, but when some files load correctly others fail just at at the beginning, at the state of loading:

mp3file = eyed3.load(filepath)

for example, reading my library evolves in about 10 different types of errors. output from console:

eyed3.id3.frames:WARNING: Fixing invalid lyrics language code: ¦Ó
eyed3.id3.frames:WARNING: Frame 'RVAD' is not yet supported, using raw
Frame to parse eyed3.core:WARNING: FrameHeader: Illegal Frame ID: COM
eyed3.core:WARNING: FrameHeader: Illegal Frame ID: CM1
eyed3.id3.frames:WARNING: Unknown ID3 frame ID: RGAD
eyed3.core:WARNING: GEOB frame does not contain a mime type
eyed3.core:WARNING: GEOB frame does not contain a valid mime type
eyed3.core:WARNING: FrameHeader: Illegal Frame ID: TT2
eyed3.mp3:WARNING: Unable to find a valid mp3 frame
eyed3.core:WARNING: Invalid APIC picture type: 78
eyed3.core:WARNING: APIC frame does not contain image data/url

I've made up a work-around for this by loading only the tag that I need ('artist name'), instead of all tags, but is it possible with eyed3?

and btw. do you know any good manual for using this module in Python with examples? because the official site (http://eyed3.nicfit.net) seems quite poor in this case

van_folmert
  • 4,257
  • 10
  • 44
  • 89

2 Answers2

4

As shared here you can set the error logging level to only log errors, which should remove your warnings.

eyed3.log.setLevel("ERROR")
Community
  • 1
  • 1
Thomas Pritchard
  • 429
  • 3
  • 11
1

There is no "artist name only tag".. There is one tag per file from which the artist name may exist. All of the WARNING messages are just that, warnings. The tag is loaded, some values are malformed and so the warning is printed.. but the tag is still loaded and if there is an artist frame you can read it with tag.artist.