పైథాన్‌లో mp3 మరియు ఇతర ID3 ట్యాగ్‌లను సవరించడానికి మ్యూటాజెన్‌ని ఎలా ఉపయోగించాలి

వ్యాపారం

పైథాన్ ట్యాగ్ ఎడిటింగ్ లైబ్రరీ,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()

వ్రాయడానికి, దిగువ చూపిన విధంగా ట్యాగ్ IDని పేర్కొనండి.

  • పాటల శీర్షికలు(TIT2)
  • ఆల్బమ్ పేరు(TALB)

ట్యాగ్ IDలు క్రింది లింక్‌లోని అధికారిక డాక్యుమెంటేషన్‌లో సంగ్రహించబడ్డాయి, అయితే అవి ఎలాంటి సమాచారాన్ని సూచిస్తాయో అర్థం చేసుకోవడం కష్టం.

కరస్పాండెన్స్ కోసం తనిఖీ చేయడానికి ఇప్పటికే ఉన్న ఫైల్ యొక్క ID3 ట్యాగ్‌లను ప్రదర్శించడానికి pprint() పద్ధతిని ఉపయోగించడం సులభం కావచ్చు.