Скрипт предназначен для массового редактирования тегов автора/исполнителя (artist) и названия трека (title) в аудиофайлах различных форматов.
Поддерживаются форматы: MP3 M4A, MP4, AAC FLAC OGG, OGA WAV
Скрипт обновляет теги в папке music, которая должна находиться в одной директории со скриптом. Зависимости Для работы скрипта необходимо установить библиотеку mutagen:
pip3 install mutagen
Используемые модули: pathlib.Path — удобная работа с путями. mutagen — библиотека для чтения и записи метаданных аудиофайлов. mutagen.id3 — работа с тегами ID3 (MP3). mutagen.mp4 — работа с тегами MP4/M4A/AAC. mutagen.flac — работа с тегами FLAC.
Структура скрипта Константы MUSIC_DIR = Path("music") AUDIO_EXTS = {".mp3", ".m4a", ".mp4", ".aac", ".flac", ".ogg", ".oga", ".wav"} MUSIC_DIR — папка, в которой должны лежать файлы для обработки. AUDIO_EXTS — набор поддерживаемых расширений аудиофайлов. Функция update_tags(path: Path, artist_value: str)
Назначение: Редактирует или создает теги для одного аудиофайла. Параметры: path: Path — путь к файлу. artist_value: str — значение для поля Автор/Исполнитель. Возвращает: Строку с результатом обновления тега или None, если формат не поддерживается. Логика работы: Определяет расширение файла. В зависимости от формата файла выбирает соответствующий метод обновления тегов: MP3: используется mutagen.id3.ID3. M4A/MP4/AAC: используется mutagen.mp4.MP4. FLAC: используется mutagen.flac.FLAC. OGG/OGA: используется mutagen.File. WAV: используется mutagen.File с дополнительной проверкой. Если тегов нет, они создаются. Устанавливает новое значение artist и сохраняет файл. Функция main() Назначение: Организует выполнение скрипта: Проверяет наличие папки music. Запрашивает у пользователя значение для поля Автор/Исполнитель. Ищет все поддерживаемые файлы в папке. Вызывает update_tags для каждого файла. Выводит результат работы. Пример работы Создайте папку music рядом со скриптом. Скопируйте в нее аудиофайлы. Запустите скрипт: python3 script.py
Введите имя автора: Введите надпись для поля Автор/Исполнитель: MyArtist
Скрипт обновит все теги: Найдено файлов: 3 ✔️ MP3: Song1 → artist='MyArtist' ✔️ M4A: Song2 → artist='MyArtist' ✔️ FLAC: Song3 → artist='MyArtist'
✅ Готово. Теперь при отправке в Telegram сверху будет название, а снизу — твоя надпись в поле Автор. Пример структуры проекта project/ │ ├── script.py # сам скрипт └── music/ # папка с аудиофайлами ├── track1.mp3 ├── track2.m4a └── track3.flac Возможные ошибки Папка music отсутствует: Скрипт выведет сообщение и завершит работу. Нет файлов нужного формата: Скрипт сообщит об этом и завершится. Файл не читается библиотекой mutagen: Выведет предупреждение, но продолжит обработку остальных файлов.