Кейсы
AI-агент Автоматизация Скрипт

MP3 Auto-Renamer: ИИ-теггинг 1000+ треков без ручной работы

Python-инструмент для радиостанций: librosa анализирует аудио, ИИ придумывает уникальные английские названия, mutagen вшивает ID3-теги — всё автоматически.

2026 3 мин. чтения
Срок 1 неделя
Стек Python · librosa · mutagen · OpenRouter API · SQLite
Результат Batch-обработка: аудиоанализ → ИИ-название → ID3-теги → без повторов между запусками.
  • вручную ИИ + теги
    Переименование треков
  • 7 audio-параметров: BPM, mood, тональность, спектр
  • SHA-256 дедупликация — повтор не пройдёт

Задача

Радиостанция и музыкальные студии накапливают сотни инструментальных MP3-треков — часто без нормальных названий, с потерянными метаданными. Ручная обработка каждого трека: прослушивание, придумывание коммерческого английского названия, вписывание ID3-тегов (исполнитель, издатель, год, авторские права) — это часы монотонной работы, которые отвлекают от творчества.

Решение

Аудиоанализ (librosa)

На каждом треке — анализ первых 30 секунд:

  • BPM и tempo — классификация на 6 уровней: very slow, slow, moderate, fast, very fast, extreme
  • Spectral centroid — спектральный центр (яркий/тёплый звук)
  • Zero Crossing Rate — высокая/низкая энергия
  • RMS loudness — громкость трека (плотный/разреженный звук)
  • Spectral rolloff — широкий спектр / узкий, сфокусированный
  • Spectral contrast — многослойная текстура / гладкий минимализм
  • Тональность (chroma) — определение основной ноты из 12 полутонов
  • Mood inference — алгоритм на основе 4 параметров (яркость, энергия, динамика, тональность) выводит: melancholic, ambient, ethereal, energetic, driving, cinematic и др.

LLM-обогащение описания

Отдельный API-вызов анализирует аудиофичи и определяет жанр (synthwave, orchestral, darkwave, chillhop…) и вероятный набор инструментов (piano, strings, synth, electric guitar, bass…). Это добавляется в контекст перед генерацией названия.

Генерация уникальных названий

  • Детальный system prompt с примерами по 5 mood-категориям: dark/cinematic, bright/energetic, ambient, driving/urban, warm/calm
  • До 10 попыток генерации с проверкой на уникальность в SQLite-базе
  • Фильтр запрещённых слов: demo, untitled, track, song, mix и т.д.
  • Контекст последних 20–30 использованных названий передаётся в prompt для максимальной вариативности
  • Резервное название Meridian + UUID если все попытки исчерпаны

ID3-теггинг (mutagen)

После генерации названия программа:

  • Очищает старые ID3v2 теги из исходника
  • Записывает новые: TIT2 (title), TPE1 (artist), TPUB (publisher), TCOP (copyright), TDRC (year), COMM (comment), UFID + TXXX:CustomTrackID (UUID)

SQLite-база и дедупликация

Три таблицы:

  • tracks — полная история (18 полей: оригинальное имя, новое имя, все параметры, хеши, статус, timestamp)
  • used_titles — реестр всех использованных названий (не повторяются между запусками)
  • errors — журнал ошибок с привязкой к треку

SHA-256 дедупликация: хеш каждого входящего файла сохраняется. Повторный запуск с теми же файлами — моментальный пропуск без лишних API-вызовов.

CLI и автозапуск

Командная строка:

  • --preview — предпросмотр без записи файлов
  • --stats — статистика БД
  • --export csv|json|titles — экспорт истории
  • --block "Title 1" "Title 2" — ручная блокировка названий
  • --input папка1 папка2 ... — мульти-папочный ввод
  • --no-artist, --no-publisher и т.д. — отключение отдельных тегов

start.bat — zero-friction:

  • Проверяет Python в PATH
  • Создаёт виртуальное окружение .venv
  • Запускает pip install с требованиями
  • Валидирует .env и предупреждает если ключ не заменён
  • Создаёт папки input/ и output/
  • Запускает скрипт — всё одним двойным кликом

Логирование и документация

  • Двойной вывод: консоль + processing.log
  • Русскоязычные уровни логирования (ИНФО, ВНИМАНИЕ, ОШИБКА)
  • Подробная инструкция на русском: установка, первый запуск, продвинутые параметры, решение типичных проблем

Результат

ПоказательДоПосле
ПереименованиеВручную (часы)Автоматически (секунды)
ID3-тегиПотеряны или частичныеПолные: TIT2, TPE1, TPUB, TCOP, TDRC, COMM, UUID
Повторные запускиЗаново обрабатываютсяПропускаются по SHA-256 (моментально)
Гарантия уникальностиНет100% (проверка в реестре + контекст 20+ названий в prompt)
Анализ аудиоСлушание на ухо7 параметров + mood classification

Нужен ИИ-инструмент для автоматизации музыки, видео или текста? Напишите — обсудим задачу.

Технологии Python librosa mutagen OpenRouter API SQLite
Итог

Batch-обработка: аудиоанализ → ИИ-название → ID3-теги → без повторов между запусками.

Следующий кейс

Щенок Игруля — интернет-магазин премиального корма

Интернет-магазин с ЮKassa, СДЭК Fulfillment (FBS), Telegram-уведомлениями и админкой: от карточки товара до автоматической отправки заказа на склад.