Python मध्ये mp3 आणि इतर ID3 टॅग संपादित करण्यासाठी mutagen कसे वापरावे

व्यवसाय

पायथन टॅग संपादन लायब्ररी,mutagen

Python library mutagen चा वापर 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.

आपण ते पाईपने स्थापित करू शकता.

$ pip install mutagen

ID3 टॅग संपादित करण्याचे येथे एक उदाहरण आहे.

ID3 बद्दल अधिक माहितीसाठी, खालील लिंक पहा. मानक मूलतः mp3 साठी तयार केले गेले होते, परंतु आता mp4 (m4a) आणि इतर गैर-mp3 फायलींवर देखील लागू केले जाते.

mutagen.easyid3

जर तुम्हाला कलाकारांची नावे, अल्बमची नावे, ट्रॅक नंबर इत्यादी वाचायचे किंवा लिहायचे असतील तर, EasyID3 मॉड्यूल वापरणे सोपे आहे.

from mutagen.easyid3 import EasyID3

गाण्याचे शीर्षक लिहिण्यासाठी खालील गोष्टी करा

path = 'example.mp3'
tags = EasyID3(path)
tags['title'] = 'new_title'
tags.save()

साधा इंटरफेस साध्य करण्यासाठी केवळ मर्यादित संख्येत टॅग संपादित केले जाऊ शकतात, परंतु ते मूलभूत वापरासाठी पुरेसे आहे. संपादित केले जाऊ शकणारे टॅग खाली पाहिले जाऊ शकतात.
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

फंक्शन परिभाषित करणे उपयुक्त आहे.

टॅग खालीलप्रमाणे लिहिलेले आहेत. ट्रॅकची एकूण संख्या (गाण्यांची संख्या) ‘ट्रॅकनंबर’ च्या भाजकाद्वारे दर्शविली जाते. डिस्कच्या संख्येसाठी हेच खरे आहे.

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()

टॅग रीडआउट (डिस्प्ले) खालीलप्रमाणे आहे.

def show_id3_tags(file_path):
    tags = EasyID3(file_path)
    print(tags.pprint())

खालीलप्रमाणे टॅग काढले आहेत.

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()

खालीलप्रमाणे वापरा.

set_id3_tag(path, albumartist='new_artist')
delete_id3_tag(path, 'discnumber')
show_id3_tags(path)

mutagen.id3

ID3 टॅग थेट संपादित करण्यासाठी, 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()

लिहिण्यासाठी, खाली दर्शविल्याप्रमाणे टॅग आयडी निर्दिष्ट करा.

  • गाण्याचे शीर्षक(TIT2)
  • अल्बमचे नाव(TALB)

टॅग आयडी खालील लिंकवर अधिकृत दस्तऐवजात सारांशित केले आहेत, परंतु ते कोणत्या प्रकारच्या माहितीचे प्रतिनिधित्व करतात हे समजणे कठीण आहे.

पत्रव्यवहार तपासण्यासाठी विद्यमान फाइलचे ID3 टॅग प्रदर्शित करण्यासाठी pprint() पद्धत वापरणे सोपे होऊ शकते.

Copied title and URL