Кодеки Bluetooth — какой лучше для смартфона и нашников? | AndroidLime

aptx technology Новости

Что такое aptx и aptx hd

Эти аббревиатуры обозначают различные кодеки Bluetooth, которые имеют разные характеристики передачи данных. Их отличие в технических параметрах: частоте дискретизации, глубине выборки и скорости передачи. Устройства, имеющие Android 8.0 и выше, полноценно поддерживают эти кодеки.

Кодек AptX позволяет передавать музыку беспроводным способом с параметрами, аналогичными параметрам считывания и воспроизведения CD. Он обеспечивает частоту дискретизации 48 кГц и глубину выборки 16 бит, но при этом максимальная скорость составляет всего 352 килобит в секунду, вследствие чего качество звука ухудшается.

AptX HD также имеет частоту дискретизации 48 кГц, но сохранение сигнала происходит с размером в 24 бита, благодаря чему увеличивается диапазон звуковых данных, и качество становится выше.

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

Это означает, что использование кодека AptX улучшает качество беспроводного звучания, а с AptX HD оно становится ещё лучше.

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

Aptx adaptive

Новейший кодек из семейства aptX. Отличается тем, что совмещает в себе баланс между высоким качеством и низкой задержкой звука. Кроме этого, кодек адаптируется к условиям и отдает предпочтение тем характеристикам, которые важнее в тот или иной момент.

Aptx hd

aptX HD не является самостоятельным кодеком — это улучшенный профиль кодирования кодека aptX. Изменения коснулись количества бит, отведённых для кодирования частотных диапазонов: 10 бит для 0-5.5 кГц, 6 бит для 5.5-11 кГц, 4 бита для 11-16.5 кГц, 4 бита для 16.5-22 кГц (цифры для 44.1 кГц).

* Версии до 7 требуют модификации Bluetooth-стека. Кодек поддерживается, только если производитель Android-устройства лицензировал использование кодека у Qualcomm (если в ОС есть библиотеки кодирования).

Менее распространён, чем aptX: по всей видимости, требует отдельного лицензирования у Qualcomm, и отдельных лицензионных отчислений.

Повторим пример с синусоидой на 12.4 кГц:
График спектра, максимальный уровень шумов — -72 dB

Гораздо лучше, чем с aptX, но всё равно шумновато.

Aptx low latency

Low Latency-версия aptX не является самостоятельным кодеком, а отличается только настройками задержки и буферов, которые применяются на стороне аудиоустройства. В остальном это обычный aptX.

Кодек предназначен для интерактивной передачи аудио с низкой задержкой (фильмы, игры), там, где задержка звука не может подстраиваться программно. Софтовая реализация доступна

. Также поддерживается трансмиттерами, ресиверами, наушниками и колонками, но не смартфонами.

Bluetooth 5, classic и low energy

Вокруг спецификаций и версий Bluetooth возникла большая путаница из-за наличия двух несовместимых стандартов под одним брендом, оба из которых широко применяются для разных целей.

Существует два разных, не совместимых между собой протокола Bluetooth: Bluetooth Classic и Bluetooth Low Energy (LE, он же Bluetooth Smart). Ещё есть третий протокол, Bluetooth High Speed, но он не распространён, и не используется в бытовых устройствах.

Начиная с Bluetooth 4.0, изменения в спецификации касались преимущественно Bluetooth Low Energy, а Classic-версия получала только незначительные улучшения.

Список изменений между Bluetooth 4.2 и Bluetooth 5:

9 CHANGES FROM v4.2 TO 5.0

9.1 NEW FEATURES

Several new features are introduced in the Bluetooth Core Specification 5.0 Release. The major areas of improvement are:
• Slot Availability Mask (SAM)
• 2 Msym/s PHY for LE
• LE Long Range
• High Duty Cycle Non-Connectable Advertising
• LE Advertising Extensions
• LE Channel Selection Algorithm #2
9.1.1 Features Added in CSA5 — Integrated in v5.0
• Higher Output Power

Faststream

