FLAC - FLAC

Бесплатный аудиокодек без потерь
Flac logo vector.svg
Flac windows output.png
Разработчики)Фонд Xiph.Org, Джош Коулсон, Эрик де Кастро Лопо
изначальный выпуск20 июля 2001 г.; 19 лет назад (2001-07-20)
Стабильный выпуск
1.3.3[1] / 4 августа 2019; 16 месяцев назад (4 августа 2019 г.)
Репозиторий Отредактируйте это в Викиданных
Операционная системаКроссплатформенность
ТипКодек
ЛицензияИнструменты командной строки: GNU GPL
Библиотеки: BSD
Интернет сайтxiph.org/ flac
Бесплатный аудиокодек без потерь
Расширение имени файла
.flac
Тип интернет-СМИ
audio / flac
Единый идентификатор типа (UTI)org.xiph.flac
Магическое числоfLaC[2]
Тип форматаАудио
Стандартxiph.org/ flac/формат.html
Открытый формат ?да[3]

FLAC (/жлæk/; Бесплатный аудиокодек без потерь) является формат кодирования звука за сжатие без потерь из цифровой звук, разработанная Фонд Xiph.Org, а также название проекта бесплатного программного обеспечения, производящего инструменты FLAC, эталонного программного пакета, который включает кодек выполнение. Цифровой звук, сжатый FLAC алгоритм обычно может быть уменьшен до 50-70 процентов от исходного размера[4] и распаковать до идентичной копии исходных аудиоданных.

FLAC - это открытый формат с бесплатно лицензирование и эталонная реализация который бесплатно программное обеспечение. FLAC поддерживает метаданные тегирование, обложка альбома искусство и быстрый поиск.

История

Разработка была начата в 2000 году Джошем Коулсоном.[5] Формат битового потока был заморожен, когда FLAC вошел в стадию бета-тестирования с выпуском версии 0.5 эталонной реализации 15 января 2001 года. Версия 1.0 была выпущена 20 июля 2001 года.[5]

29 января 2003 г. Фонд Xiph.Org а проект FLAC объявил о включении FLAC под баннер Xiph.org. Xiph.org является домом для других бесплатных форматов сжатия, таких как Vorbis, Теора, Speex и Opus.[5][6][7]

Версия 1.3.0 была выпущена 26 мая 2013 года, после чего разработка была перенесена в репозиторий Git Xiph.org.[8]

Сочинение

Проект FLAC состоит из:

  • Форматы потоков
  • Простой формат контейнера для потока, также называемого FLAC (или Собственный FLAC)
  • libFLAC, библиотека эталонных кодеров и декодеров и интерфейс метаданных
  • libFLAC ++, объектно-ориентированный обертка вокруг libFLAC
  • flac, программа командной строки на основе libFLAC для кодирования и декодирования потоков FLAC
  • метафлак, редактор метаданных командной строки для файлов .flac и для применения ReplayGain
  • Плагины ввода для различных музыкальных плееров (Winamp, XMMS, foobar2000, musikCube и многое другое)
  • После включения Xiph.org Ogg формат контейнера, подходящий для потоковой передачи (также называемый Ogg FLAC)

Спецификация формата потока может быть реализована кем угодно без предварительного разрешения (Xiph.org оставляет за собой право устанавливать спецификацию FLAC и подтверждать соответствие), и ни формат FLAC, ни какой-либо из реализованных кодирование или же расшифровка методы защищены любым патентом. В эталонная реализация является бесплатно программное обеспечение. В исходный код для libFLAC и libFLAC ++ доступен под Лицензия BSD, а источники для flac, метафлак, а плагины доступны в Стандартная общественная лицензия GNU.

В заявленных целях проект FLAC призывает своих разработчиков не реализовывать функции защиты от копирования (DRM ) любого вида.[9]

Дизайн

Аудиоисточники, закодированные в FLAC, обычно уменьшаются до 50–70% от их исходного размера, аналогично другим форматам без потерь, хотя окончательный размер зависит от плотности и амплитуды сжимаемой музыки, а для некоторых музыкальных файлов размер файла может быть меньше. снижается на 80%.[4]

Исходный кодировщик

  • Формат FLAC поддерживает только целое число образцы, а не плавающая точка. Он справится с любыми PCM битовое разрешение от 4 до 32 биты за образец, любое частота выборки с 1Гц до 65535 Гц с шагом 1 Гц или от 10 Гц до 655350 Гц с шагом 10 Гц и любое количество каналов от 1 до 8.[10] На сегодняшний день (версия 1.3.3 эталонного кодировщика) кодирование FLAC ограничено 24 битами на выборку, поскольку не существует кодировщика для 32 битов на выборку.[11]
  • В некоторых случаях каналы могут быть сгруппированы, например стерео и 5.1-канальный. окружать, чтобы использовать преимущества межканальной корреляции для увеличения сжатия.
  • CRC контрольные суммы используются для идентификации поврежденных кадров при использовании в потоковом протоколе. Файл также включает полный MD5 хэш необработанного звука PCM в его СТРИМИНФО заголовок метаданных. FLAC позволяет Параметр риса от 0 до 16.
  • FLAC использует линейное предсказание для преобразования аудиосэмплов. Есть два шага: предсказатель и кодирование ошибок. Предиктор может быть одного из четырех типов (нулевой, дословный, фиксированный линейный и конечный импульсный отклик).[сомнительный ] (FIR) Линейный). Вычисляется разница между предсказателем и фактическими данными выборки, которая называется остатком. Остаток эффективно хранится с использованием Кодирование Голомба-Райса. Он также использует кодирование длин серий для блоков одинаковых образцов, например, тихих проходов.

