Изменение метаданных музыки

У меня есть сырой mp3 файл без тегов. Я хочу прочитать/изменить артиста и альбомную фотографию.

Я попробовал использовать stagger

import stagger
tags = stagger.read_tag("test.mp3")

Получил ошибку:

  File "C:\Users\Kuchizu\AppData\Local\Programs\Python\Python38-32\lib\site-packages\stagger\tags.py", line 81, in read_tag
(cls, offset, length) = detect_tag(file)
File "C:\Users\Kuchizu\AppData\Local\Programs\Python\Python38-32\lib\site-packages\stagger\tags.py", line 108, in detect_tag
    raise NoTagError("ID3v2 tag not found")
stagger.errors.NoTagError: ID3v2 tag not found

Попробовал использовать eyed3

import eyed3
music = eyed3.load("test.mp3")
music.tag.artist = 'artist'
music.tag.save()
print(music.tag.ratist)

Получил ошибку:

AttributeError: 'NoneType' object has no attribute 'tag'

Также попробовал сделать так:

import stagger
tag = stagger.Tag24()
tag.artist = "Artist"
tag.picture = 'photo.jpg'
tag.write("test.mp3")

Но тогда музыку не получается воспроизвести сколько бы я не пробовал.

Я в отчаянии, помогите.


Ответы (1 шт):

Автор решения: Sergey Glukhov

Попробуйте использовать библиотеку eyed3

import eyed3

audio_file = eyed3.load("song.mp3")
audio_file.tag.artist = "Token Entry"
audio_file.tag.album = "Free For All Comp LP"
audio_file.tag.album_artist = "Various Artists"
audio_file.tag.title = "The Edge"
audio_file.tag.track_num = 3

audio_file.tag.save()

Со своей задачей справляется.

→ Ссылка