Компания CSR решила развить идею переиспользования SBC. Чтобы обойти ограничения протокола SCO и использовать более высокие битрейты, CSR пошли другим путём — внедрили поддержку двустороннего SBC-аудио в стандарт передачи одностороннего аудио A2DP, стандартизировали профили кодирования, и назвали это «FastStream».

FastStream передает в динамики стереозвук 44.1 или 48 кГц с битрейтом в 212 кбит/с, а для передачи аудио с микрофона используется моно, 16 кГц, с битрейтом 72 кбит/с (чуть лучше, чем у mSBC). Такие параметры гораздо лучше подходят для общения в онлайн-играх — звук игры и собеседников будет качественный.

Пример записи в этом кодеке ( звук с микрофона, такой же, как у mSBC).

Компания придумала интересный костыль, но из-за того, что он противоречит стандарту A2DP, его поддержка есть только в некоторых трансмиттерах компании (которые работают как USB-аудиокарта, а не Bluetooth-устройство), но поддержки в Bluetooth-стеках он не получил, хотя количество наушников с поддержкой FastStream не такое уж и малое.

На данный момент поддержка FastStream в ОС есть только в виде патча для Linux’ового PulseAudio от разработчика Pali Rohár, который не включён в основную ветку программы.

Lhdc (hwa)

Аудиокодек LHDC является результатом совместной разработки Hi-Res Wireless Audio (HWA) Union и Savitech. Обладает меньшей задержкой, чем у aptX LL. Как и прошлый кодек, он может передавать в 3 раза больше данных, чем стандартные алгоритмы. Соответственно, качество звука остается высоким. Кодек поддерживается ограниченным количеством устройств.

Mp1/2/3

Кодеки семейства MPEG-1/2 Part 3 состоят из известного и широкоиспользуемого MP3, менее распространённого MP2 (применяется преимущественно в цифровом ТВ и радио), и совсем неизвестного MP1.

Старые кодеки MP1 и MP2 не поддерживаются совсем: мне не удалось найти ни одни наушники и ни один Bluetooth-стек, который бы кодировал или декодировал их.Декодирование MP3 поддерживается некоторыми наушниками, но кодирование не поддерживается ни в одном стеке современных операционных систем.

Вроде бы, сторонний стек BlueSoleil для Windows может кодировать в MP3, если вручную изменить файл конфигурации, но у меня его установка приводит к BSoD на Windows 10. Вывод — кодеком фактически нельзя пользоваться для Bluetooth-аудио.Раньше, в 2006-2008 годах, до распространения стандарта A2DP в устройствах, люди слушали MP3-музыку на гарнитуре Nokia BH-501 через программу MSI BluePlayer, которая была доступна на Symbian и Windows Mobile.

Последний патент кодека MP3 истёк, использование кодека не требует лицензионных отчислений с 23 апреля 2021 года.

Samsung scalable

Отличается встроенной возможность анализировать внешние помехи и подстраиваться под них. Таким образом кодек обеспечивает стабильное соединение, которые не разрывается и не приостанавливается. Алгоритм изменяет скорость передачи данных в зависимости от условий. Чем они хуже, тем хуже будет и звук, но зато соединение не прервется. Кодек поддерживается только устройствами Samsung.

Несмотря на большое количество кодеков, выбор все еще ограничен — большинство алгоритмов поддерживаются только конкретными устройствами. Наиболее оптимальным выбором из всего перечисленного являются кодеки семейства aptX. Конкретный профиль необходимо выбирать в зависимости от приоритетов пользователя (отличный звук или низкая задержка).

А можно ещё больше?

В патче для Android также имеется опция для ещё большего повышения битрейта для устройств EDR 2 мбит/с. Можно повысить битрейт с 452 кбит/с до 595 кбит/с, ценой уменьшения стабильности передачи в сложных радиоусловиях.


Достаточно установить переменную persist.bluetooth.sbc_hd_higher_bitrate в значение 1:

# setprop persist.bluetooth.sbc_hd_higher_bitrate 1

Патч на экстремальный битрейт пока принят только в LineageOS 15.1, но не в 16.0.

