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

Быстрый старт: сканирование, анализ и поиск

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

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

Описанный ниже сценарий React относится к отложенному интерфейсу. Он ещё не перенесён на API схемы v7, поэтому эти шаги сейчас не проверены и недоступны для v7. Используйте приведённую ниже альтернативу через CLI или API.

Команды ниже создадут локальный каталог и проанализируют 25 треков, чтобы в активном бэкенде появились настоящие данные поиска. Не увеличивайте первую партию, пока не проверите установку и не сравните разные способы поиска.

В конце выберите знакомый трек и прослушайте кандидатов, которые приложение поставит рядом. Именно этот первый короткий список — полезный результат быстрого старта.

Команды предполагают, что окружение Python уже активировано.

1. Установите базовый пакет

powershell
python -m pip install -e ".[dev]"

Базовой установки достаточно для сканирования, запуска API бэкенда, экспорта, операций с базой и работы с уже сохранёнными результатами анализа. Для новых задач анализа позже установите дополнительные компоненты:

powershell
python -m pip install -e ".[sonara,ml,dev]"

2. Создайте базу и просканируйте папку

powershell
mkdir data
dj-sim scan D:\Music --db .\data\library.sqlite

Сканирование рекурсивно обходит папку и через Mutagen читает поддерживаемые типы аудиофайлов:

text
.aif .aiff .alac .flac .m4a .mp3 .ogg .opus .wav .wave

Команда создаёт локальный каталог путей и тегов. После этого фонотеку уже можно просматривать, но приложение ещё не умеет сравнивать звучание треков. Сканирование записывает строки SQLite и не изменяет аудиофайлы.

3. Проанализируйте первую партию

Если дополнительные компоненты анализа ещё не установлены, установите их. Затем запустите небольшую партию:

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

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

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

  • SONARA включает поиск по понятным аудиопризнакам и данные о переходах.
  • MERT даёт прямой поиск «найти треки рядом с этим треком».
  • MAEST и CLAP дополняют набор данных, необходимый для SET.
  • CLAP также включает текстовый поиск.
  • В этом выпуске MuQ используется только в LAB Reference Compare. Его можно не запускать, если нужны лишь поиск по референсному треку (seed), SET, Hybrid или текстовый поиск.

В CLI не указывайте --limit, чтобы обработать всю фонотеку. В отложенном интерфейсе значение Analyze limit = 0 означает всю фонотеку, но сейчас этот элемент недоступен для v7.

4. Запустите API бэкенда v7

powershell
dj-sim serve --host 127.0.0.1 --port 8765

Без --db сервер запускается без выбранной базы и не создаёт файлы SQLite. Через диалог выбора базы можно открыть совместимый комплект v7 или указать новый путь .sqlite. Для нового пути будут созданы база Core и обязательная соседняя база Artifacts.

Чтобы выбрать базу до запуска сервера, передайте --db .\data\library.sqlite. Существующий совместимый комплект будет открыт. Полностью отсутствующий комплект будет создан.

На Windows можно воспользоваться скриптом запуска:

powershell
run_server.cmd

В первом запросе будет предложен путь C:\db\volumes.sqlite. Нажмите Enter, чтобы принять его, или введите другой путь к базе. Следующий запрос выбирает локальный режим или доступ из локальной сети. Выбранный путь передаётся в dj-sim serve только после завершения обоих запросов.

Для запуска без запросов используйте run_server.cmd local --db C:\db\volumes.sqlite. Заменяйте local на lan только тогда, когда сервер должен быть доступен другим устройствам в локальной сети. Явные команды режима используют только переданные аргументы. Пока сервер работает, его окно терминала занято. Следующие команды CLI запускайте во втором активированном терминале.

Не считайте страницу по адресу http://127.0.0.1:8765/ проверенным интерфейсом v7. Актуальная поверхность — API бэкенда.

5. Проверьте актуальный бэкенд v7

Во втором окне PowerShell запросите сводку и первые 25 строк фонотеки:

powershell
Invoke-RestMethod -Uri 'http://127.0.0.1:8765/api/library/summary'
Invoke-RestMethod -Uri 'http://127.0.0.1:8765/api/tracks?limit=25'

После анализа CLAP первый короткий список по тексту можно получить через CLI:

powershell
dj-sim text-search "dark hypnotic techno, rolling bass, no vocals" --limit 20 --db .\data\library.sqlite

Поиск по референсным трекам, поиск SONARA, SET и экспорт доступны через актуальные конечные точки бэкенда из справочника API.

Сценарий отложенного интерфейса

  1. В блоке Database and analysis проверьте путь к SQLite и корневую папку музыки.
  2. В разделе Library найдите трек через поиск или страницы списка.
  3. Добавьте от одного до пяти референсных треков.
  4. Откройте MERT, чтобы увидеть широкое звуковое окружение, или SONARA, чтобы направлять поиск по ритму, тембру, динамике, гармонии и темпу.
  5. Откройте SET и создайте упорядоченный черновик.
  6. Прослушайте кандидатов, прежде чем добавлять их в текущий сет.
  7. Когда список станет полезным, экспортируйте его в M3U или CSV.

После переноса React этот сценарий должен обеспечить тот же цикл с проверкой на слух: начать с идеи, получить короткий список, послушать, оставить полезные треки и экспортировать только проверенный результат.

Если что-то не работает

  • Без FFmpeg сервер не запустится, а декодирование через FFmpeg будет недоступно. См. Решение проблем.
  • Пустой поиск обычно означает, что нужное семейство анализа ещё не запускалось. См. Первый анализ.
  • Текстовый поиск CLAP требует заранее сохранённых аудиоэмбеддингов CLAP. Сначала выполните анализ CLAP.

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