Maktaba ya uhariri wa lebo ya Python,mutagen
mutajeni ya maktaba ya Python inaweza kutumika kuhariri vitambulisho (metadata) vya faili za media titika kama vile 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.
Unaweza kuiweka na bomba.
$ pip install mutagen
Huu hapa ni mfano wa kuhariri lebo ya ID3.
Kwa habari zaidi kuhusu ID3, angalia kiungo kifuatacho. Kiwango kiliundwa awali kwa mp3, lakini sasa kinatumika pia kwa mp4 (m4a) na faili zingine zisizo za mp3.
mutagen.easyid3
Ikiwa ungependa tu kusoma au kuandika majina ya wasanii, majina ya albamu, nambari za wimbo, n.k., ni rahisi kutumia moduli ya EasyID3.
from mutagen.easyid3 import EasyID3
Ili kuandika kichwa cha wimbo, fanya yafuatayo
path = 'example.mp3'
tags = EasyID3(path)
tags['title'] = 'new_title'
tags.save()
Idadi ndogo tu ya vitambulisho inaweza kuhaririwa kufikia kiolesura rahisi, lakini inatosha kwa matumizi ya kimsingi. Lebo zinazoweza kuhaririwa zinaweza kuonekana hapa chini.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
Ni muhimu kufafanua chaguo la kukokotoa.
Vitambulisho vimeandikwa kama ifuatavyo. Jumla ya idadi ya nyimbo (idadi ya nyimbo) inawakilishwa na denominator ya ‘tracknumber’. Vile vile ni kweli kwa idadi ya diski.
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()
Usomaji wa lebo (onyesho) ni kama ifuatavyo.
def show_id3_tags(file_path):
tags = EasyID3(file_path)
print(tags.pprint())
Lebo huondolewa kama ifuatavyo.
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()
Tumia kama ifuatavyo.
set_id3_tag(path, albumartist='new_artist')
delete_id3_tag(path, 'discnumber')
show_id3_tags(path)
mutagen.id3
Ili kuhariri vitambulisho vya ID3 moja kwa moja, tumia moduli ya 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()
Ili kuandika, bainisha kitambulisho cha lebo kama inavyoonyeshwa hapa chini.
- majina ya nyimbo(
TIT2
) - Jina la albamu(
TALB
)
Vitambulisho vya lebo vimefupishwa katika hati rasmi kwenye kiungo kifuatacho, lakini ni vigumu kuelewa ni aina gani ya taarifa zinazowakilisha.
Huenda ikawa rahisi kutumia mbinu ya pprint() kuonyesha vitambulisho vya ID3 vya faili iliyopo ili kuangalia mawasiliano.