Двунаправленная связь через bluetooth. передача голоса.

Для передачи голоса в Bluetooth используется Synchronous Connection Oriented (SCO) и его улучшенная версия Enhanced Synchronous Connection Oriented (eSCO) — синхронная передача с предварительным согласованием соединения. Режим позволяет передавать звук и голос строго по порядку, с симметричной скоростью отправки и приёма, без ожидания подтверждения передачи и переотправки пакетов.

Когда используется этот режим, и голос с микрофона, и аудио в наушники передаются с одинаковым качеством.


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

К сожалению, по состоянию на 2021 год, качество передачи речи через Bluetooth всё ещё низкое, и непонятно, почему Bluetooth SIG с этим ничего не делает.

Другие устройства с aptx hd

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

Задержка передачи аудио

Величина задержки (запаздывания) аудио зависит от многих факторов: размера буфера в аудиостеке, в Bluetooth-стеке и в самом воспроизводящем беспроводном устройстве, алгоритмической задержки кодека.

Задержка простых кодеков, вроде SBC, aptX и aptX HD, совсем небольшая, и составляет 3-6 мс, чем можно пренебречь, но комплексные кодеки, вроде AAC и LDAC, могут давать ощутимое запаздывание. Алгоритмическая задержка AAC для 44.1 кГц составляет 60 мс.

Итоговая задержка сильно зависит от воспроизводящего устройства, его чипсета и буфера. Во время тестов я получил разброс от 150 до 250 мс на разных устройствах (с кодеком SBC). Если предположить, что устройства с поддержкой дополнительных кодеков aptX, AAC и LDAC используют качественные компоненты и маленький размер буфера, то получим следующие типичные задержки:

SBC: 150-250 мсaptX: 130-180 мсAAC: 190-240 мсLDAC: 160-210 мс

Напоминаю: aptX Low Latency не поддерживается в операционных системах, из-за чего меньшую задержку можно получить только связкой трансмиттер ресивер или трансмиттер наушники/колонка, причём все устройства должны поддерживать этот кодек.

Зачем всё это нужно?

Вопреки расхожему мнению о качестве звука кодека aptX, на некоторых файлах он может давать результаты хуже, чем SBC со стандартным битрейтом в 328 кбит/с.

SBC динамически выделяет биты квантования для частотных полос, действуя по принципу «от нижних к верхним». Если весь битрейт использовался на нижние и средние частоты, верхние частоты «обрежутся» (вместо них будет тишина).aptX квантует частотные полосы одним и тем же количеством бит постоянно, из-за чего у него постоянный битрейт:

352 кбит/с для 44.1 кГц, 384 кбит/с для 48 кГц, и он не может «перенести биты» на те частоты, которые больше всего в них нуждаются. В отличие от SBC, aptX не будет «обрезать» частоты, а будет добавлять в них шумы квантования, уменьшая динамический диапазон аудио, и иногда привносить характерные потрескивания.

SBC же «съедает детали» — отбрасывает наиболее тихие участки.В среднем, по сравнению с SBC 328k, aptX вносит меньше искажений в музыку с широким частотным диапазоном, но на музыке с узким диапазоном частот и широким динамическим диапазоном SBC 328k иногда выигрывает.

Рассмотрим частный случай. Спектрограмма записи игры на фортепиано:
imageОсновная энергия лежит в частотах от 0 до 4 кГц, и продолжается до 10 кГц.
Спектрограмма файла, сжатого в aptX, выглядит следующим образом:
imageА так выглядит SBC 328k.
imageВидно, что SBC 328k периодически полностью отключал диапазон выше 16 кГц, и расходовал весь доступный битрейт на диапазоны ниже этого значения. Однако, aptX внес больше искажений в слышимый человеческим ухом спектр частот, что можно видеть на вычтенной оригинальной спектрограмме из спектрограммы aptX (чем ярче, тем больше искажений):
imageВ то время как SBC 328k меньше испортил сигнал в диапазоне от 0 до 10 кГц, а остальное — обрезал:
imageБитрейта 485k SBC хватило, чтобы сохранить весь диапазон частот, без отключения полос.
imageSBC 485k на этой композиции значительно опережает aptX в диапазоне 0-15 кГц, и с меньшей, но все же заметной разницей — в 15-22 кГц (чем темнее, тем меньше искажений):
image

