Интересная библиотека под названием Mutagen попалась мне на днях. Служит она для обработки метаданных в медиафайлах, а значит сегодняшняя тема будет звучать как: Mutagen — пример работы.
Библиотека Mutagen хороша не только большим количеством поддерживаемых форматов — важно, что библиотека рабочая (в отличии от десятка других, в Google и Wiki-Python упомянутых, но теперь уже заброшенных и устаревших). По заявлению разработчиков — библиотека поддерживает ASF, FLAC, MP4, Monkey’s Audio, MP3, Musepack, Ogg Opus, Ogg FLAC, Ogg Speex, Ogg Theora, Ogg Vorbis, True Audio, WavPack, OptimFROG, и AIFF, а так же получать данные о битрейте трека и его продолжительности. Очень хорошая документация доступна на сайте разработчика, я же поделюсь примером кода, который позволяет выгребать данные о продолжительности трека, его битрейте, исполнителе, и названии песни — такая себе краткая шпаргалка по работе с Mutagen 🙂
-
import mutagen #Подключили библиотеку Mutagen
-
import datetime #Подключили библиотеку для работы с временем
-
def get_data(track): #Создаем функцию, которая будет получать данные из трека
-
audiofile = mutagen.File(track) #создаем переменную, которая состоит из запроса библиотеки к файлу
-
print('Продолжительность трека:', datetime.timedelta(seconds=audiofile.info.length)) #Выводим продолжительность трека
-
print('Битрейт:', audiofile.info.bitrate) #Выводим битрейт трека
-
song_title = audiofile.tags.getall('TIT2') #Получаем название трека
-
singer_title = audiofile.tags.getall('TPE2') #Получаем исполнителя
-
print('Исполнитель:', singer_title[0]) #Выводим исполнителя
-
print('Название песни:', song_title[0], '\n') #Выводим название трека
-
-
track = str(input('Название песни: ')) #Просим пользователя ввести название файла
-
get_data(track) #Подключаем функцию
Логичным действием будет желание навести порядок в фонотеке на компьютере. Для этого мы сделаем программу, которая будет получать данные об исполнителе песни, ее названии, и — отправлять эти данные с куском трека на сверку. Если отправленные данные верны — переходим к следующему треку, если отправленные данные ошибочны — запрашиваем верные данные, перезаписываем их в теги трека и переходим к следующему треку. Но это уже — другая история 😉 Пока же все, что касается вопроса: Mutagen — пример работы к настоящему моменту описано 🙂
Следите за обновлениями!
Как всегда — в случае возникновения вопросов пишите на почту, или в Telegram.