Pustaka panyuntingan tag Python,mutagen
Pustaka Python mutagen bisa digunakake kanggo ngowahi tag (metadata) file multimedia kayata mp3.
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.
Sampeyan bisa nginstal nganggo pip.
$ pip install mutagen
Punika conto nyunting tag ID3.
Kanggo informasi luwih lengkap babagan ID3, deleng link ing ngisor iki. Standar kasebut wiwitane digawe kanggo mp3, nanging saiki uga ditrapake kanggo file mp4 (m4a) lan file non-mp3 liyane.
mutagen.easyid3
Yen sampeyan mung pengin maca utawa nulis jeneng artis, jeneng album, nomer trek, etc., iku gampang kanggo nggunakake modul EasyID3.
from mutagen.easyid3 import EasyID3
Kanggo nulis judhul lagu, tindakake ing ngisor iki
path = 'example.mp3'
tags = EasyID3(path)
tags['title'] = 'new_title'
tags.save()
Mung nomer winates saka tag sing bisa diowahi kanggo entuk antarmuka sing prasaja, nanging cukup kanggo panggunaan dhasar. Tag sing bisa diowahi bisa dideleng ing ngisor iki.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
Iku migunani kanggo nemtokake fungsi.
Tandha kasebut ditulis kaya ing ngisor iki. Jumlah trek (jumlah lagu) diwakili dening denominator ‘nomer trek’. Padha bener kanggo jumlah disk.
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()
Tag maca (tampilan) kaya ing ngisor iki.
def show_id3_tags(file_path):
tags = EasyID3(file_path)
print(tags.pprint())
Tag dibusak kaya ing ngisor iki.
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()
Gunakake kaya ing ngisor iki.
set_id3_tag(path, albumartist='new_artist')
delete_id3_tag(path, 'discnumber')
show_id3_tags(path)
mutagen.id3
Kanggo ngowahi tag ID3 langsung, gunakake modul ID3.
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()
Kanggo nulis, nemtokake ID tag kaya ing ngisor iki.
- judhul lagu(
TIT2
) - Jeneng album(
TALB
)
ID tag dirangkum ing dokumentasi resmi ing pranala ing ngisor iki, nanging angel ngerti jenis informasi sing diwakili.
Bisa uga luwih gampang nggunakake cara pprint () kanggo nampilake tag ID3 saka file sing wis ana kanggo mriksa korespondensi.