Архив оригинального аудио, SBC и aptX.

Переключившись на высокобитрейтный SBC, вы получите звук, зачастую превосходящий aptX, на любых наушниках. На наушниках, поддерживающих подключение EDR 3 мбит/с, битрейт 551 кбит/с даёт звук, сравнимый с aptX HD.

Как включить aptx на вашем смартфоне

Если устройство имеет версию Android 8.0 и выше, то включить технологию можно через меню разработчика.

Чтобы его открыть, зайдите в настройки, выберите раздел «О телефоне», найдите строку «Номер сборки» и быстро нажмите 7 раз на эту строчку.

Далее зайдите в меню разработчика, найдите пункт «Аудиокодек для передачи через Bluetooth». На выбор представлены кодеки: LDAC, apt, aptX, AAC, SBC. Кликните aptX, после чего перезагрузите смартфон. Качество звука в беспроводных наушниках улучшится.

Кодек sbc

У кодека SBC есть множество разных параметров, которые согласуются на этапе установки соединения. Среди них:

  • Количество и тип каналов: Joint Stereo, Stereo, Dual Channel, Mono;
  • Количество частотных полос: 4 или 8;
  • Количество блоков в пакете: 4, 8, 12, 16;
  • Алгоритм распределения битов при квантовании: Loudness, SNR;
  • Максимальное и минимальное значение пула битов, используемых при квантовании (bitpool): обычно, от 2 до 53.

Декодирующее устройство обязано поддерживать любое сочетание этих параметров. Кодирующее устройство может реализовывать не все.Существующие Bluetooth-стеки, как правило, согласуют следующий профиль: Joint Stereo, 8 полос, 16 блоков, Loudness, bitpool 2..53.

Этот профиль кодирует 44.1 кГц аудио с битрейтом 328 кбит/с.Параметр bitpool напрямую влияет на битрейт в рамках одного профиля: чем он выше, тем выше битрейт, а следовательно и качество.Однако параметр bitpool не привязан к конкретному профилю; влияние на битрейт также в значительной степени оказывает и другие параметры: тип каналов, количество частотных полос, количество блоков. Поднять битрейт можно косвенно, путем согласования нестандартных профилей, без изменения bitpool.

Формула подсчета битрейта SBC

Например, режим Dual Channel кодирует каналы раздельно, используя весь bitpool для каждого из каналов. Заставив устройство использовать Dual Channel вместо Joint Stereo, мы получим почти удвоенный битрейт при том же максимальном значении bitpool: 617 кбит/с.

Такие фиксированные значения Bitpool и Bitrate берут свое начало из таблицы с рекомендованными к использованию значениями для высококачественного аудио. Но рекомендация — не повод ограничиваться этими значениями.

Спецификация A2DP v1.2, которая была активна с 2007 по 2021 год, предписывает всем декодирующим устройствам корректно работать с битрейтами до 512 кбит/с:

The decoder of the SNK shall support all possible bitpool values that do not result in excess of the maximum bit rate. This profile limits the available maximum bit rate to 320kb/s for mono, and 512kb/s for two-channel modes.

В новой версии спецификации ограничение по битрейту отсутствует. Предполагается, что современные наушники, выпущенные после 2021 года и поддерживающие EDR, могут поддерживать битрейты до ≈730 кбит/с.

По какой-то причине, у проверенных мной Bluetooth-стеков Linux (PulseAudio), Android, Blackberry и macOS есть искусственные ограничения максимального значения параметра bitpool, который напрямую влияет на максимальный битрейт. Но это — не самая большая проблема, почти все наушники тоже ограничивают максимальное значение bitpool числом 53.

Музыка через bluetooth

Функциональная составляющая Bluetooth задается профилями — спецификациями конкретных функций. Передача музыки в Bluetooth осуществляется с использованием профиля передачи высококачественного однонаправленного аудио A2DP. Стандарт A2DP был принят в 2003 году, и с тех пор кардинально не менялся.