Метаданные

  • FLAC поддерживает ReplayGain.
  • Для тегов FLAC использует ту же систему, что и Комментарии Vorbis.[12]
  • API libFLAC организован в потоки, доступные для поиска потоки и файлы (перечислены в порядке возрастания абстракции от базового потока битов FLAC).
  • Большинство приложений FLAC обычно ограничиваются кодированием / декодированием с использованием libFLAC на уровне файлового интерфейса.

Уровни сжатия

libFLAC использует параметр уровня сжатия, который варьируется от 0 (самый быстрый) до 8 (самый медленный). Сжатые файлы - это всегда идеальное представление исходных данных без потерь. Хотя процесс сжатия предполагает компромисс между скоростью и размером, процесс декодирования всегда довольно быстр и не зависит от уровня сжатия.[13][14]

Согласно тесту .WAV на Athlon XP 2400+,[15] при использовании более высоких скоростей, превышающих уровень по умолчанию -5, требуется значительно больше времени для кодирования без реальной экономии места.

Вариант сжатияОригиналСжатыйПродолжительностьСоотношениеВремя кодированияСкорость кодированияВремя декодированияСкорость декодирования
−02,030 ГиБ1,435 ГиБ03:18:2170.67%01:29134x01:24141x
−52,030 ГиБ1,334 ГиБ03:18:2165.72% (−4.95)%03:4453x (в 2,5 раза медленнее)01:36124x
−62,030 ГиБ1,334 ГиБ03:18:2165.71% (−4.96, −0.01)%03:5152x (в 2,6 раза медленнее)01:36124x
−72,030 ГиБ1,333 ГиБ03:18:2165.67% (−5, −0.04)%07:4725x (в 5,3 раза медленнее)01:36123x
−82,030 ГиБ1,329 ГиБ03:18:2165.47% (−5.2, −0.2)%10:1719x (в 7 раз медленнее)01:40120x
−8 -A tukey (0,5) -A плоская вершина2,030 ГиБ1,328 ГиБ03:18:2165.40% (−5.27, −0.07)%16:3912x (в 11 раз медленнее)01:35125x

Сравнение с другими форматами

FLAC специально разработан для эффективной упаковки аудиоданных, в отличие от универсальных алгоритмов без потерь, таких как ВЫПУСКАТЬ, которые используются в ZIP и gzip. В то время как ZIP может уменьшить размер аудиофайла с качеством компакт-диска на 10–20%, FLAC может уменьшить размер аудиоданных на 40–50% за счет использования характеристик звука.

Технические преимущества FLAC по сравнению с другими форматами без потерь заключаются в его способности быстро передаваться и декодироваться, независимо от уровня сжатия.

Поскольку FLAC является схемой без потерь, он подходит в качестве формата архива для владельцев компакт-дисков и других носителей, которые хотят сохранить свои аудиоколлекции. Если исходный носитель утерян, поврежден или изношен, копия аудиодорожек в формате FLAC гарантирует, что точную копию исходных данных можно будет восстановить в любое время. Точное восстановление с копии с потерями (например, MP3 ) одних и тех же данных невозможно. FLAC без потерь означает, что он очень подходит для перекодирование например в MP3 без обычно связанной потери качества перекодирования между одним форматом с потерями и другим. А CUE файл может быть дополнительно создан, когда разрывание компакт-диск. Если компакт-диск правильно читается и копируется в файлы FLAC, файл CUE позволяет позднее записывать аудио-компакт-диск, который идентичен по аудиоданным исходному компакт-диску, включая порядок дорожек и pregap, но исключая CD-текст и другие дополнительные данные, такие как тексты песен и CD + G графика.[12]

Принятие и внедрение

Эталонная реализация FLAC реализована как libFLAC основная библиотека кодировщика и декодера с основной распространяемой программой flac является эталонной реализацией libFLAC API. Этот кодек API также доступен на C ++ как libFLAC ++. Эталонная реализация FLAC компилируется на многих платформах, включая большинство Unix (Такие как Солярис, BSD ) и Unix-подобный (включая Linux ), Майкрософт Виндоус, BeOS, и OS / 2 операционные системы. Есть билд-системы для autoconf /автопроизводитель, MSVC, Watcom C, и Xcode. В настоящее время нет многоядерный поддержка в libFLAC, но такие утилиты, как GNU parallel и различные графические интерфейсы могут использоваться для запуска нескольких экземпляров кодировщика.

