Слушаем FLAC на Android. Есть ли разница между аудио форматами MP3, AAC, FLAC и какой нужно использовать? Какие телефоны поддерживают flac

Музыка в наших ушах в метро, на скучных парах, перед сном; и многие уже понимают, что скаченные из VK аудиозаписи не доставляют прежнего восторга. Некоторые переходят на ACС формат, но советую сразу пойти дальше - прямиком к FLAC, слушать который можно без проблем со смартфона.

Что это такое

FLAC (Free Lossless Audio Codec) — это аудио-кодек, сжимающий исходный аудиофайл без потерь качества. Прослушивая музыку в подобном формате, вы услышите всё, что задумал композитор или свел диджей. Естественно, старенькие затычки вам в этом не помогут, равно как и древний телефон: FLAC требует должного внимания как со стороны плеера, так и со стороны наушников. В противном случае отличить MP3 от формата высокой четкости вы не сможете, только зря потратите место, ведь подобное аудио занимает в 2-3 раза больше пространства, чем привычные MP3 файлы.

Что я использую

На моих руках оказался достаточно доступный для потребителя сет. В качестве наушников у меня популярная студийная (по заверению производителя) модель Sony MDR-1R. Вышла она еще в далеком 2013 году, но до сих пор пользуется неплохим спросом.

Sony заявляет о поддержке аудио высокой четкости, что нам и нужно. Наушники имеют мембрану из жидкокристаллической полимерной пленки, выдающей частоту от 4 Гц до 80 кГЦ, обладают съемным кабелем и достаточно удобной посадкой (спасибо подложке и амбушюрам, как мне показалось, из самой настоящей кожи).

В качестве воспроизводящего устройства - Meizu MX4. Само устройство обладает весьма нейтральным звучанием, что дает простор для фантазии при использовании эквалайзера. Запаса по громкости хватает, шумов минимум.

Немного о ПО

MX4 прямо из коробки умеет воспроизводить как ACC, так и FLAC. Единственное: при максимальном битрейте на некоторых нотах смартфон тупит, бывают короткие заедания. Поэтому я подобно тысячам пользователей пользуюсь сторонним ПО, которым в моём случае стал бесплатный AIMP плеер.

Из его главных достоинств: возможность проигрывать кучу форматов (в том числе и FLAC), качественный эквалайзер с десятком заготовленных пресетов на все случаи жизни. Что еще нужно?


Конечно, сначала придется раздобыть аудиозаписи, а как добудете, скидываете в любую удобную папку в памяти телефона. Далее жмем на троеточие сверху справа>«Добавить файлы», выбираем нужную папку и тыкаем на галочку (внизу справа). Эквалайзер находится в этом же меню.