В рамках профиля стандартизирован 1 обязательный кодек низкой вычислительной сложности SBC, созданный специально для Bluetooth, и 3 дополнительных. Также допускается использование недокументированных кодеков собственной реализации.

По состоянию на июнь 2021 года мы находимся в комиксе xkcd с 14 A2DP-кодеками:

Зачем вообще нужны кодеки, спросите вы, когда в Bluetooth есть EDR, что позволяет передавать данные на скорости 2 и 3 мбит/с, а для несжатого двухканального 16-битного PCM достаточно 1.4 мбит/с?

Передача данных через bluetooth

В Bluetooth существует два типа передачи данных: Asynchronous Connection Less (ACL) для асинхронной передачи без установки соединения, и Synchronous Connection Oriented (SCO), для синхронной передачи с предварительным согласованием соединения.

Передача осуществляется с использованием схемы разделения времени и выбора канала передачи на каждый пакет отдельно (Frequency-Hop/Time-Division-Duplex, FH/TDD), для чего время делится на 625-микросекундные интервалы, называемые слотами (slot). Одно из устройств ведет передачу в чётных номерах слотов, другое — в нечётных.

Передаваемый пакет может занимать 1, 3 или 5 слотов, в зависимости от размера данных и установленного типа передачи, в этом случае передача одним устройством ведётся в чётных и нечетных слотах до конца передачи. Всего в секунду можно принять и отправить до 1600 пакетов, если каждый из них занимает 1 слот, и оба устройства без остановки что-то передают и принимают.

2 и 3 мбит/с для EDR, которые можно встретить в анонсах и на сайте Bluetooth, являются максимальной канальной скоростью передачи всех данных суммарно (включая технические заголовки всех протоколов, в которые нужно инкапсулировать данные), в двух направлениях одновременно. Фактическая скорость передачи данных будет сильно отличаться.

Для передачи музыки используется асинхронный способ, почти всегда с помощью пакетов типа 2-DH5 и 3-DH5, которые несут максимальное количество данных в режиме EDR 2 мбит/с и 3 мбит/с соответственно, и занимают 5 слотов временного разделения эфира.

Схематичное представление передачи с использованием 5 слотов одним устройством и 1 слота другим (DH5/DH1):
5 слотов на передачу, каждый из которых передаётся 625 микросекунд, и один слот на приём, тоже 625 микросекунд. В сумме — 3.75 миллисекунды.

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

Необходимость инкапсуляции аудио в специальные транспортные протоколы L2CAP и AVDTP забирает 16 байт от возможного максимального количества передаваемой полезной аудионагрузки.

1414 и 1429 кбит/с точно недостаточно для передачи несжатого звука в реальных условиях, с зашумленным диапазоном 2.4 ГГц и необходимостью передачи служебных данных. EDR 3 мбит/с требователен к мощности передачи и шумам в эфире, поэтому, даже в режиме 3-DH5, комфортная передача PCM невозможна, постоянно будут кратковременные прерывания, и всё будет работать только на расстоянии в пару метров.


На практике, даже 990 кбит/с-аудиопоток (LDAC 990 kbit/s) передаётся с трудом.

Вернёмся к кодекам.

Поддержка кодеков аудиоустройствами

Не все производители публикуют точную информацию о кодеках, которые поддерживают те или иные беспроводные наушники, колонки, ресиверы или трансмиттеры. Иногда бывает так, что поддержка определённого кодека есть только на передачу, но не на приём (актуально для комбинированных трансмиттеров-ресиверов), хотя производитель заявляет просто о «поддержке», без примечаний (предполагаю, в этом виновато раздельное лицензирование энкодеров и декодеров некоторых кодеков). В самых дешевых устройствах можно вовсе не обнаружить заявленную поддержку aptX.

К сожалению, в интерфейсах большинства ОС нигде не отображается используемый кодек. Информация об этом есть только в Android, начиная с 8 версии, и macOS. Однако, даже в этих ОС будут отображаться только те кодеки, которые поддерживает как телефон/компьютер, так и наушники.

