Към съдържанието

Път на импортиране

Импортът превръща папка с файлове в каталогов запис, точен до издание, без да променя нито байт от файловете. Тази страница описва пътя зад процеса от ръководството за употреба.

Наблюдаваните папки се следят чрез събитията на файловата система на платформата, изчакват кратко за групиране на промени и се сканират повторно при промяна; сканиранията се съгласуват със съществуващия списък с кандидати, вместо да започват отначало. Скенерът класифицира папка като едно издание (аудио директно вътре или подпапки с форма на дискове като CD1/CD2) или влиза навътре като колекция. Файловете се класифицират по разширение като аудио, изображения и документи, после аудиото се проверява: важният кодек е този, който FFmpeg намира в байтовете, не файловото разширение. Папки с маркери за частично изтегляне се изключват, докато изтеглянето завърши.

CUE sheet превръща един аудио образ в списък с песни. Парсерът обработва pregaps и postgaps, изпълнители и ISRC за всяка песен, както образи в един файл, така и CUE подредби с по един файл на песен. Границите на песните се преобразуват от CUE кадри (1/75 от секунда) в точни позиции на семпли, които по-късно стават прозорците от байтове и семпли, използвани от възпроизвеждането.

Доказателства, не етикети

Връзка към този раздел

Идентифицирането чете три вида доказателства от папката с един проход:

  • disc ID, MusicBrainz отпечатъкът на точната CD подредба на песните, изчислен от rip log или от CUE sheet;
  • баркодове, декодирани от сканирани обложки чрез рамката за зрение на платформата и прочетени от CUE catalog полета;
  • текст: каталожни номера и свободен текст от OCR на обложки, имена на папки и файлове, и текстови файлове в рипа.

Вградените аудио етикети умишлено не са доказателство: те описват какво е вярвал етикетиращият, не какъв е пресингът. (Те захранват резервните метаданни, когато потребителят импортира издание като неизвестно.)

Disc ID и баркодът се търсят едновременно, disc ID срещу MusicBrainz, баркодът срещу MusicBrainz и Discogs наведнъж, а резултатите се съпоставят: резултати, които съвпадат по група издания, се събират; съвпадения по каталожен номер стесняват списъка с пресинги; несъгласие между сигнали се показва на потребителя като явен конфликт, не като тих най-добър избор. Всеки резултат носи произхода си (намерен по disc ID, по баркод, по каталожно съвпадение), така че интерфейсът може да каже защо се предлага даден ред.

MusicBrainz се заявява анонимно със строг ритъм от една заявка в секунда. Discogs се удостоверява с личния токен на потребителя от ключодържателя, разпределя се и се повтаря в рамките на ограниченията си, а отказан токен се докладва като такъв, за да може интерфейсът да го отбележи, вместо търсенията да се провалят тихо. Отговорите се кешират за сесията, а суровият JSON на източника, който спечели, се архивира в базата данни за бъдещо тълкуване.

Потвърждаването на импорт изпълнява поред:

  1. Проверка на декодирането: всяка песен се декодира от край до край; рип, който не може да се декодира изцяло, проваля импорта преди да се запише нещо (конфигурационен флаг може да изключи това).
  2. Анализ на силата на звука: integrated loudness и true peak се измерват за всяка песен и за албума по време на същия проход на декодиране, съхранени за replay-gain употреба.
  3. Избор на обложка: избраното изображение (отдалечено, изображение от папката или вградено) се рендерира наново като миниатюра за показване; оригиналът се пази сред файловете на изданието, ако е дошъл от папката.
  4. Атомарен запис: изданието, песните, заслугите, идентичностите, форматите, сегментите, файловете и обложката се записват в една транзакция. Няма наполовина импортирано състояние.

Изданието пристига, сочейки към файловете на потребителя на място. Ако потребителят е избрал управление в облака, качването се случва след записа като преход на съхранението, а оригиналните байтове на файловете остават източникът на истината през цялото време; нищо, което потребителят е дал на bae, никога не се изтрива или променя.

Разпознаване на рипове

Връзка към този раздел

Всяко издание записва хеш на съдържанието върху структурата на импортираната папка (относителни пътища и размери, независими от местоположението). Повторните сканирания го използват, за да маркират папки, които вече са в библиотеката, а повторни импорти на същия рип намират и заменят предишното издание, вместо да го дублират.