Разработчики) | Фонд Xiph.Org , Джош Коулсон, Эрик де Кастро Лопо |
---|---|
изначальный выпуск | 20 июля 2001 г . |
Стабильный выпуск | 1.3.3 [1] / 4 августа 2019 г . |
Репозиторий | |
Операционная система | Кроссплатформенность |
Тип | Кодек |
Лицензия | Инструменты командной строки: GNU GPL Библиотеки: BSD |
Интернет сайт | xiph |
Расширение имени файла | .flac |
---|---|
Тип интернет-СМИ | audio / flac |
Единый идентификатор типа (UTI) | org.xiph.flac |
Магическое число | fLaC [2] |
Тип формата | Аудио |
Стандарт | xiph |
Открытый формат ? | Да [3] |
FLAC ( / е л æ к / ; Свободное Lossless Audio Codec ) представляет собой аудио формат кодирования для сжатия без потерь сжатия из цифрового аудио , разработанный Xiph.org Foundation , а также имя свободного программного проекта производя FLAC инструменты эталонный программный пакет, включающий реализацию кодека . Цифровой звук, сжатый алгоритмом FLAC, обычно может быть уменьшен до 50–70 процентов от его исходного размера [4] и распакован до идентичной копии исходных аудиоданных.
FLAC - это открытый формат с бесплатным лицензированием и эталонной реализацией, которая является бесплатным программным обеспечением . FLAC поддерживает теги метаданных , обложки альбомов и быстрый поиск.
История [ править ]
Разработка была начата в 2000 году Джошем Коулсоном. [5] Формат битового потока был заморожен, когда FLAC вошел в стадию бета-тестирования с выпуском версии 0.5 эталонной реализации 15 января 2001 года. Версия 1.0 была выпущена 20 июля 2001 года. [5]
29 января 2003 года фонд Xiph.Org Foundation и проект FLAC объявили о включении FLAC под баннер Xiph.org. Xiph.org является домом для других бесплатных форматов сжатия, таких как Vorbis , Theora , Speex и Opus . [5] [6] [7]
Версия 1.3.0 была выпущена 26 мая 2013 года, после чего разработка была перенесена в репозиторий Git Xiph.org. [8]
Состав [ править ]
Проект FLAC состоит из:
- Форматы потоков
- Простой формат контейнера для потока, также называемый FLAC (или Native FLAC ).
- libFLAC, библиотека эталонных кодеров и декодеров и интерфейс метаданных
- libFLAC ++, объектно-ориентированная оболочка для libFLAC
flac
, программа командной строки на основе libFLAC для кодирования и декодирования потоков FLACmetaflac
, редактор метаданных командной строки для файлов .flac и для применения ReplayGain- Плагины ввода для различных музыкальных плееров ( Winamp , XMMS , foobar2000 , musikCube и многие другие)
- С включением Xiph.org формат контейнера Ogg , подходящий для потоковой передачи (также называемый Ogg FLAC )
Спецификация формата потока может быть реализована кем угодно без предварительного разрешения (Xiph.org оставляет за собой право устанавливать спецификацию FLAC и подтверждать соответствие), и ни формат FLAC, ни какие-либо из реализованных методов кодирования или декодирования не защищены никакими патентами. . Эталонная реализация является свободным программным обеспечением . Исходный код для libFLAC и libFLAC ++ доступен под лицензией BSD , и источники flac
, metaflac
и плагины доступны под лицензией GNU General Public License .
В заявленных целях проект FLAC призывает своих разработчиков не реализовывать какие-либо функции защиты от копирования ( DRM ). [9]
Дизайн [ править ]
Аудиоисточники, закодированные в FLAC, обычно уменьшаются до 50–70% от их первоначального размера, аналогично другим форматам без потерь, хотя окончательный размер зависит от плотности и амплитуды сжимаемой музыки, а для некоторых музыкальных файлов размер файла может быть меньше. снижается на 80%. [4]
Кодировщик исходного кода [ править ]
- Формат FLAC поддерживает только целочисленные образцы, но не с плавающей запятой . Он может обрабатывать любое битовое разрешение PCM от 4 до 32 бит на выборку, любую частоту дискретизации от 1 Гц до 65 535 Гц с шагом 1 Гц или от 10 Гц до 655350 Гц с шагом 10 Гц и любое количество каналов от 1 до 8. [10] На сегодняшний день (версия 1.3.3 эталонного кодировщика) кодирование FLAC ограничено 24 битами на выборку, поскольку не существует кодировщика для 32 битов на выборку. [11]
- В некоторых случаях каналы могут быть сгруппированы, например стерео и 5.1-канальный объемный звук , чтобы воспользоваться преимуществами межканальной корреляции для увеличения сжатия.
- Контрольные суммы CRC используются для идентификации поврежденных кадров при использовании в потоковом протоколе. Файл также включает полный MD5- хэш необработанного звука PCM в заголовке метаданных STREAMINFO . 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 кодирование занимает значительно больше времени без реального выигрыша в экономии места.
Вариант сжатия | Оригинал | Сжатый | Продолжительность | Соотношение | Время кодирования | Скорость кодирования | Время декодирования | Скорость декодирования |
---|---|---|---|---|---|---|---|---|
−0 | 2,030 ГиБ | 1,435 ГиБ | 03:18:21 | 70,67% | 01:29 | 134 × | 01:24 | 141 × |
−5 | 2,030 ГиБ | 1,334 ГиБ | 03:18:21 | 65,72% (-4,95)% | 03:44 | 53 × (в 2,5 раза медленнее) | 01:36 | 124 × |
−6 | 2,030 ГиБ | 1,334 ГиБ | 03:18:21 | 65,71% (-4,96, -0,01)% | 3:51 | 52 × (2,6 × медленнее) | 01:36 | 124 × |
−7 | 2,030 ГиБ | 1,333 ГиБ | 03:18:21 | 65,67% (-5, -0,04)% | 07:47 | 25 × (5,3 × медленнее) | 01:36 | 123 × |
−8 | 2,030 ГиБ | 1,329 ГиБ | 03:18:21 | 65,47% (-5,2, -0,2)% | 10:17 | 19 × (7 × медленнее) | 01:40 | 120 × |
−8 -A tukey (0,5) -A плоская вершина | 2,030 ГиБ | 1,328 ГиБ | 03:18:21 | 65,40% (-5,27, -0,07)% | 16:39 | 12 × (11 × медленнее) | 01:35 | 125 × |
Сравнение с другими форматами [ править ]
FLAC специально разработан для эффективной упаковки аудиоданных, в отличие от универсальных алгоритмов без потерь, таких как DEFLATE , которые используются в ZIP и gzip . В то время как ZIP может уменьшить размер аудиофайла с качеством компакт-диска на 10–20%, FLAC может уменьшить размер аудиоданных на 40–50% за счет использования характеристик звука.
Технические преимущества FLAC по сравнению с другими форматами без потерь заключаются в его способности быстро передаваться и декодироваться, независимо от уровня сжатия.
Поскольку FLAC - это схема без потерь, он подходит в качестве формата архива для владельцев компакт-дисков и других носителей, которые хотят сохранить свои аудиоколлекции. Если исходный носитель утерян, поврежден или изношен, копия аудиодорожек в формате FLAC гарантирует, что точная копия исходных данных может быть восстановлена в любое время. Точное восстановление из копии с потерями (например, MP3 ) тех же данных невозможно. FLAC без потерь означает, что он очень подходит для перекодирования, например, в MP3, без обычно связанной потери качества перекодирования между одним форматом с потерями и другим. Файл CUE необязательно может быть создан при разрываякомпакт-диск. Если компакт-диск правильно читается и копируется в файлы FLAC, файл CUE позволяет позднее записывать аудио-компакт-диск, идентичный по аудиоданным исходному компакт-диску, включая порядок дорожек и предварительную паузу , но исключая CD-текст и другие дополнительные данные, такие как тексты песен и графика на CD + G. [12]
Принятие и реализация [ править ]
Эталонная реализация FLAC реализована как базовая библиотека кодировщика и декодера libFLAC , при этом основная распространяемая программа flac
является эталонной реализацией libFLAC API. Этот API кодеков также доступен в C ++ как libFLAC ++. Эталонная реализация FLAC компилируется на многих платформах, включая большинство операционных систем Unix (таких как Solaris , BSD ) и Unix-подобных (включая Linux ), Microsoft Windows , BeOS и OS / 2 . Существуют сборочные системы для autoconf / automake , MSVC ,Watcom C и Xcode . Там в настоящее время нет многоядерной поддержки в libFLAC, но такие утилиты, как GNU параллельно и различные графические интерфейсы могут быть использованы для раскрутки несколько экземпляров кодировщика.
Поддержка воспроизведения FLAC в портативных аудиоустройствах и специализированных аудиосистемах ограничена по сравнению с такими форматами, как MP3 [16] или несжатый PCM . Поддержка FLAC включена по умолчанию в устройства Windows 10 , Android , Blackberry 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]
Среди прочего, музыкальный проигрыватель и потоковый сервис Pono использовали формат FLAC. [22] [23] Bandcamp настаивает на формате загрузки без потерь и предлагает FLAC в качестве варианта загрузки. [24] Фонд Викимедиа спонсировал бесплатный онлайн- инструмент ECMAScript FLAC с открытым исходным кодом для браузеров, поддерживающих необходимые функции HTML5 . [25]
Майкрософт Виндоус | macOS | Linux | ОС Android | iOS | |
---|---|---|---|---|---|
Поддержка кодеков | да | да | да | да | да |
Поддержка контейнера | FLAC (.flac) Matroska (.mka, .mkv) | FLAC (.flac) Основной аудиоформат (.caf) | FLAC (.flac) Matroska (.mka, .mkv) Ogg (.oga) | FLAC (.flac) | FLAC (.flac) Основной аудиоформат (.caf) |
Примечания | Поддержка представлена в Windows 10. | Поддержка появилась в High Sierra. | Необходимо установить FLAC. | Поддержка появилась в Android 3.1 | Поддержка появилась в iOS 11 (но зависит от используемого оборудования). |
Поддерживаются различные другие контейнеры, независимо от используемой операционной системы, в зависимости от используемого программного обеспечения для воспроизведения.
См. Также [ править ]
- Сравнение форматов кодирования аудио
Ссылки [ править ]
- ^ "FLAC 1.3.3 (4 августа 2019 г.)" .
- ^ Коулсон, Джош. «FLAC-формат» . Проверено 4 апреля 2013 года .
«fLaC», маркер потока FLAC в ASCII, что означает, что байт 0 потока равен 0x66, за которым следует 0x4C 0x61 0x43
- ^ "PlayOgg!" . Фонд свободного программного обеспечения . 17 марта 2010 . Проверено 1 октября 2013 года .
- ^ а б «Глядя на коэффициенты сжатия Flac» . Стивен Голубь . Проверено 10 мая 2018 .
- ^ a b c "Новости" . FLAC . Проверено 31 августа 2009 года .
- ^ "FLAC присоединяется к Xiph.org" . Фонд Xiph.org . 29 января 2003 . Проверено 31 августа 2009 года .
- ^ Завод, Эммет. "FLAC присоединяется к Xiph!" . Фонд Xiph.org . Архивировано из оригинального 29 мая 2008 года . Проверено 31 августа 2009 года .
- ^ "FLAC - журнал изменений" . Фонд Xiph.org . Проверено 15 октября 2013 года .
- ^ «Разработчики» . FLAC . Проверено 15 октября 2013 года .
- ^ «Формат» . FLAC . Проверено 20 мая 2017 года .
- ^ https://xiph.org/flac/changelog.html
- ^ a b «FAQ» . FLAC . Проверено 23 сентября 2014 года .
- ^ "Сравнение кодировщиков FLAC CUETools" . CUETools Wiki . Проверено 27 мая 2013 года .
- ^ «Настройки кодирования» . JRiver Media Center . Проверено 27 мая 2013 года .
- ^ «Сравнение кодеков без потерь» . Synthetic-soul.co.uk . Архивировано из оригинального 2 -го февраля 2009 года . Проверено 26 ноября +2016 .
- ^ "Ссылки" . FLAC . Проверено 24 марта 2009 года .
- ^ "Что такое система EBU Musipop?" . EBU .
- ^ «Аудио-снобы радуются: Windows 10 будет иметь общесистемную поддержку FLAC» . Мир ПК . Дата обращения 10 июля 2015 .
- ^ «Поддерживаемые Android форматы мультимедиа» . Android.com . 4 августа 2011 . Проверено 27 февраля 2012 года .
- ^ «Проблема 1461 - android - запрос на расширение поддержки файлов FLAC» . Код Google . Проверено 5 августа 2011 года .
- ^ «iOS 11 обеспечивает воспроизведение аудио в формате FLAC без потерь на iPhone и iPad» . idownloadblog.com . 9 июня 2017 . Проверено 26 сентября 2017 года .
- ^ "FAQ" . ponomusic.com . 14 марта 2014 . Проверено 14 марта 2014 .
- ^ "Дом" . Qobuz.com . Проверено 10 апреля 2014 года .
- ^ "Почему мои треки не загружаются?" . Bandcamp . Проверено 21 июня 2015 года .
- ^ Rillke (2015). "Декодер и декодер JavaScript FLAC" . Дата обращения 9 февраля 2015 .
Внешние ссылки [ править ]
Викискладе есть медиафайлы по теме « Бесплатный аудиокодек без потерь» . |
- Официальный веб-сайт
- Сравнение аудиоформатов без потерь : сравнение FLAC с пятью другими аудиоформатами без потерь
- Сравнение без потерь : FLAC с семью другими аудиоформатами без потерь на Hydrogenaudio
- GSMArena Phone Finder : все телефоны и планшеты с поддержкой FLAC