Pirtûkxaneya guherandina tagên Python,mutagen
Mutagena pirtûkxaneya Python dikare ji bo guherandina tagên (metadata) pelên multimedia yên wekî mp3 were bikar anîn.
Mutagen is a Python module to handle audio metadata. It supports ASF, FLAC, MP4, Monkey’s Audio, MP3, Musepack, Ogg Opus, Ogg FLAC, Ogg Speex, Ogg Theora, Ogg Vorbis, True Audio, WavPack, OptimFROG, and AIFF audio files.
Hûn dikarin wê bi pip saz bikin.
$ pip install mutagen
Li vir mînakek guherandina tagek ID3 heye.
Ji bo bêtir agahdarî li ser ID3, lînka jêrîn bibînin. Standard di destpêkê de ji bo mp3 hate afirandin, lê naha li ser mp4 (m4a) û pelên din ên ne-mp3 jî tê sepandin.
mutagen.easyid3
Heke hûn tenê dixwazin navên hunermend, navên albûmê, hejmarên şopan, hwd bixwînin an binivîsin, karanîna modula EasyID3 hêsan e.
from mutagen.easyid3 import EasyID3
Ji bo nivîsandina sernavek stranek, jêrîn bikin
path = 'example.mp3'
tags = EasyID3(path)
tags['title'] = 'new_title'
tags.save()
Tenê hejmarek sînorkirî ya nîşanan dikarin werin guheztin da ku meriv pêwendiyek hêsan bi dest bixe, lê ew ji bo karanîna bingehîn bes e. Etîketên ku dikarin werin sererast kirin li jêr têne dîtin.EasyID3.valid_keys.keys()
for key in EasyID3.valid_keys.keys():
print(key)
# album
# bpm
# compilation
# composer
# copyright
# encodedby
# lyricist
# length
# media
# mood
# title
# version
# artist
# albumartist
# conductor
# arranger
# discnumber
# organization
# tracknumber
# author
# albumartistsort
# albumsort
# composersort
# artistsort
# titlesort
# isrc
# discsubtitle
# language
# genre
# date
# originaldate
# performer:*
# musicbrainz_trackid
# website
# replaygain_*_gain
# replaygain_*_peak
# musicbrainz_artistid
# musicbrainz_albumid
# musicbrainz_albumartistid
# musicbrainz_trmid
# musicip_puid
# musicip_fingerprint
# musicbrainz_albumstatus
# musicbrainz_albumtype
# releasecountry
# musicbrainz_discid
# asin
# performer
# barcode
# catalognumber
# musicbrainz_releasetrackid
# musicbrainz_releasegroupid
# musicbrainz_workid
# acoustid_fingerprint
# acoustid_id
Diyarkirina fonksiyonek kêrhatî ye.
Etîket wiha têne nivîsandin. Tevahiya hejmara stranan (hejmara stranan) bi navdêra ‘hejmara rê’ tê nîşandan. Heman tişt ji bo hejmara dîskan jî rast e.
def set_id3_tag(file_path, title=None, artist=None, albumartist=None, album=None, genre=None,
track_num=None, total_track_num=None, disc_num=None, total_disc_num=None):
tags = EasyID3(file_path)
if title:
tags['title'] = title
if artist:
tags['artist'] = artist
if albumartist:
tags['albumartist'] = albumartist
if album:
tags['album'] = album
if genre:
tags['genre'] = genre
if total_track_num:
if track_num:
tags['tracknumber'] = '{}/{}'.format(track_num, total_track_num)
else:
tags['tracknumber'] = '/{}'.format(total_track_num)
else:
if track_num:
tags['tracknumber'] = '{}'.format(track_num)
if total_disc_num:
if disc_num:
tags['discnumber'] = '{}/{}'.format(disc_num, total_disc_num)
else:
tags['discnumber'] = '/{}'.format(total_disc_num)
else:
if track_num:
tags['discnumber'] = '{}'.format(disc_num)
tags.save()
Xwendina tagê (nîşandan) wiha ye.
def show_id3_tags(file_path):
tags = EasyID3(file_path)
print(tags.pprint())
Etîket bi vî rengî têne rakirin.
def delete_id3_tag(file_path, target_tag):
tags = EasyID3(file_path)
tags.pop(target_tag, None)
tags.save()
def delete_all_id3_tag(file_path):
tags = EasyID3(file_path)
tags.delete()
tags.save()
Wekî jêrîn bikar bînin.
set_id3_tag(path, albumartist='new_artist')
delete_id3_tag(path, 'discnumber')
show_id3_tags(path)
mutagen.id3
Ji bo rasterast tagên ID3 biguherînin, modula ID3 bikar bînin.
from mutagen.id3 import ID3, TIT2
path = 'example.mp3'
tags = ID3(path)
print(tags.pprint())
tags.add(TIT2(encoding=3, text="new_title"))
tags.save()
Ji bo nivîsandinê, wekî ku li jêr tê xuyang kirin ID-a tagê diyar bikin.
- sernavên stranan(
TIT2
) - Navê albûmê(
TALB
)
Nasnameyên etîketan di belgeya fermî ya li ser lînka jêrîn de têne kurt kirin, lê dijwar e ku meriv fêm bike ka ew çi celeb agahdarî temsîl dikin.
Dibe ku hêsantir be ku meriv rêbaza pprint() bikar bîne da ku tagên ID3 ya pelek heyî nîşan bide da ku lihevhatinê kontrol bike.