Создайте первую фонотеку
Для кого: Для тех, кто создаёт фонотеку SQLite из папки с музыкой. Задача: Понять сканирование, Refresh Tags, просмотр и выбор базы данных. Тип: Учебная инструкция
Фонотека — это личная карта вашей музыкальной коллекции внутри приложения. Она позволяет искать по одному каталогу, даже если файлы разбросаны по разным папкам, а теги заполнены не полностью. Аудиофайлы остаются на своих местах.
Что даёт сканирование
- единый список поддерживаемых аудиофайлов для просмотра;
- поиск по исполнителю, названию, альбому, жанру, пути и другим доступным тегам;
- стабильные записи треков, к которым позже привязываются результаты анализа;
- счётчики добавленных, обновлённых, неизменившихся и пропущенных файлов.
Одного сканирования недостаточно для поиска по звучанию. Сначала оно создаёт каталог, а следующий шаг — анализ — добавляет аудиоданные для поиска похожих треков, текстового поиска и черновиков SET.
Как хранится каталог
Текущая исполняемая часть Python использует новую схему v7. Выбранный файл Core хранит идентичность треков, пути, теги, компактные строки анализа, отметки «нравится» и оценки классификаторов. Обязательный соседний файл *.artifacts.sqlite хранит большие эмбеддинги, Timeline SONARA и отпечатки. У двух файлов должен совпадать catalog_uuid; исполняемая часть проверяет эту связь перед работой.
*.evaluation.sqlite — необязательная соседняя база для данных оценки. Она не создаётся при одном лишь определении пути. Старые структуры v5/v6, включая *.timeline.sqlite и *.representations.sqlite, исполняемая часть v7 не мигрирует.
Выберите или создайте базу
В CLI передайте --db:
dj-sim scan D:\Music --db .\data\library.sqliteПорт интерфейса (frontend) на v7 отложен. Не полагайтесь на текущие элементы браузера для библиотеки v7: пока интерфейс переносится, используйте CLI или API.
Просканируйте папку
В CLI:
dj-sim scan D:\Music --db .\data\library.sqliteПроверенная поверхность сканирования v7 — команда CLI выше. Она создаёт новую связанную пару Core + Artifacts, когда отсутствуют оба файла, и не преобразует старую базу.
Поддерживаемые расширения:
.aif .aiff .alac .flac .m4a .mp3 .ogg .opus .wav .waveФайлы AppleDouble, имена которых начинаются с ._, пропускаются.
Что читает сканирование
Через Mutagen читается фиксированный набор полезных человеку метаданных: исполнитель, название, альбом, жанр, год, страна, лейбл, номер в каталоге, номер трека и диска, BPM, тональность, комментарии, ISRC, длительность, аудиоформат и данные кодека, если они доступны.
Если теги прочитать не удаётся, приложение всё равно создаёт минимальную запись, используя имя файла без расширения как название.
Что записывает сканирование
Сканирование записывает только строки треков и тегов Core. Оно обновляет трек при изменении размера файла или времени модификации и не записывает аудиотеги.
CLI выводит число добавленных, обновлённых, неизменившихся и пропущенных файлов.
Refresh Tags
Backend v7 умеет перечитывать теги существующих треков без повторного запуска SONARA, MAEST, MERT, MuQ или CLAP. Его элемент браузерного интерфейса отложен вместе с портом интерфейса, поэтому используйте текущую поверхность CLI/API, а не старые инструкции UI.
Просмотр после сканирования
В backend/API v7 есть типизированные запросы к библиотеке, но элементы интерфейса пока не совместимы с v7. Считайте существующие браузерные инструкции отложенными до завершения порта интерфейса.