របៀបប្រើ mutagen ដើម្បីកែសម្រួល mp3 និងស្លាក ID3 ផ្សេងទៀតនៅក្នុង Python

អាជីវកម្ម

បណ្ណាល័យកែសម្រួលស្លាក Python,mutagen

mutagen បណ្ណាល័យ Python អាចត្រូវបានប្រើដើម្បីកែសម្រួលស្លាក (ទិន្នន័យមេតា) នៃឯកសារពហុព័ត៌មានដូចជា 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 ។

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

លេខសម្គាល់ស្លាកត្រូវបានសង្ខេបនៅក្នុងឯកសារផ្លូវការនៅតំណខាងក្រោម ប៉ុន្តែវាពិបាកក្នុងការយល់ពីប្រភេទព័ត៌មានដែលពួកគេតំណាង។

វាអាចកាន់តែងាយស្រួលប្រើវិធីសាស្ត្រ pprint() ដើម្បីបង្ហាញស្លាក ID3 នៃឯកសារដែលមានស្រាប់ ដើម្បីពិនិត្យមើលការឆ្លើយឆ្លង។

Copied title and URL