Python හි mp3 සහ අනෙකුත් ID3 ටැග් සංස්කරණය කිරීමට mutagen භාවිතා කරන්නේ කෙසේද

ව්යාපාරික

පයිතන් ටැග් සංස්කරණ පුස්තකාලය,mutagen

mp3 වැනි බහුමාධ්‍ය ගොනු වල ටැග් (පාර-දත්ත) සංස්කරණය කිරීමට Python library mutagen භාවිතා කළ හැක.

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