Как же узнать, какие кодеки поддерживает устройство? Самый надежный вариант — записать и проанализировать дамп трафика с параметрами согласования A2DP!Сделать это можно в Linux, macOS и Android. В Linux можно воспользоваться Wireshark или hcidump, в macOS — Bluetooth Explorer, а в Android — штатной функцией сохранения Bluetooth HCI-дампа, которая доступна в инструментах разработчика.

Вы получите дамп в формате btsnoop, который можно загрузить в анализатор Wireshark.Обратите внимание: корректный дамп можно получить только подключившись с телефона/компьютера к наушникам/колонке (как бы курьёзно это ни звучало)! Наушники могут самостоятельно устанавливать соединение с телефоном, и в этом случае они будут запрашивать список кодеков у телефона, а не наоборот.

Используйте следующий фильтр отображения, чтобы отсеять нерелевантный трафик:

btavdtp.signal_id

В результате вы должны увидеть что-то похожее:
Wireshark с загруженным дампом и фильтром для отображения A2DP-команды GetCapabilitiesНа каждом пункте команды GetCapabilities можно нажать, и посмотреть подробные характеристики кодека.
Характеристики одного из выбранных пунктов. Виден идентификатор кодека.

Wireshark знает не все идентификаторы кодеков, поэтому часть кодеков придётся расшифровывать вручную, смотря в таблицу идентификаторов ниже:

Mandatory:
0x00 - SBC

Optional:
0x01 - MPEG-1,2 (aka MP3)
0x02 - MPEG-2,4 (aka AAC)
0x04 - ATRAC

Vendor specific:
0xFF 0x004F 0x01   - aptX
0xFF 0x00D7 0x24   - aptX HD
0xFF 0x000A 0x02   - aptX Low Latency
0xFF 0x00D7 0x02   - aptX Low Latency
0xFF 0x000A 0x01   - FastStream
0xFF 0x012D 0xAA   - LDAC
0xFF 0x0075 0x0102 - Samsung HD
0xFF 0x0075 0x0103 - Samsung Scalable Codec
0xFF 0x053A 0x484C - Savitech LHDC

0xFF 0x000A 0x0104 - The CSR True Wireless Stereo v3 Codec ID for AAC
0xFF 0x000A 0x0105 - The CSR True Wireless Stereo v3 Codec ID for MP3
0xFF 0x000A 0x0106 - The CSR True Wireless Stereo v3 Codec ID for aptX


Узнать, поддерживает ли ваше устройство скорости передачи EDR 3 мбит/с, можно фильтром:

bthci_evt.code==0x0b

image

Проблемы устройств, сертификации и логотипов bluetooth

Как отличить качественное аудиоустройство от дешёвой поделки? По внешнему виду, прежде всего!

У дешевых китайских наушников, колонок и ресиверов:

  1. Отсутствует слово «Bluetooth» на коробке и устройстве, чаще всего используется «Wireless» и «BT»
  2. Отсутствует логотип Bluetooth Логотип Bluetooth на коробке или устройстве
  3. Нет синего мигающего светодиода

Отсутствие этих элементов говорит о том, что устройство не проходило сертификацию, а значит — потенциально проблемное или низкокачественное. Например, наушники фирмы Bluedio не сертифицированы Bluetooth, и не полностью соответствуют спецификации A2DP. Сертификацию они бы не прошли.

Рассмотрим несколько устройств и коробок от них:
Кодеки Bluetooth — какой лучше для смартфона и нашников? | AndroidLime

Это всё — несертифицированные устройства. В инструкции может быть логотип и название технологии Bluetooth, но самое главное — чтобы они были на коробке и/или самом устройстве.

Если ваши наушники или колонка говорят «Ze bluetooth dewise is connecteda successfulle», это тоже не говорит об их качестве:

Прочие кодеки

Другие A2DP-кодеки не получили широкого распространения. Их поддержка либо практически полностью отсутствует, либо имеется только на определенных моделях наушников и смартфонов.

