পাইথন ট্যাগ এডিটিং লাইব্রেরি,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() পদ্ধতি ব্যবহার করা সহজ হতে পারে।