Перейти к содержанию

Выполните первый анализ

Для кого: Для тех, кто уже просканировал треки и хочет искать по результатам моделей. Задача: Безопасно выбрать семейства анализа и понять, какие возможности они открывают. Тип: Учебная инструкция

Сканирование сообщает приложению, какие файлы у вас есть. Анализ даёт несколько ограниченных способов сравнивать их звучание. Полезный результат — не новый аудиофайл, а локальные данные, с помощью которых можно строить короткие списки, применять фильтры и создавать упорядоченные черновики.

Задачи анализа читают аудио или уже сохранённые значения и записывают результаты в SQLite. Исходные аудиофайлы они не переписывают.

Выбирайте анализ по желаемому результату

Что вы хотите сделатьЧто запуститьЧто получите
Начать с трека и найти широкое звуковое окружениеMERTРанжированных кандидатов по референсному треку (seed)
Управлять поиском через ритм, фактуру, динамику, гармонию или темпSONARAПоиск по понятным признакам и данные о переходах
Описать желаемое звучание словамиCLAPКандидатов из текстового поиска
Создать SET или сравнить несколько взглядов моделейSONARA, MAEST, MERT, CLAPКандидатов с полным набором данных для SET и Hybrid
Сравнить соседей ещё одной модели в LABMuQОтдельную колонку MuQ в Reference Compare
Повторно использовать собственный размеченный признакCLASSIFIERSСохранённые оценки для фильтров CLASS и необязательного влияния на SET или Hybrid

Для первого эксперимента проанализируйте 25 знакомых треков. Попробуйте поиск и только после этого решайте, какие семейства стоит запускать для всей фонотеки.

Что хранит и открывает каждое семейство

СемействоЧто записываетЧто включает
SONARAподписанные результаты core, timeline, embedding и fingerprintпоиск по признакам, оценку темпа с учётом уверенности, определение Camelot, порядок SET, диагностику переходов и входы классификаторов
MAESTжанры и синкопированность в Core, эмбеддинг в Artifactsпоказ жанров, запись жанрового тега, источник MAEST для SET и Hybrid
MERTэмбеддинг в Artifactsпоиск по референсному треку, SET, Hybrid и данные для Audio Dedup
MuQэмбеддинг в Artifactsданные LAB Reference Compare; без интеграции с поиском MERT/SONARA, SET и Hybrid
CLAPаудиоэмбеддинг в Artifactsтекстовый поиск, SET, Hybrid и данные для Audio Dedup
CLASSIFIERSстроки Core classifier_scoresфильтры CLASS, влияние на SET и диагностику Hybrid

Расчёт классификаторов — отдельный этап. Каждый опубликованный манифест задаёт собственные требования к SONARA и MAEST/MERT/CLAP. Треки без полного набора входных данных считаются неготовыми, а не ошибочными.

Анализ из CLI

Сначала установите дополнительные зависимости. В новом комплекте v7 до первой задачи SONARA нужно активировать загруженный релиз. Создайте доступный для записи каталог резервных копий, подготовьте неизменяемый релиз с четырьмя результатами, а затем выполните:

powershell
mkdir .\backups
dj-sim prepare-sonara-release --db .\data\library.sqlite --backup-dir .\backups --confirm "PREPARE SONARA RELEASE"
dj-sim analyze --models sonara --sonara-outputs core,timeline,embedding,fingerprint --limit 25 --db .\data\library.sqlite
dj-sim analyze --models maest,mert,muq,clap --limit 25 --db .\data\library.sqlite
dj-sim analyze-classifiers --db .\data\library.sqlite
dj-sim analyze-pipeline --stages sonara,ml,classifiers --sonara-outputs core,timeline,embedding,fingerprint --db .\data\library.sqlite

Подготовка выводит и активирует точные контракты core, timeline, embedding и fingerprint. Она проверяет резервные копии Core и Artifacts и записывает квитанцию для продолжения после прерывания, прежде чем анализ сможет записывать данные этого релиза.

Полезные варианты:

powershell
dj-sim analyze --models sonara --sonara-outputs core,timeline,embedding,fingerprint --db .\data\library.sqlite
dj-sim analyze --models maest,mert,muq,clap --device auto --top-k 3 --track-batch-size 8 --inference-batch-size 16 --db .\data\library.sqlite
  • --models принимает через запятую sonara, maest, mert, muq и clap.
  • --device принимает auto, cpu или cuda.
  • --top-k сохраняет 1..10 жанровых меток MAEST для трека.
  • --track-batch-size задаёт 1..64 декодированных треков в партии задачи. По умолчанию — 8.
  • --inference-batch-size задаёт 1..128 примеров за проход модели MAEST, MERT, MuQ и CLAP. По умолчанию — 16.
  • --sonara-batch-size задаёт 1..16 путей в нативной партии SONARA. По умолчанию — 8.
  • --diagnostics добавляет в файловый журнал сведения о резервном декодировании и времени партий.

MuQ входит в необязательный набор ml и загружает официальные веса OpenMuQ/MuQ-large-msd-iter. Приложение передаёт MuQ только аудио float32 с частотой 24 кГц. Поддерживаются CPU и CUDA; для полной фонотеки рекомендуется CUDA. Эмбеддинги MuQ используются в LAB Reference Compare, но не поступают в SET или Hybrid.

Чтобы проанализировать всю фонотеку из CLI, не указывайте --limit.

Состояние интерфейса

Бэкенд Python и CLI реализуют контракт анализа v7. Клиент React ещё не перенесён на новые структуры базы, идентичности трека, сброса и результатов. Не считайте текущие элементы или существующий frontend/dist совместимыми с этим сценарием.

Используйте CLI или API v7. SONARA получает пути нативными партиями и декодирует их через Symphonia внутри sonara.analyze_batch(). Загрузчик FFmpeg проекта, analyze_signal и резервный путь по одному файлу не используются. ML-модели продолжают использовать общий декодер FFmpeg.

Размер партии SONARA определяет число одновременных нативных чтений полных файлов, а не размер ML-инференса. Для фонотеки на одном HDD оставьте значение по умолчанию, если измеренный пилотный запуск не подтвердил пользу большего числа.

Уже проанализированные треки

Задачи выбирают только отсутствующие результаты отмеченных семейств. SONARA независимо материализует core, timeline, embedding и fingerprint из одного неизменяемого релиза с четырьмя контрактами, поэтому добавление другого активного результата позже не заменяет core. Завершённые результаты других семейств пропускаются.

Неподготовленный релиз SONARA блокируется. Описанная выше подготовка обязательна даже перед первым анализом SONARA в новом комплекте v7. Полная последовательность резервного копирования, активации, повторного анализа и пересчёта классификаторов приведена в подготовке и пересоздании релиза SONARA.

Границы сброса

  • Сброс SONARA удаляет активные результаты Core и Artifacts и зависимые оценки классификаторов. Метки и обратная связь сохраняются.
  • Сброс MAEST удаляет метаданные и эмбеддинги MAEST.
  • Сброс MERT, MuQ или CLAP удаляет эмбеддинги соответствующего ключа.
  • Сброс CLASSIFIERS удаляет только оценки выбранных классификаторов.

Все операции сброса изменяют только SQLite.

Документация локального инструмента анализа музыкальной библиотеки.