Приложения больше нет в Google Play:(

Впечатления

Честно признаться, изначально я подобного результата и не ожидал. Выбранные мной наушники отличаются достаточно большим сопротивлением в 48 ОМ, что нормально для аудио высокой четкости и много для среднего смартфона, чей предел останавливается на 33-40 ОМ. Впрочем, на выходе был получен очень хороший, отличающийся от услышанного мною на аудиокарте лишь деталями вокала, звук. Басы и средние уверенно шли вровень с ПК воспроизведением, а он у меня может «раскачать» уши до 600 ОМ. Количество деталей померкло, но, сравнивая с MP3, уверенно говорю, что звук стал детализированнее и глубже. Проблема половины аудиозаписей низкого качества и средних смартфонов именно в плоском звуке. MX4 подобными косяками не обладает.

  • Подбирая наушники, помните и о звукоизоляции, если собираетесь использовать их вне дома: какие бы детали вы не слышали, уютно расположившись в кресле, метро с легкостью лишит вас всей прелести lossless-музыки.
  • О смартфоне: сотрясайте форумчан и представителей компании, спрашивая о максимальном сопротивлении, которое выдерживает смартфон. Хорошим знаком станет наличие у гаджета отдельного звукового чипа. На мой взгляд, одним из лучших вариантов является старшая разновидность моего смартфона - Meizu MX4 Pro.
  • Если у вас уже есть устройство и менять вы его не собираетесь, то вполне возможно воспользоваться внешним усилителем, который изрядно преобразит звук, но это уже тема для отдельного материала.

FLAC является кодеком для сжатия аудио данных, изначально написанный Джошем Колсоном. Как следует из названия, FLAC осуществляет сжатие данных, оставляя при этом их идентичными оригиналу, таким образом, ни одна часть данных не теряется – это и является основной задачей алгоритмов сжатия без потерь. Цифровая аудио запись (такая как CD-Audio трэк), сжатая в формат FLAC может быть распакована в абсолютно идентичную копию аудио данных. Степень сжатия формата FLAC , как правило, варьируется от 50 до 60% от оригинального размера.

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

История

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

29 января 2003 года организация Xiph.Org и проект FLAC объявили о включении проекта FLAC под символ Xiph.Org.

17 сентября 2007 года была выпущена версия 1.2.1, в которой была добавлена возможность сохранять AIFF и RIFF цепочки метаданных при помощи ключа --keep-foreign-metadata .

Спустя 6 лет 26 мая 2013 года вышел следующий релиз 1.3.0 от новой команды Xiph.Org . В этот релиз вошли небольшие изменения и общие улучшения. В частности, проект переехал в git-репозиторий организации Xiph.Org и была добавлена поддержка форматов RF64 и Wave64.

После прошествия еще полутора лет 25 ноября 2014 года вышел в свет релиз 1.3.1 с более серьезными изменениями. В этот раз была улучшена производительность кодирования при использовании SSE и AVX расширений. Также была улучшена производительность декодирования для всех разрядностей, но особенно для 24 бит в связке с архитектурой IA32.

Проект

Проект FLAC состоит из следующих частей:

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

Бесплатность формата означает то, что спецификация его потокового формата может быть реализована кем угодно, без каких либо прав на это (тем не менее, Xiph.Org оставляет за собой право устанавливать спецификации формата и сертифицировать их соблюдение). Также реализация любых методов кодирования / декодирования формата FLAC не может быть включена в патент. Это означает, что эталонная реализация является свободным программным обеспечением. Исходные коды libFLAC и libFLAC++ доступны под лицензией BSD, а утилиты командной строки – под GPL.

Одной из поставленных целей проекта FLAC является призыв разработчиков, не создавать какие бы то ни было функции защиты от копирования.

Сравнения

FLAC был разработан для эффективного сжатия аудио данных, в отличие от обычных алгоритмов, таких как DEFLATE (ZIP и gzip), которые используются в других кодеках без потерь. В то время как ZIP может сжать CD-Audio файл на 10-20%, FLAC достигает коэффициентов сжатия 30-50% для большинства музыки, и особенно хорошо сжатие FLAC показывает при работе с голосовыми записями. Для сравнения, кодеки с потерями могут достигать коэффициентов сжатия в 80% и более, отбрасывая часть данных из исходного звукового потока.

FLAC использует линейное прогнозирование для конвертации сэмплов в небольшие последовательности некоррелирующих чисел (известных как остаточные), которые хранятся используя эффективное кодирование Голомба-Райса. Также в формате FLAC используется кодирование блоков с идентичными сэмплами, таких, как тихие пассажи. Технической силой формата FLAC , по сравнению с другими кодеками без потерь, является его возможность быть потоковым и декодироваться за короткое время, которое не зависит от степени сжатия.

Будучи схемой сжатия без потерь, FLAC также является популярным форматом для хранения архивов у владельцев аудио дисков или других медиа-данных, стремящихся сохранить свою аудио коллекцию. Если оригинальная запись потеряется, повредится или износится, копия в формате FLAC дает гарантию того, что точный дубликат оригинальной записи может быть восстановлен в любое время. Точное восстановление из архива с потерями (например, MP3) невозможно. Являясь форматом без потерь, FLAC вполне может подвергаться транскодингу (например, в MP3) без потерь качества, как правило, свойственным транскодингу. Во время извлечения данных с CD может быть также создан CUE файл. Если данные с компакт диска были извлечены в формат FLAC успешно, то файл CUE позволяет восстановить копию диска, идентичную оригинальному, включая порядок треков, начальный зазор (pregap) и CD-Text данные. Однако, дополнительная информация, которая может присутствовать на некоторых аудио дисках, такая как тексты песен, графика CD+G будут находиться за полем видимости CUE файла и большинства извлекающего программного обеспечения, и, таким образом, эта информация не будет извлечена.

Европейский вещательный союз (EBU) принял на вооружение формат FLAC для распространения высококачественного звука через сеть «Еврорадио».

Технические детали

Формат FLAC поддерживает только целочисленные сэмплы. Это позволяет избежать неточностей нецелочисленной арифметики, таким образом, это дает гарантию сжатия без потерь. На вход кодер может принимать от 4 до 32 бит на сэмпл, любую частоту дискретизации от 1 Гц до 655 350 Гц с шагом в 1 Гц, а также любое количество каналов в диапазоне от 1 до 8. Каналы могут быть сгруппированы в случае стерео или 5.1 звука для извлечения выгода от межканальных корреляций и, тем самым, увеличивая степень сжатия звука. FLAC проверяет контрольные суммы CRC для обнаружения испорченных фреймов в тех случаях, когда формат используется в потоковом протоколе. Помимо этого, в тэге с заголовком STREAMINFO хранится полный MD5 хэш необработанных PCM аудио данных. FLAC допускает диапазон Rice параметра от 0 до 16. FLAC поддерживает ReplayGain .

FLAC реализован как ядро кодера и декодера в библиотеке libFLAC, которая слинкована с основной поставляемой программой flac, являющейся эталонной программой, использующей API libFLAC. Также API кодека доступно для C++ в библиотеке libFLAC++.

Эталонная реализация FLAC компилируется на многих платформах, включая системы Unix (такие как Solaris и Mac OS X) и Unix-подобные (включая Linux и BSD), Windows BeOS и OS/2. Проект настроен для сборки следующими утилитами: autoconf / automake, MSVC, Watcom C и Xcode. В настоящий момент FLAC не поддерживает многопоточность.

Для тэгов FLAC использует ту же систему, что и Vorbis-комментарии.

Организация API

libFLAC API организован для различных направлений: потоковое, потоковое с поддержкой смещения и файловое (перечислено в порядке увеличения уровня абстракции относительно базового битового FLAC потока). Большинство FLAC приложений ограничиваются кодированием / декодированием, используя интерфейс libFLAC лишь файлового уровня.

Плюсы

  • Портируется на многие системы и платформы
  • Исходный код открыт и легко лицензирован
  • Быстрое декодирование, высокая независимость от уровня сжатия
  • Аппаратная поддержка (PhatBox, Kenwood MusicKeg, Rio Karma и другие)
  • Поддержка стриминга
  • Испорченные файлы могут быть частично восстановлены

Минусы

  • Менее эффективное сжатие, чем у некоторых других современных кодеков (APE (Monkey’s Audio) , LPAC, OptimFROG)

Коэффициент производительность/сжатие приблизительно такой же как и у WavPack (однако, WavPack быстрее), и на 1%-2% хуже, чем у других современных кодеров, таких как APE (Monkey’s Audio) и OptimFROG .

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

Free Lossless Audio Codec
Тип Аудио кодек , формат аудиофайлов
Разработчик Josh Coalson, Xiph.Org Foundation
Написана на Си
Операционная система Кроссплатформенный
Первый выпуск 20 июля
Последняя версия 1.3.2 (1 января )
Читаемые форматы файлов Free Lossless Audio Codec [d]
Создаваемые форматы файлов Free Lossless Audio Codec [d]
Лицензия GNU GPL ; BSD (Parts)
Сайт xiph.org/flac
Free Lossless Audio Codec на Викискладе
FLAC
Расширение .flac
MIME -тип audio/x-flac
Разработчик Xiph.Org
Опубликован 20 июля
Тип формата Аудио
Стандарт(ы)
Сайт xiph.org/flac

В отличие от аудиокодеков, обеспечивающих сжатие с потерями (MP3 , AAC , WMA , Ogg Vorbis , Opus), FLAC, как и любой другой lossless -кодек, не удаляет никакой информации из аудиопотока и подходит как для прослушивания музыки на высококачественной звуковоспроизводящей аппаратуре, так и для архивирования аудиоколлекции.

Сегодня формат FLAC поддерживается множеством аудиоприложений, портативных аудиоплееров и специализированных аудиосистем и имеет большое число разнообразных аппаратных реализаций

Первые цифровые носители звука, компакт-диски, хранили музыку в дискретном формате, с частотой дискретизации 44 кГц. Это значит, что одна секунда звука записывается с помощью 44 тысяч импульсов. Такая дискретизация выбрана согласно теореме Котельникова, которая гласит: для записи и передачи сигнала без потерь его разрешение должно быть в 2 раза выше, чем разрешение исходного сигнала. А порог слышимых человеком частот как раз находится в районе 20 кГц. Однако такая музыка занимала много места: компакт-диск, как и аудиокассета, максимум вмещает около 20 треков.

В условиях, когда емкость жестких дисков составляла всего несколько сотен мегабайт (в 90-х годах прошлого века), много музыки в формате AudioCD на них не влезало. Для хранения аудио на HDD были придуманы форматы сжатия с потерями, самыми известными среди которых стали MP3, OGG и AAC. Однако для аудиоаппаратуры Hi-Fi они недостаточно хороши, и когда проблема памяти была решена (емкость HDD достигла десятков и сотен гигабайт), специалисты активизировали разработку кодеков хранения звука для сжатия без потерь. Самым известным из таких форматов сейчас является FLAC.

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

FLAC – это свободный аудио-кодек, лишенный потерь: именно так расшифровывается аббревиатура Free Lossless Audio Codec. Кодек позволяет записывать сигнал в исходном качестве, но при этом обеспечивает до 50% меньший размер файла, чем в формате AudioCD аналогичного качества.

Чем FLAC отличается от форматов сжатия с потерями

Кодеки для сжатия с потерями, такие как MP3, работают по принципу упрощения сигнала, для уменьшения занимаемого им места. При этом некоторые данные сигнала, считающиеся менее значимыми и хуже воспринимаемыми на слух, удаляются. В итоге при воспроизведении музыки она теряет детали, которые делают звук более сухим и бедным на некоторые частоты. Если проводить более наглядную аналогию, то со звуковым сигналом происходит примерно то же самое, что с фотографией, которую сперва сжали с 8 до 2 МП, а потом обратно растянули до 8 МП. Несмотря на возврат к исходным размерам, изначальной четкости на картинке уже не будет.

Сжатие с потерями на примере фотографии

Формат FLAC работает по иному принципу. Он не вносит изменений в звуковой поток, а только переводит его в цифровой формат. Музыка в формате AudioCD или DVD записывается аналогично, но формат FLAC отличается тем, что сжимает трек для уменьшения его объема в мегабайтах. Для сжатия используются те же принципы, что при создании архива RAR или ZIP. То есть, в самой цифровой записи находятся закономерности, которые записываются в упрощенном виде, но могут быть восстановлены к исходному виду при разархивировании. Например, последовательность из 100 единиц занимает 100 ячеек (бит), но если записать ее в виде 100*1, то размер уменьшится до 5 бит, а зная формулу, можно легко восстановить исходный вид этой последовательности.

Основным отличием алгоритма сжатия FLAC от алгоритмов ZIP является разбиение файла на мелкие блоки, размером по несколько килобайт. Для каждого из блоков подбирается оптимальная формула сжатия, поэтому если AudioCD (700 Мб) просто архивировать в ZIP, он займет около 550-650 Мб, а при перегонке во FLAC можно достичь уменьшения до 350-500 Мб. Качество сигнала, опять же, никак не ухудшается в обоих случаях.

Наглядная иллюстрация потери деталей при кодировании из FLAC в MP3

Еще одной особенностью кодека FLAC является то, что он свободен и распространяется по лицензиям GNU GPL. Это значит, что бесплатно использовать его в своих целях может любой производитель аудиотехники или издатель музыкальных произведений. Это выгодно отличает кодек от формата AudioCD, который защищается патентами Sony, Philips и других фирм, участвовавших в разработке. Формат MP3 тоже долгое время был защищен патентами. И хотя довольно быстро были придуманы "пиратские" методы кодирования аудиосигнала в MP3, официально срок действия защиты формата истек только в 2017 году.

Особенности воспроизведения музыки в FLAC на устройствах

Теоретически воспроизводить музыку, сжатую кодеком FLAC, способен любой современный компьютер. Под компьютером следует понимать не только ПК или ноутбук, но и любое другое устройство с универсальным центральным процессором, ОЗУ и прочими атрибутами вычислительной техники. Для того, чтобы играть FLAC на ПК или смартфоне, требуется только установленный программный кодек, занимающийся расшифровкой сигнала, и на актуальных версиях Android он есть "из коробки".

Минусом программного декодирования аудио является повышенная нагрузка на центральный процессор. И если в случае с настольным ПК это не критично (вычислительной мощности достаточно, автономность не имеет значения), то на смартфоне сильно сжатая музыка заставит заряд таять на глазах, а устройство будет греться. Кроме того, возможны и искажения, ухудшение качества звука из-за недостатка производительности.

Для оптимизации воспроизведения музыки во FLAC производители оснащают технику специальными аудиопроцессорами. Звуковой процессор может быть как частью чипсета (наряду с центральным и графическим процессорами), так и выполняться в виде отдельной микросхемы. Она изначально заточен на решение узкого круга задач (расшифровка звукового сигнала), а потому более эффективно расходует заряд и снимает нагрузку с ядер ЦП. Музыка на интегрированном аудиопроцессоре декодируется лучше, чем на ЦП, а на дискретном декодере с ЦАП – еще эффективнее.

Аудиотракт устройства с поддержкой FLAC: звук проходит через аппаратный декодер и цепочку фильтров и усилителей

Какие смартфоны поддерживают FLAC

Поддержка музыки в кодеке FLAC теоретически есть в любом современном смартфоне. Однако дешевые китайские трубки декодируют звук на центральном процессоре, а их звуковой тракт (конденсаторы, дорожки, усилители) упрощен и слаб, поэтому всех прелестей звука в Hi-Res на каком-нибудь Oukitel C5 оценить не получится.

Актуальные чипсеты среднего класса, такие как Snapdragon 625, оснащены достаточно продвинутым интегрированным кодеком. Он способен воспроизводить LoseLess музыку высокого разрешения, вплоть до 192 кГц. Такие решения позволяют снять нагрузку с центрального процессора, уменьшить расход батареи, но слабый звуковой тракт может накладывать ограничения на качество звука на выходе. Например, мой Redmi Note 4X крутит FLAC в формате 24/192 без заминок, при этом не создавая нагрузки на ядра. Однако слепой тест показал, что ощутимой разницы с MP3 320 кбит/с не видно (на ПК в тех же наушниках я ее заметил).

Лучше всего справляются с FLAC, да и другими кодеками для сжатия музыки без потерь, смартфоны с дискретным декодером и ЦАП, выполненными отдельно от чипсета. Сейчас к таковым относятся Apple iPhone, Samsung Galaxy серий A, S и Note, LG линеек G и V, топовые Sony Xperia. Также дискретный ЦАП, обеспечивающий эффективное декодирование кодека FLAC, есть во многих аппаратах концерна BBK (Oppo, Vivo и OnePlus), LeEco, флагманах Meizu и отдельных устройствах, заточенных на аудиофилов и меломанов, выпускаемых другими фирмами.