Поддержка воспроизведения FLAC на портативных аудиоустройствах и специализированных аудиосистемах ограничена по сравнению с такими форматами, как MP3.[16] или без сжатия PCM. Поддержка FLAC включена по умолчанию в Windows 10, Android, Ежевика 10 и Jolla устройств.

В 2014 году несколько компаний-производителей мобильной электроники представили мультимедийные решения с поддержкой FLAC. К ним относятся серия NEX от Pioneer Electronics и VX404 и NX404 от Clarion.

В Европейский вещательный союз (EBU) приняла формат FLAC для распространения высококачественного звука по своей сети Еврорадио.[17] В Windows Операционная система поддерживает встроенную интеграцию FLAC с момента появления Windows 10.[18] В Операционная система Android поддерживает собственное воспроизведение FLAC начиная с версии 3.1.[19][20] macOS High Sierra и iOS 11 добавить встроенную поддержку воспроизведения FLAC.[21]

Среди прочего Поно музыкальный проигрыватель и потоковый сервис использовали формат FLAC.[22][23] Лагерь группы настаивает на формате без потерь для загрузки и имеет FLAC в качестве варианта загрузки.[24] В Фонд Викимедиа спонсировал бесплатную онлайн-версию с открытым исходным кодом ECMAScript Инструмент FLAC для браузеров, поддерживающих необходимые HTML5 Особенности.[25]

Поддержка FLAC разными операционными системами
Майкрософт ВиндоусmacOSLinuxОС AndroidiOS
Поддержка кодековдадададада
Поддержка контейнераFLAC (.flac)
Матроска (.mka, .mkv)
FLAC (.flac)
Основной аудиоформат (.caf)
FLAC (.flac)
Матроска (.mka, .mkv)
Ogg (.oga)
FLAC (.flac)FLAC (.flac)
Основной аудиоформат (.caf)
ПримечанияПоддержка представлена ​​в Windows 10.Поддержка появилась в High Sierra.Необходимо установить FLAC.Поддержка появилась в Android 3.1Поддержка появилась в iOS 11 (но зависит от используемого оборудования).

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

Смотрите также

Рекомендации

  1. ^ «FLAC 1.3.3 (4 августа 2019 г.)».
  2. ^ Коулсон, Джош. «FLAC - формат». Получено 4 апреля 2013. «fLaC», маркер потока FLAC в ASCII, что означает, что байт 0 потока равен 0x66, за которым следует 0x4C 0x61 0x43
  3. ^ "PlayOgg!". Фонд свободного программного обеспечения. 17 марта 2010 г.. Получено 1 октября 2013.
  4. ^ а б «Глядя на коэффициенты сжатия Flac». Стивен Голубь. Получено 10 мая 2018.
  5. ^ а б c "Новости". FLAC. Получено 31 августа 2009.
  6. ^ "FLAC присоединяется к Xiph.org". Фонд Xiph.org. 29 января 2003 г.. Получено 31 августа 2009.
  7. ^ Завод, Эммет. "FLAC присоединяется к Xiph!". Фонд Xiph.org. Архивировано из оригинал 29 мая 2008 г.. Получено 31 августа 2009.
  8. ^ "FLAC - журнал изменений". Фонд Xiph.org. Получено 15 октября 2013.
  9. ^ "Разработчики". FLAC. Получено 15 октября 2013.
  10. ^ "Формат". FLAC. Получено 20 мая 2017.
  11. ^ https://xiph.org/flac/changelog.html
  12. ^ а б "ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ". FLAC. Получено 23 сентября 2014.
  13. ^ "Сравнение кодеров CUETools FLAC". CUETools вики. Получено 27 мая 2013.
  14. ^ «Настройки кодирования». JRiver Media Center. Получено 27 мая 2013.
  15. ^ «Сравнение кодеков без потерь». Synthetic-soul.co.uk. Архивировано из оригинал 2 февраля 2009 г.. Получено 26 ноября 2016.
  16. ^ "Ссылки". FLAC. Получено 24 марта 2009.
  17. ^ "Что такое система EBU Musipop?". EBU.
  18. ^ «Аудио-снобы радуются: Windows 10 будет иметь общесистемную поддержку FLAC». Компьютерный мир. Получено 10 июля 2015.
  19. ^ «Поддерживаемые Android форматы мультимедиа». Android.com. 4 августа 2011 г.. Получено 27 февраля 2012.
  20. ^ «Проблема 1461 - android - запрос на расширение поддержки файлов FLAC». Код Google. Получено 5 августа 2011.
  21. ^ «iOS 11 обеспечивает воспроизведение аудио в формате FLAC без потерь на iPhone и iPad». idownloadblog.com. 9 июня 2017 г.. Получено 26 сентября 2017.
  22. ^ "ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ". ponomusic.com. 14 марта 2014 г.. Получено 14 марта 2014.
  23. ^ "Дома". Qobuz.com. Получено 10 апреля 2014.
  24. ^ "Почему мои треки не загружаются?". Лагерь группы. Получено 21 июн 2015.
  25. ^ Рильке (2015). "Декодер и декодер JavaScript FLAC". Получено 9 февраля 2015.

внешняя ссылка