Стандартизированный в A2DP кодек ATRAC ни разу не использовался в качестве Bluetooth-кодека даже самими Sony, кодеки Samsung HD, Samsung Scalable и Samsung UHQ-BT имеют очень ограниченную поддержку со стороны передающих и получающих устройств, а HWA LHDC — слишком новый, и поддерживается всего тремя(?) устройствами.

Связь с разработчиками android

Я писал многим разработчикам Bluetooth-стека из Google, с просьбой рассмотреть включение патчей в основную ветку Android — AOSP, но не получил ни одного ответа. Мои патчи в

также остались без комментариев со стороны кого-либо причастного.

Я был бы рад, если бы мне посодействовали в связи с разработчиками из Google и внедрении SBC HD в Android. Патчcет в gerrit уже устарел (это одна из ранних ревизий), и я его обновлю, если разработчиков заинтересуют мои изменения (мне непросто его обновлять, у меня нет совместимых с Android Q устройств).

Скачиваем файл

Если при проверке оказалось, что устройство поддерживает кодек AptX, но он не используется для передачи звука, то его нужно активировать. В интернете можно найти специальный файл, с помощью которого производится активация кодека.

Смартфоны

Поскольку проигрывание звука обеспечивается наушниками, то необязательно искать специальный «музыкальный» смартфон, главное чтобы он поддерживал нужные кодеки. Огромное количество современных устройств (кроме продукции компании Apple, которая имеет собственные кодеки) поддерживает APTX. HD-версия встречается несколько реже, ее можно найти во флагманах LG, Sony, Huawei, Xiaomi и др.

На начало 2021 года наиболее популярные смартфоны с поддержкой AptX HD:

Совместимость с устройствами

SBC Dual Channel поддерживается практически всеми наушниками, колонками и автомобильными головными устройствами. Это немудрено — стандарт предписывает его поддержку в любых декодирующих устройствах. Есть небольшое количество устройств, на которых этот режим вызывает проблемы, но это — единичные экземпляры.

Более подробно с совместимыми устройствами можно ознакомиться на

или

Сравнение различий звука

Я сделал веб-сервис, кодирующий аудио в SBC (а также aptX и aptX HD) в реальном времени, прямо в браузере. С помощью него вы сможете сравнивать звук различных профилей SBC и другие кодеки, без фактической передачи аудио по Bluetooth, на любых проводных наушниках, колонках, и вашей любимой музыке, а также изменять параметры кодирования прямо во время воспроизведения аудио.

Топ-5 наушников с aptx

Модели, выпущенные в 2021 году:

  • RHA MA650 Wireless – внутриканальные наушники с металлическим корпусом и влагозащитой по стандарту IPX4. Звучание яркое, контрастное, низкие частоты приподняты, также имеется акцент на верхней середине;
  • Beyerdynamic Byron BTA – внутриканальные наушники с металлическим корпусом и уникальной системой зарядки. Звук полноценный и глубокий, хорошая, ровная и мощная подача баса, сбалансированные и чистые средние частоты;
  • Sennheiser M2 IEBT MOMENTUM In-Ear Wireless – внутриканальные наушники с кожаным «воротничком», удобным для использования. Низкие частоты звучат четко и детально, иногда чуть поднимаются. Верхние звуки подаются чисто, середина имеет богатый диапазон;
  • Focal Listen Wireless – полноразмерные наушники, обладающие прекрасной пассивной шумоизоляцией. Средние частоты звучат детально и чисто, бас подается четко и мощно;
  • Denon AH-GC20 – полноразмерные наушники с активным шумоподавлением. Звук имеет прекрасную детализацию и глубокую музыкальную сцену.

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

Требования к смартфону

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

Поддержка AptX имеется в процессоре для обработки звуков CSR8675 с Bluetooth 5. Он может быть установлен на смартфонах Xiaomi, Samsung, и др.

Необязательно иметь 8 версию Android, чтобы активировать кодек, иногда он присутствует технически, но разработчики не предусмотрели возможность его включения.

