FLAC розшифровується як Free Lossless Audio Codec і робить саме те, що каже назва: зменшує розмір аудіофайла, не змінюючи жодного семплу. Джош Коалсон започаткував цей проєкт, а зараз його підтримує Xiph.Org Foundation, неприбуткова організація, що стоїть за Vorbis та Opus. І формат, і його еталонне програмне забезпечення є відкритими та вільними від ліцензійних відрахувань, і це одна з причин, чому FLAC став стандартним способом архівування CD-колекцій і звичайним варіантом для завантаження в музичних магазинах, якими керують самі виконавці.
Як FLAC стискає без жодних втрат
Стиснення без втрат звучить суперечливо поруч з MP3, але це та сама ідея, яку використовує ZIP-файл, адаптована для звуку. FLAC ділить аудіо на блоки і для кожного блока підбирає просте математичне передбачення того, куди прямує хвильова форма. Потім зберігається лише це передбачення та невеликі залишкові помилки, упаковані ефективною схемою кодування. Під час декодування передбачення знову проганяється, а помилки додаються назад, що відтворює початкові семпли біт у біт. Наскільки зменшиться розмір, залежить від музики, але файл FLAC зазвичай значно менший, ніж той самий запис у форматі WAV.
FLAC підтримує до восьми каналів, глибину бітів, вищу за CD-якість, і дуже високі частоти дискретизації. Як і MP3, він побудований на кадрах, тож його можна передавати потоково та перемотувати без попереднього читання всього файла. У заголовку також зберігається MD5-відбиток нестисненого аудіо, щоб програмне забезпечення могло й через багато років довести, що файл усе ще декодується точно в те, що було зчитано. Цей самий кодек може зберігатися всередині контейнера Ogg, хоча зазвичай ви маєте справу зі звичайним FLAC-файлом.
Які метадані містить файл FLAC
Файл FLAC починається з послідовності блоків метаданих, кожен з чітко визначеною роллю. STREAMINFO є технічним блоком і присутній завжди: частота дискретизації, кількість каналів, біт на семпл, загальна кількість семплів і той самий MD5-відбиток. SEEKTABLE допомагає програвачам перескакувати по файлу, CUESHEET може описувати структуру треків усього CD, PICTURE містить вбудовану обкладинку з її типом і описом, а PADDING це просто порожній простір, щоб теги можна було редагувати пізніше без перезапису всього файла.
Описові теги зберігаються в блоці VORBIS_COMMENT, це та сама система тегів, що використовує Ogg. Це список пар звичайного тексту, кожна з яких складається з назви поля та значення, тож набір полів не обмежений жорстко. TITLE, ARTIST, ALBUM, ALBUMARTIST, DATE, TRACKNUMBER, DISCNUMBER, GENRE, COMPOSER, PERFORMER, COPYRIGHT, ISRC і COMMENT зустрічаються найчастіше, і будь-яке поле може з’являтися більше ніж один раз, що й дозволяє треку вказувати двох виконавців.
Оскільки будь-яка програма може вигадати власне поле, цей блок часто розповідає про ланцюжок програм не менше, ніж про саму музику. ENCODER указує застосунок і версію, які створили файл. Програми для рипінгу додають свої записи: ідентифікатори, що пов’язують диск з онлайн-базою музики, оцінки, лічильники відтворень, вимірювання replay gain і іноді привід, який зчитував CD. У ці вільні поля також потрапляють особисті нотатки, справжнє ім’я чи адреса електронної пошти, якщо хтось ввів їх у теггер. FLAC не має стандартного поля для місця чи пристрою, тому музичний файл рідко розкриває, де ви були, але все, що людина або застосунок вирішили туди записати, зберігається там у читабельному вигляді.
Коли використовувати FLAC
FLAC це правильний вибір для зберігання аудіо: CD-колекції, майстер-записів, усього, що ви, можливо, захочете конвертувати знову. У порівнянні з WAV він виграє за розміром і можливостями тегування, залишаючись при цьому біт-у-біт ідентичним джерелу. Порівняно з MP3 або AAC він значно більший, тому погано підходить для телефону з обмеженою пам’яттю або завантаженого вебсайту. Пристрої Apple надають перевагу ALAC, ще одному форматy без втрат, побудованому на тій самій ідеї, і перетворення між ними не коштує вам нічого, адже обидва зберігають кожен семпл.