Прежде всего нужно определить, поддерживает ли Ваш смартфон эту технологию, для чего следует сделать несколько шагов:

Установка через installzip

Чтобы осуществить активацию:

  1. Загрузите файл aptх.zip.
  2. Сделайте бекап всех данных на смартфоне, чтобы предотвратить их потерю в случае каких-то непредвиденных ошибок.
  3. Выключите телефон и включите его в режиме «recovery» (нажмите одновременно кнопку включения и кнопку увеличения громкости, удерживая их около 10 секунд).
  4. Выберите «Install» или активировать «Install Zip».
  5. Найдите предварительно загруженный файл и запустите процедуру установки.
  6. Затем телефон перезагрузится, и установка файла завершится.

Для проверки включенного кодека можно снова посмотреть журнал отслеживания через Wireshark, а можно воспользоваться приложением CatLog. Нужно подключить наушники, включить музыку и ввести запрос «aptX». Если все сделано правильно, то вы увидите строку a2dp_encoder_init, где указано selected codec aptX.

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

Функциональные особенности устройств

Современная версия стандарта A2DP имеет

функцию «абсолютной регулировки громкости»

— управление громкостью устройства специальными командами протокола AVRCP, которое регулирует усиление выходного каскада, вместо программного уменьшения громкости аудиопотока. Если при изменении громкости на наушниках, изменение не синхронизируется с громкостью на телефоне, то это означает, что ваши наушники или телефон не поддерживают эту функцию.

должно быть

выше.

В реальности же бывают печальные ситуации. На моих наушниках RealForce OverDrive D1 для SBC включен сильный компандер, и увеличение громкости приводит к повышению уровня тихих звуков, а громкость громких звуков при этом не меняется (происходит компрессия сигнала).

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

Некоторые наушники поддерживают подключение двух устройств одновременно. Это позволяет, например, слушать музыку с компьютера и принимать звонки с телефона. Однако следует знать, что в этом режиме отключаются альтернативные кодеки, и используется только SBC.

Функция AVDTP 1.3 Delay Reporting позволяет наушникам сообщать задержку передающему устройству, с которой фактически воспроизводится звук. Это позволяет подстраивать синхронизацию аудио с видео в время просмотра видеофайлов: при проблемах с передачей по радиоэфиру, аудио не будет отставать от видео, а наоборот, видео будет тормозиться видеоплеером, пока аудио и видео снова не синхронизируются.

Я слышу разницу между кодеками в наушниках!

Люди, которые не слышат разницы между кодеками во время тестирования через веб-сервис, уверяют, что слышат её при прослушивании музыки в беспроводных наушниках. Увы, это не прикол и не эффект плацебо: разница действительно слышна, однако вызвана она не отличиями

кодеков

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

На картинке: ДЕКОДЕР - Параметрический эквалайзер - улучшение стерео - компандер - пост мастеринг - усиление выхода
Конвеер обработки звука DSP Kalimba в чипах производства CSR/QualcommНа картинке: галочки активации разных функций DSP отдельно на каждый кодек.
Активация различных функций DSP для каждого кодека и выхода отдельно

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

Заключение

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

Маркетинг альтернативных кодеков очень сильный: aptX и LDAC представляют в виде долгожданной замены «устаревшего и плохого» SBC, который далеко не так плох, как о нём принято думать.

Как выяснилось, искусственные ограничения Bluetooth-стеков на битрейт SBC можно обойти, так, что SBC не будет уступать aptX HD. Я взял инициативу в свои руки и сделал патч для прошивки LineageOS: Модифицируем Bluetooth-стек для улучшения звука на наушниках без кодеков AAC, aptX и LDAC

Больше информации можно найти на сайтах SoundGuys и SoundExpert.

Бонус:референсный энкодер SBC, информация о битстриме A2DP и тестовые файлы. Этот файл раньше был выложен на сайте Bluetooth публично, но теперь он доступен только для вступивших в Bluetooth SIG.

Дополнительная статья: Bluetooth LC-SBC and SBC-HBR Explained от Ken Laberteaux.

Оцените статью
Huawei Devices
Добавить комментарий