Как улучшить звук в наушниках беспроводных
Многие отмечают низкое качество звука и недостаток высоких частот при использовании стандартного Bluetooth-кодека SBC, который поддерживают все наушники. Частой рекомендацией для улучшения звука является покупка устройств и наушников с поддержкой кодеков aptX и LDAC. Эти кодеки требуют лицензионных отчислений, поэтому устройства с их поддержкой стоят дороже.
Оказывается, низкое качество SBC обусловлено искусственными ограничениями Bluetooth-стеков и настроек наушников, и это ограничение можно обойти на любых существующих устройствах.
Я предлагаю всем, кого интересует Bluetooth-аудио, поучаствовать в тестировании совместимости различных наушников, ресиверов, стереосистем, автомобильных головных устройств, с высокими битрейтами.
Если по результатам теста подавляющее большинство устройств будут работать с высокими битрейтами, я сделаю патч для Android и отправлю его в AOSP и сторонние прошивки, и высокое качество Bluetooth-аудио будет доступно всем, на любых наушниках и смартфонах, независимо от поддержки кодеков с лицензионными отчислениями.
Обновление: тест окончен, см. результаты. Файлы для модификации больше не принимаются. Не загружайте библиотеки в тему!
SBC XQ интегрирован в прошивку LineageOS, в сборки LineageOS 15.1 от 31 марта 2019 года и новее, и в LineageOS 16 от 13 мая 2019 года и новее.
- Количество и тип каналов: Joint Stereo, Stereo, Dual Channel, Mono;
- Количество частотных полос: 4 или 8;
- Количество блоков в пакете: 4, 8, 12, 16;
- Алгоритм распределения битов при квантовании: Loudness, SNR;
- Максимальное и минимальное значение пула битов, используемых при квантовании (bitpool): обычно, от 2 до 53.

Например, Dual Channel кодирует каналы раздельно, используя весь bitpool для каждого из каналов. Заставив устройство использовать Dual Channel вместо Joint Stereo, мы получим почти удвоенный битрейт при том же максимальном значении bitpool: 617 кбит/с.
По моему мнению, использование не привязанного к профилю значения bitpool на этапе согласования — недоработка стандарта A2DP, которая и привела к искусственному ограничению качества SBC. Разумней было бы согласовывать bitrate, а не bitpool.
Такие фиксированные значения Bitpool и Bitrate берут свое начало из таблицы с рекомендованными к использованию значениями для высококачественного аудио. Но рекомендация — не повод ограничиваться этими значениями.

В новой версии спецификации ограничение по битрейту отсутствует. Предполагается, что современные наушники, выпущенные после 2015 года и поддерживающие EDR, могут поддерживать битрейты до 730 кбит/с.
По какой-то причине, у проверенных мной Bluetooth-стеков Linux (PulseAudio), Android, Blackberry и macOS есть искусственные ограничения максимального значения параметра bitpool, который напрямую влияет на максимальный битрейт. Но это — не самая большая проблема, почти все наушники тоже ограничивают максимальное значение bitpool числом 53.
Как я уже успел убедиться, большинство устройств отлично работает на модифицированном Bluetooth-стеке с битрейтом в 507 кбит/с, без прерываний и треска. Но такой битрейт никогда не будет согласован в обычных условиях, на обычных Bluetooth-стеках.
Тестирование на компьютере
Совместимость наушников с высокими битрейтами проще всего тестировать на компьютере с Bluetooth-адаптером. Я подготовил образ Ubuntu с модифицированным Bluetooth-стеком, который можно запустить как в виртуальной машине (пробросив Bluetooth-адаптер как USB-устройство, сработает и с адаптерами, встроенными в ноутбуки), так и загрузившись с флешки. Этот образ использует следующий профиль: Dual Channel, 8 полос, 16 блоков, Loudness, bitpool 2..41, 44.1 кГц, что обеспечивает битрейт в 485 кбит/с.
Скачать: bluetooth-dualchannel-test-ubuntu-18.04.1-desktop-amd64.iso.torrent ( 5.44 КБ )
- Скачайте Virtualbox и Virtualbox Extension Pack: https://www.virtualbox.org/wiki/Downloads;
- Установите Virtualbox, запустите его;
- Установите Extension Pack, используя меню File → Preferences → Extensions;
- Создайте новую виртуальную машину Linux, Ubuntu (64-bit), с 1024 мегабайтами оперативной памяти. Диск не создавайте.
- Зайдите в настройки виртуальной машины, в пункте Storage выберите Controller: IDE, Empty, нажмите на значок CD → Choose virtual optical disk file;
- Выберите bluetooth-dualchannel-test-ubuntu-18.04.1-desktop-amd64.iso;
- Сохраните и закройте настройки, запустите виртуальную машину;
- Нажмите на значок USB-кабеля внизу справа появившегося окна правой кнопкой мыши, выберите Bluetooth-адаптер;
- Запишите образ на флешку с помощью программы Etcher: https://etcher.io/. Эта операция удалит все существующие файлы на флешке.
- Выключите компьютер;
- Вставьте флешку, включите компьютер, нажимая кнопку выбора устройства загрузки (обычно Esc или F12);
- Выберите загрузку с флешки.
- (не обязательно, но желательно) Запустите скрипт «Btsnoop Dump» на рабочем столе, двойным кликом. Он запустит запись дампа трафика Bluetooth, чтобы отправить ее на сервер для анализа. Не закрывайте окно терминала.
- Переведите наушники в режим сопряжения;
- Кликните на стрелочку в правом верхнем углу, выберите значок Bluetooth → Bluetooth Settings;
- Выберите ваши наушники, дождитесь сопряжения и закройте окно настроек;
- Установите громкость в Ubuntu примерно на 2/3 максимального значения. Также уменьшите громкость на наушниках, после сопряжения громкость может быть очень высокой.
- Откройте папку music на рабочем столе, воспроизведите testrecord1.flac;
- (не обязательно, но желательно) Закройте окно плеера, закройте черное терминальное окно. Это остановит запись дампа трафика.
- (не обязательно, но желательно) Откройте браузер Firefox, загрузите дамп трафика (файл btsnoop_hci.btsnoop на рабочем столе) на https://btcodecs.valdikss.org.ru/
- Можете прослушать другие записи в папке music, или включить свои;
- Напишите в этой теме, с какими наушниками (или другими устройствами) вы проводили тестирование, и результат. Недостаточно только загрузить дамп на сервер!
Сообщение отредактировал ValdikSS — 15.09.19, 16:54
Тестирование на устройстве с Android
Для тестирования со смартфона или планшета под управлением Android придется модифицировать Bluetooth-стек, для чего необходимы root-права.
Обновление: тест окончен, см. результаты. Файлы для модификации больше не принимаются. Не загружайте библиотеки в тему!
Если вы обычный пользователь
Пришлите мне библиотеки Bluetooth-стека вашего устройства (только Android 5-8): /system/lib/hw/bluetooth.default.so и /system/lib64/hw/bluetooth.default.so (если последний имеется). Я модифицирую настройки стека, и вышлю файлы вам.
Пожалуйста, присылайте библиотеки только в том случае, если вы готовы протестировать наушники, отсутствующие в списке ниже, в третьем сообщении. Мне тяжело патчить библиотеки всем желающим.
По возможности, используйте способ тестирования на компьютере, описанный в первом сообщении.
Unrestricted/unlimited-версии согласуют режим Dual Channel и отключают ограничение битрейта (будет использоваться 617-660 кбит/с), версии 482, 486 повышают ограничение битрейта до 482 и 486 кбит/с соответственно (согласуется 474-485 кбит/с).
Патчсет, увеличивающий Bitpool и добавляющий опцию включения Dual Channel в меню Bluetooth, доступен по следующей ссылке:
LineageOS 14.1 (Android 7.1.2)
Ниже представлена устаревшая информация, оставлена только для истории.
Заменить A2D_SBC_IE_CH_MD_JOINT на A2D_SBC_IE_CH_MD_DUAL.
Переместить if с A2D_SBC_IE_CH_MD_DUAL наверх, чтобы он выбирался первым.
3. Убрать или увеличить ограничение битрейта
В Bluetooth-стеке Android установлено ограничение не только на bitpool, но и на битрейт, в 328 кбит/с. Если наушники, например, поддерживают bitpool 53 при 48 кГц, то Android понизит его до 51, чтобы уместиться в ограничение битрейта. Это произойдет уже на этапе отправки кодированного аудио, а не на этапе согласования, не обращайте внимание на значение max bitpool в Bluetooth-пакете SetCapabilities.
android/platform/external/bluetooth/bluedroid/btif/src/btif_media_task.c:172
Заменить на 512.
4. (только для экспериментов) Убрать ограничение MTU.
Необходимо только для битрейтов
-
(Android 8.1)
(Android 9)
(то, что станет Android 9.1/10)
Ниже представлена устаревшая информация, оставлена только для истории.
Добавить A2DP_SBC_IE_CH_MD_DUAL в ch_mode.
2. Заменить Joint Stereo на Dual Channel в стандартной конфигурации
/platform/system/bt/stack/a2dp/a2dp_sbc.cc:82
Заменить A2DP_SBC_IE_CH_MD_JOINT на A2DP_SBC_IE_CH_MD_DUAL.
Переместить if с A2DP_SBC_IE_CH_MD_DUAL наверх.
Заменить на 512.
5. (только для экспериментов) Убрать ограничение MTU
Необходимо только для битрейтов от 580 кбит/с и выше.
/platform/system/bt/stack/a2dp/a2dp_sbc_encoder.cc:47
Для продвинутых пользователей и разработчиков прошивок. Необходимы минимальные знания ARM-ассемблера. Код из примера может не совпадать с кодом вашей библиотеки, в зависимости от версии компилятора, оптимизаций и опций компилирования.
Данные модификации применимы только к оригинальному стеку Android (bluedroid). Если вы видите строку «Needed Library ‘com.qualcomm.qti.bluetooth_audio@1.0.so'» или подобную в IDA Pro, с большой вероятностью, эта инструкция вам не поможет.
Вам потребуется IDA Pro (проверял на купленной версии) и любой HEX-редактор.
1. Скачайте и установите IDA Pro, откройте bluetooth.default.so, дождитесь окончания анализа файла (внизу слева должно быть AU: Idle).
Будем искать код из файла Ищем код из файла android/platform/external/bluetooth/bluedroid/btif/co/bta_av_co.c:411.
Значения констант следующие:
![]()
![]()


Заменив TST.W R0, #1 по адресу 0xA86FE на TST.W R0, #4, и MOVS R0, #1 по адресу 0xA871A на MOVS R0, #4, мы получим следующую конструкцию:
Чтобы это сделать, установите курсор на TST.W R0, #1, перейдите во вкладку «Hex View-1», откройте HEX-редактор и выполните поиск по подсвеченным байтам и нескольким дополнительным байтам слева и справа. Я буду искать следующее:

Файл android/platform/external/bluetooth/bluedroid/btif/co/bta_av_co.c:99.
10. Нужно заменить A2D_SBC_IE_CH_MD_JOINT на A2D_SBC_IE_CH_MD_DUAL. Можно обойтись только HEX-редактором. Ищем «10 01 10 04 01 35 02» (Если стек собран со стандартной частотой 44.1 кГц) или «20 01 10 04 01 35 02» (48 кГц), должно быть одно совпадение. Заменяем второй байт на 0x04: «10 04 10 04 01 35 02″.

- Выключите Bluetooth;
- Включите инструменты разработчика, если ни разу их не включали: настройки → об устройстве → нажать несколько раз на «номер сборки».
- Откройте настройки, включите «Включить журнал трансляции операций HCI Bluetooth» в настройках разработчика;
- Включите Bluetooth, подключитесь со смартфона к наушникам, из настроек Bluetooth (не давайте автоматически подключиться наушникам к смартфону!);
- Воспроизведите небольшой отрывок аудиофайла;
- Откройте настройки, отключите «Включить журнал трансляции операций HCI Bluetooth» в настройках разработчика;
- Должен создаться файл /storage/emulated/0/btsnoop_hci.log или /data/misc/bluetooth/logs/btsnoop_hci.log. Если он не создался, то откройте текстовым редактором файл /etc/bluetooth/bt_stack.conf и посмотрите путь до лога в параметре BtSnoopFileName.
- Загрузите btsnoop_hci.log на https://btcodecs.valdikss.org.ru/;
- Напишите в этой теме, с какими наушниками (или другими устройствами) вы проводили тестирование, и результат. Недостаточно только загрузить дамп на сервер!
Сообщение отредактировал ValdikSS — 22.12.19, 13:01
- 1MORE iBFree
- JBL Everest 310
- JBL Everest 700
- JBL E55BT
(Сообщают, что не поддерживают Dual Channel, но работают. Не соответствуют спецификации A2DP.)
- Skullcandy HESH 3
- SoundPEATS Q30
- Sony WH-H900N
- Sony MDR-1ABT
- Sony MDR-ZX770BT
- Sony MDR-XB650BT
- Sony MDR-XB950B1
- Sony SBH50
- Bluedio A/Air (Сообщают, что не поддерживают Dual Channel, но работают. Не соответствуют спецификации A2DP.)
- Bluedio T4s (Bitpool max 39. Сообщают, что не поддерживают Dual Channel, но работают, при 462 кбит/с. Не соответствуют спецификации A2DP.)
- Bluedio T5 (Сообщают, что не поддерживают Dual Channel, но работают. Не соответствуют спецификации A2DP.)
- Bluedio T6 (Сообщают, что не поддерживают Dual Channel, но работают. Не соответствуют спецификации A2DP. Чип Adopt Max 97220.)
- Marshall Major II Bluetooth
- Overdrive RealForce D1
- DEXP BT-210
- DEXP BT-220
- DEXP BT-260
- DEXP BT-280
- Edifier W288BT
- Xiaomi MI Portable Bluetooth Speaker
- Xiaomi Square Box Bluetooth Speaker 2
- Sennheiser HD 4.40BT
- AKG K845BT
- Beyerdynamic Amiron Wireless
- Bowers & Wilkins PX
- Bowers & Wilkins Zeppelin Wireless
- House of Marley Liberate XLBT
- Harman Kardon Onyx Studio 4
- Harman Kardon Aura Studio 2
- QCY QY8
- Hagibis X2
- Sony DSX-A400BT (автомобильное головное устройство)
- Автомобильное головное устройство на чипе CSR8645 (noname)
- Автомобильный DAC Lusya bluetooth 4.0 with AK4490, NE5532
- JBL Everest 310 (617-660 кбит/с)
(576 кбит/с)
(573 кбит/с) - SoundPEATS Q30
- DEXP BT-210 (617 кбит/с)
- DEXP BT-220 (617 кбит/с)
- DEXP BT-260 (617 кбит/с)
- DEXP BT-280 (617 кбит/с)
(576 кбит/с) - Sony MDR-ZX770BT (617-660 кбит/с)
- Marshall Major II Bluetooth (617-660 кбит/с)
- Overdrive RealForce D1 (730 кбит/с, dual channel, 4 subbands)
- Jaybird X3
- QCY QY8 (617 кбит/с)
- Edifier W288BT (617 кбит/с)
(596 кбит/с)
(617 кбит/с)
(617 кбит/с)
(576 кбит/с)
(617 кбит/с) - Автомобильный DAC Lusya bluetooth 4.0 with AK4490, NE5532 (576 кбит/с)
- Harper HB-202 (треск; чип Beken BK3256)
(высокочастотные искажения, треск; гарнитура 2009 года)
(не успевают обрабатывать пакеты)
(нет звука) - Overfly mini Bluetooth receiver (нет звука)
Сообщение отредактировал ValdikSS — 21.09.18, 17:38
Зачем это нужно: SBC 328k и SBC 485k против aptX
Вопреки расхожему мнению о качестве звука кодека aptX, на некоторых файлах он может давать результаты хуже, чем SBC со стандартным битрейтом в 328 кбит/с.
SBC динамически выделяет биты квантования для частотных полос, действуя по принципу «от нижних к верхним». Если весь битрейт использовался на нижние и средние частоты, верхние частоты «обрежутся» (вместо них будет тишина).
aptX квантует частотные полосы одним и тем же количеством бит постоянно, из-за чего у него постоянный битрейт: 352 кбит/с для 44.1 кГц, 384 кбит/с для 48 кГц, и он не может «перенести биты» на те частоты, которые больше всего в них нуждаются. В отличие от SBC, aptX не будет «обрезать» частоты, а будет добавлять в них шумы квантования, уменьшая динамический диапазон аудио, и иногда привносить характерные потрескивания. SBC же «съедает детали» — отбрасывает наиболее тихие участки.
В среднем, по сравнению с SBC 328k, aptX вносит меньше искажений в музыку с широким частотным диапазоном, но на музыке с узким диапазоном частот и широким динамическим диапазоном SBC 328k иногда выигрывает.
Сильно улучшил звук AirPods за 10 шагов. Результат гарантирован любой модели
В закладки


Пользуюсь AirPods Pro года полтора, AirPods 3-го поколения — несколько месяцев. До этого у меня были самые первые AirPods, которые «благополучно» скончались вместе с намертво вклеенными аккумуляторами. В общем, опыт общения с TWS от Apple есть.
Пробовал другие полностью беспроводные наушники, но всегда возвращался к AirPods. У Apple получились действительно удобные TWS, которые особенно круто использовать в экосистеме устройств компании. Жаль, качество музыки у всех них всё же не очень.
Впрочем, мне удалось сделать звук в своих AirPods вполне адекватным. Этот набор приёмов подойдёт для любой модели.
1. Нужно повысить изоляцию через дополнительные накладки
Для первых двух поколений AirPods можно использовать даже поролоновые амбушюры от недорогих вкладышей
Пассивная шумоизоляция объясняет, насколько плотно наушники прилегают к ушной раковине и какое количество внешних шумов пропускают внутрь. Чем её условный показатель ниже, тем, в том числе, хуже качество звука — особенно диапазон низких частот.
Чтобы сделать звук лучше, пассивную шумоизоляцию есть смысл повысить. Для этого логично использовать дополнительные накладки, которые выпускают для всех моделей AirPods. Главное, чтобы с ними наушники в кейс помещались, иначе будет неудобно.
Во времена самых первых AirPods мы даже находили поролоновые амбушюры от недорогих китайских проводных вкладышей. Вместе с ними шумоизоляция наушников Apple повышалась вместе с качеством звука. Но сегодня есть даже брендовые варианты.
2. В AirPods Pro лучше использовать амбушюры побольше
Сам установил самые большие амбушюры, и музыка начала играть гораздо лучше
В случае AirPods Pro добиться максимальной пассивной шумоизоляции вполне возможно с помощью комплектных амбушюр. Важно подобрать те, которые, с одной стороны, максимально плотно сидят в ушах и не создают дискомфорт, с другой.
После многочисленных экспериментов с AirPods Pro, к примеру, сам остановился на самых больших комплектных амбушюрах. С ними звук в этих наушниках конкретно мне нравится больше всего. Впрочем, с ними мне ещё и удобнее носить эту модель.
3. Нет смысла ориентироваться на тест прилегания наушников
С амбушюрами меньшего размера правый наушник у меня ещё и из уха упёрто выпадает — какое там плохое прилегание
Для AirPods Pro у Apple есть специальный тест подбора максимально подходящих амбушюр. Но, как показывает практика, он работает далеко не для всех. У меня, к примеру, не с самыми большими амбушюрами правый наушник просто выпадает из уха.
Более того, с большими амбушюрами, которые тест Apple называет неподходящими, звук наушников мне субъективно нравится меньше. Но нужно понимать, что мои предпочтения по исполнителям ближе к электронике, поэтому вам лучше пробовать.
Но сам по себе тест воспринимать на 100%, в конце концов, не вижу ровным счётом никакого смысла. ANC с ним также не лучше.
Кстати, сложно сказать, как именно на качество звука влияет используемая в AirPods Pro технология ANC. С одной стороны, какие-то монотонные звуки она глушит, и это хорошо. С другой стороны, звук с ней становится более «пластиковым».
4. Для AirPods Pro уже придумали альтернативные амбушюры
Пенные амбушюры, по идее, достаточно быстро примут неприятный внешний вид
Чтобы улучшить посадку, повысить уровень пассивной шумоизоляции и, как следствие, качество звука, для AirPods Pro уже придумали альтернативные амбушюры. Они без проблем устанавливаются на место комплектных за пару секунд.
Неплохой вариант пенные, как на паре фото выше и ниже. У них более плотный контакт с ушной раковиной, они сжимаются при установке в ушной канал и пытаются заполнить собой всё свободное пространство. В общем, пассивная шумоизоляция растёт.
С пенными амбушюрами, как показывает практика, AirPods Pro ещё и в ушах лучше сидят
На AliExpress и других площадках предостаточно самых разных альтернативных амбушюр для AirPods Pro. По мере того, как у нас будут появляться какие-то новые и интересные, будем писать о них. Пока хочется попробовать AZLA SednaEarfit XELASTEC*.
* — если будете искать нечто подобное, заказывайте именно модель для AirPods Pro со специальным креплением
5. Стоит повысить качество звука, но лучше не до Lossless
Есть смысл использовать высокое качество, но в Lossless нет ровным счётом никакого смысла
В качестве звука уровня Lossless нет ровным счётом никакого смысла. Ни iPhone, ни другая техника Apple, ни сами AirPods любой модели не поддерживают беспроводные кодеки для музыки без сжатия, поэтому звук сильно лучше не станет.
Впрочем, в качестве музыки со сжатием определённая разница точно есть. Минимальный битрейт обычно обрезает верхний частотный диапазон, что хорошо слышно при использовании абсолютно любой модели полностью беспроводных наушников.
Для Apple Music качество звука меняется в меню «Настройки» → «Музыка» → «Качество звука». Для других сервисов — внутри их приложений.
6. Важно не забыть про качество звука во время трансляции
Обычно при трансляции по сотовой сети качество хуже
Да, при выборе качества звука не забудьте его также повысить для трансляции по сотовой сети. В стандарте оно здесь находится на среднем уровне как в случае Apple Music, так и в других музыкальных сервисах.
Понятное дело, в этом случае увеличится расход мобильного трафика, но без этого улучшить звук не выйдет.
7. Всем AirPods не хватает низов, выкручиваем эквалайзером
В сторонних музыкальных сервисах обычно используется свой собственный эквалайзер
Удивительно, что в любых других наушниках при повышении низких частот обычно образовывается каша. Но с AirPods абсолютно другая история. Они начинают воспроизводить любые треки лучше — особенно современные динамичные.
8. Отключайте любые варианты коррекции громкости треков
Коррекция громкости может резать качество звука
Коррекция громкости пытается подстроить громкость всех треков под один уровень с помощью банальной нормализации, а также, кажется, лимитера. Последний обрезает все звуки, которые громче среднего уровня трека, что понижает качество.
По большому счёту, коррекция громкости нужна только в том случае, если вы один за другим слушаете треки в абсолютно разных жанрах. Впрочем, ума не приложу, кто будет заниматься чем-то подобным. Обычно в одном плейлисте тот же жанр.
Отключить коррекцию громкости в Apple Music получится с помощью одноимённого пункта в меню «Настройки» → «Музыка».
9. Пространственное аудио «размывает» звук, выключаем его
Пространственное аудио особенно негативно влияет на динамичную электронику
Пространственное аудио создаёт эффект присутствия, который здорово работает с видео, но абсолютно бесполезен при прослушивании музыки. Более того, он очень странно работает в движении, а также в том случае, если не смотришь на источник.
В общем, технологии пространственного аудио через «Пункт управления» стоит включать лишь при просмотре фильмов.
10. Создаём профиль аудиограммы и добавляем в параметры
Вот он отличный повод проверить «усталость» своего слуха после регулярного прослушивания музыки в наушниках
Через меню «Настройки» → «Универсальный доступ» → «Аудиовизуализация» → «Адаптация наушников» можно добавить специальную аудиограмму. Это условный «снимок» слуха, который будет учитывать все его нюансы по каждому уху.
Саму по себе аудиограмму предварительно важно получить. Сделать это вполне получится через бесплатное приложение Mimi Hearing Test. Процесс не особенно быстрый, поэтому выделите для него минут 10 времени. Наушники заиграют немного иначе.
Кстати, с помощью подобных приложений, если внимательно пройти тест, также выйдет понять состояние своего слуха.
Все шаги, которые улучшат звук в AirPods, если кратко:
❶ Повышаем пассивную звукоизоляцию по максимуму. Для этого нужно подобрать правильные амбушюры, чтобы не пропускали в уши лишнее.
❷ Повышаем качество звука офлайн и при трансляции. Выбирать варианты музыкальных композиций Lossless нет смысла, но битрейт лучше повыше.
❸ Выкручиваем низкие частоты с помощью эквалайзера. Повышение баса крайне положительно сказывается на динамичных музыкальных композициях.
❹ Отключаем коррекцию звука музыкальных композиций. Судя по всему, кроме нормализации, эта фишка иногда используется и лимитер, что портит звук.
❺ Отказываемся от пространственного аудио для музыки. Эту функцию, которая создаёт эффект присутствия, лучше всего оставить для видео.
❻ Создаём профиль аудиограммы только для себя одного. Индивидуальная настройка позволит изменить звук конкретно под свои уши и предпочтения.
В общем, конечно, нужно понимать, что все AirPods, кроме модели Max, не для аудиофилов. Тем не менее, они отлично подходят меломанам, которые слушают музыку много и часто, и хотят просто делать это максимально удобно. Согласны?
Модифицируем Bluetooth-стек для улучшения звука на наушниках без кодеков AAC, aptX и LDAC
Некоторые пользователи беспроводных наушников отмечают низкое качество звука и недостаток высоких частот при использовании стандартного Bluetooth-кодека SBC, который поддерживают все аудиоустройства. Частой рекомендацией для улучшения звука является покупка устройств и наушников с поддержкой кодеков aptX и LDAC. Эти кодеки требуют лицензионных отчислений, поэтому устройства с их поддержкой стоят дороже.
Оказывается, низкое качество SBC обусловлено искусственными ограничениями Bluetooth-стеков и настроек наушников, и это ограничение можно обойти на любых существующих устройствах, путём программных изменений смартфона или компьютера.
Кодек 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 на этапе согласования — недоработка стандарта A2DP, которая и привела к искусственному ограничению качества SBC. Разумней было бы согласовывать bitrate, а не bitpool.
Такие фиксированные значения Bitpool и Bitrate берут свое начало из таблицы с рекомендованными к использованию значениями для высококачественного аудио. Но рекомендация — не повод ограничиваться этими значениями.

Спецификация A2DP v1.2, которая была активна с 2007 по 2015 год, предписывает всем декодирующим устройствам корректно работать с битрейтами до 512 кбит/с:
В новой версии спецификации ограничение по битрейту отсутствует. Предполагается, что современные наушники, выпущенные после 2015 года и поддерживающие EDR, могут поддерживать битрейты до ≈730 кбит/с.
По какой-то причине, у проверенных мной Bluetooth-стеков Linux (PulseAudio), Android, Blackberry и macOS есть искусственные ограничения максимального значения параметра bitpool, который напрямую влияет на максимальный битрейт. Но это — не самая большая проблема, почти все наушники тоже ограничивают максимальное значение bitpool числом 53.
Как я уже успел убедиться, большинство устройств отлично работает на модифицированном Bluetooth-стеке с битрейтом в 551 кбит/с, без прерываний и треска. Но такой битрейт никогда не будет согласован в обычных условиях, на обычных Bluetooth-стеках.
Модифицируем Bluetooth-стек
В любом Bluetooth-стеке, который совместим со стандартом A2DP, есть поддержка режима Dual Channel, но активировать её из интерфейса не представляется возможным.
Давайте добавим переключатель в интерфейс! Я сделал патчи для Android 8.1 и Android 9, которые добавляют полноценную поддержку Dual Channel в стек, добавляют режим в меню переключения режима в инструменты разработчика, и обрабатывают SBC с поддержкой Dual Channel так, будто это дополнительный кодек, вроде aptX, AAC или LDAC (Android называет это HD Audio), добавляя галочку в настройки Bluetooth-устройства. Вот как это выглядит:

При активации галочки, Bluetooth-аудио начинает передаваться с битрейтом 551 кбит/с, если наушники поддерживают соединение на скорости 3 мбит/с, или 452 кбит/с, если наушники поддерживают только 2 мбит/с.
- LineageOS
- Resurrection Remix
- crDroid
Откуда взялись 551 и 452 кбит/с?
Технология разделения эфира в Bluetooth предназначена для эффективной передачи больших пакетов фиксированного размера. Передача данных происходит слотами, самое большое количество слотов, отправляемых за одну передачу — 5. Также есть режимы передачи, использующие 1 или 3 слот, но не 2 или 4. В 5 слотах можно передать до 679 байт на скорости соединения 2 мбит/с и до 1021 байт на скорости 3 мбит/с, а в 3 — 367 и 552 байта соответственно.

Если мы хотим передать меньше данных, чем 679 или 1021 байт, но больше, чем 367 или 552 байта, то передача всё равно займет 5 слотов, а данные будет передаваться за такое же время, что уменьшает эффективность передачи.

SBC в режиме Dual Channel, на 44100 Гц-аудио с параметрами Bitpool 38, 16 блоков во фрейме, 8 частотных диапазонов, кодирует аудио во фреймы размером 164 байт, с битрейтом 452 кбит\с.
Аудио должно быть инкапсулировано в протоколы передачи L2CAP и AVDTP, которые забирают 16 байт от полезной аудионагрузки.
Таким образом, в одну Bluetooth-передачу с 5 слотами удаётся вместить 4 аудиофрейма:
Мы вместили 11.7 мс аудиоданных в отправляемый пакет, который будет передан за 3.75 мс, и у нас осталось 6 неиспользованных байт в посылке.
Если чуть поднять bitpool, 4 аудиофрейма уже не удастся упаковать в одну посылку. Придётся отправлять по 3 фрейма за раз, что снижает эффективность передачи, уменьшает количество передаваемого аудио за одну посылку, и быстрее приведёт к заиканиям аудио при плохих радиоусловиях.
Таким же образом был подобран битрейт 551 кбит/с для EDR 3 мбит/с: с Bitpool 47, 16 блоками во фрейме, 8 частотными диапазонами получается размер фрейма 200 байт, при битрейте 551 кбит/с. В одну посылку вмещается 5 фреймов или 14.6 мс музыки.
Алгоритм расчёта всех параметров SBC достаточно сложный, можно легко запутаться, если считать вручную, поэтому я сделал интерактивный калькулятор в помощь интересующимся: btcodecs.valdikss.org.ru/sbc-bitrate-calculator
Зачем всё это нужно?
Вопреки расхожему мнению о качестве звука кодека aptX, на некоторых файлах он может давать результаты хуже, чем SBC со стандартным битрейтом в 328 кбит/с.
SBC динамически выделяет биты квантования для частотных полос, действуя по принципу «от нижних к верхним». Если весь битрейт использовался на нижние и средние частоты, верхние частоты «обрежутся» (вместо них будет тишина).
aptX квантует частотные полосы одним и тем же количеством бит постоянно, из-за чего у него постоянный битрейт: 352 кбит/с для 44.1 кГц, 384 кбит/с для 48 кГц, и он не может «перенести биты» на те частоты, которые больше всего в них нуждаются. В отличие от SBC, aptX не будет «обрезать» частоты, а будет добавлять в них шумы квантования, уменьшая динамический диапазон аудио, и иногда привносить характерные потрескивания. SBC же «съедает детали» — отбрасывает наиболее тихие участки.
В среднем, по сравнению с SBC 328k, aptX вносит меньше искажений в музыку с широким частотным диапазоном, но на музыке с узким диапазоном частот и широким динамическим диапазоном SBC 328k иногда выигрывает.
Рассмотрим частный случай. Спектрограмма записи игры на фортепиано: 
Основная энергия лежит в частотах от 0 до 4 кГц, и продолжается до 10 кГц.
Спектрограмма файла, сжатого в aptX, выглядит следующим образом: 
А так выглядит SBC 328k. 
Видно, что SBC 328k периодически полностью отключал диапазон выше 16 кГц, и расходовал весь доступный битрейт на диапазоны ниже этого значения. Однако, aptX внес больше искажений в слышимый человеческим ухом спектр частот, что можно видеть на вычтенной оригинальной спектрограмме из спектрограммы aptX (чем ярче, тем больше искажений): 
В то время как SBC 328k меньше испортил сигнал в диапазоне от 0 до 10 кГц, а остальное — обрезал: 
Битрейта 485k SBC хватило, чтобы сохранить весь диапазон частот, без отключения полос. 
SBC 485k на этой композиции значительно опережает aptX в диапазоне 0-15 кГц, и с меньшей, но все же заметной разницей — в 15-22 кГц (чем темнее, тем меньше искажений): 
Переключившись на высокобитрейтный SBC, вы получите звук, зачастую превосходящий aptX, на любых наушниках. На наушниках, поддерживающих подключение EDR 3 мбит/с, битрейт 551 кбит/с даёт звук, сравнимый с aptX HD.
А можно ещё больше?
В патче для Android также имеется опция для ещё большего повышения битрейта для устройств EDR 2 мбит/с. Можно повысить битрейт с 452 кбит/с до 595 кбит/с, ценой уменьшения стабильности передачи в сложных радиоусловиях.
Достаточно установить переменную persist.bluetooth.sbc_hd_higher_bitrate в значение 1:
Патч на экстремальный битрейт пока принят только в LineageOS 15.1, но не в 16.0.
Совместимость с устройствами
SBC Dual Channel поддерживается практически всеми наушниками, колонками и автомобильными головными устройствами. Это немудрено — стандарт предписывает его поддержку в любых декодирующих устройствах. Есть небольшое количество устройств, на которых этот режим вызывает проблемы, но это — единичные экземпляры.
Более подробно с совместимыми устройствами можно ознакомиться на 4pda или xda-developers.
Сравнение различий звука
Я сделал веб-сервис, кодирующий аудио в SBC (а также aptX и aptX HD) в реальном времени, прямо в браузере. С помощью него вы сможете сравнивать звук различных профилей SBC и другие кодеки, без фактической передачи аудио по Bluetooth, на любых проводных наушниках, колонках, и вашей любимой музыке, а также изменять параметры кодирования прямо во время воспроизведения аудио.
btcodecs.valdikss.org.ru/sbc-encoder
Связь с разработчиками Android
Я писал многим разработчикам Bluetooth-стека из Google, с просьбой рассмотреть включение патчей в основную ветку Android — AOSP, но не получил ни одного ответа. Мои патчи в системе работы с патчами Gerrit для Android также остались без комментариев со стороны кого-либо причастного.
Я был бы рад, если бы мне посодействовали в связи с разработчиками из Google и внедрении SBC HD в Android. Патчcет в gerrit уже устарел (это одна из ранних ревизий), и я его обновлю, если разработчиков заинтересуют мои изменения (мне непросто его обновлять, у меня нет совместимых с Android Q устройств).
Как улучшить звук наушников — настраиваем

Разберемся как улучшить качество звука и настроить звук наушников. Есть несколько основных методов: физический апгрейд (амбушюры, провод и т.д.) и программный (другой проигрыватель, эквалайзер).
Разберем отдельно, как улучшить звук беспроводных блютуз наушников + проводных и как улучшить звук в наушниках на ПК (игровые гарнитуры).
У любой модели есть свой потолок звучания. Наушники за 5$ не заиграют на 100$. Но улучшить звук можно и у них. Иногда проще выбрать лучшие наушники за свою цену + сделать все эти настройки. Рейтинги свежих моделей:
1. Улучшаем качество звука беспроводных блютуз наушников

Как улучшить звук беспроводных наушников? Практически так же, как и проводных. Основные моменты общие, их разберём ниже. Отдельно для беспроводных можно выделить следующие моменты:
- Различные настройки звука. Эквалайзер, громкость и прочие улучшайзеры. Стандартными средствами ОС. Звук тут передаётся в цифровом виде, гибкость настроек больше, чем у проводных.
- Смена кодека, по которому передаётся звук. Например, не всегда SBC хуже, чем AAC. Можно поэкспериментировать. Можно изменить в настройках.
- Настройки через приложение. Фирменное приложение от производителя наушников или стороннее. Сюда можно отнести апскейлинг (увеличение битрейта и битности), звуковые профили (эквалайзер плюс эффекты) и тому подобное. Это все примеры, разобрав которые, нужно писать отдельную статью по каждому. Конкретные примеры приложений в 8 пункте и идем ниже к другим вариантам улучшения звучания.
Дополнительно почитать о том, как улучшить звук в блютуз наушниках, как его настроить под себя, можно в соседней статье.
2. Новые амбушюры

Если вы всерьёз задумались над тем, как улучшить звук в наушниках, советую начать именно с амбушюров. Их замена обычно не вызывает проблем, а результат хорошо слышен.
Будь то полноразмерные, накладные, вакуумные наушники, у них можно заменить амбушюры. Со вкладышами сложнее, большинство современных моделей не предусматривают амбушюр. Но и тут можно что-то придумать. Как амбушюры могут улучшить качество звука наушников? Более подробно про все виды амбушюров и их влияние на звук и комфорт – в нашей специализированной статье.
- Для полноразмерных и накладных в общих чертах разница такова: кожаные, из кожзама и тому подобных материалов улучшают качество баса, увеличивают его количество, сужают сцену, добавляют энергетики. Тканевые, велюровые и из похожих материалов уменьшают количество НЧ, могут сделать бас более «сухим», расширят сцену, могут увеличить детальность на СЧ и ВЧ.
- Для вакуумных есть свои отличия: силиконовые амбушюры бывают разной плотности и формы (обычные, вытянутые, ёлочки), а есть ещё и пенные варианты. Разные формы силиконовых не сильно влияют на звук, можно выделить момент, что чем глубже плотнее (обязательно и то, и другое) посадка, тем больше баса. Но это очень примерно. Пенные дают более качественную звукоизоляцию и, частично, «выравнивают» звук. Различия тут не очень велики, но попробовать обязательно стоит.
3. Другой кабель – как улучшить звучание наушников заменой провода

Улучшение звука в наушниках с проводом можно достигнуть, заменив этот самый провод.
Если наушники со съёмным кабелем, то обязательно стоит попробовать его поменять. Многие говорят, что провод не влияет на звук, но мой личный опыт говорит об обратном. Конечно, ощутить влияние кабеля проще в дорогих и качественных наушниках. Если модель простенькая, значение замены кабеля гораздо ниже. Подробнее о влиянии провода на звук и всех особенностях можно почитать в нашей отдельной статье.
- Если провод съёмный, достаточно просто подобрать (или заказать) новый кабель с таким же разъёмом. Они в основном стандартные, есть несколько для разных форм-факторов, но не так уж и много. Тут даже не придётся особо размышлять, как улучшить наушники, просто меняем провод.
- Если же кабель несъёмный, можно, конечно, попробовать перепаять. Но тут нужен соответствующий навык. Я вообще не советовал бы самостоятельно заниматься этим, если раньше не было такого опыта. Особенно не стоит «лезть» в дорогие наушники. Там зачастую есть много не особо очевидных нюансов, не зная которые, очень легко всё сломать.
4. Более качественный источник

Как улучшить звук в наушниках – приобрести плеер или другой качественный источник.
Возможно, ваши наушники не полностью раскрываются от вашего текущего источника (телефона, простого плеера, ПК и так далее). Если у вас достаточно дорогие наушники, им скорее всего нужен источник лучше, чем телефон. Наушники с высоким сопротивлением (от 64 Ом) в принципе плохо «раскачиваются» обычным телефоном. Не только по громкости, но и по качеству.
- Если вы слушаете музыку от ПК, всегда есть смысл заменить аудио-карту. Даже, если у вас ноутбук, и замена невозможно, есть внешние звуковые карты, которым достаточно USB-разъёма для работы. Даже для игр и фильмов это часто может быть полезно. Это очень действенный способ, как сделать звук в наушниках лучше и чище. Посмотреть интересные варианты аудио-карт можно в соответствующем рейтинге.
- Если ваш источник – смартфон или простой mp3-плеер, замена его на качественный портативный проигрыватель почти в 100% случаев улучшит звук наушников. Не будет изменений только в том случае, если у вас простенькие наушники. Тут имеет смысл сменить их. Ознакомиться со списком интересных и проверенных плееров можно в нашем ТОП-15.
5. Добавление усилителя — ещё один вариант как улучшить звук в наушниках

Это удачный вариант, если вы слушаете музыку с телефона. Улучшить звук Xiaomi, например, (или другого телефона) можно приобретением даже простенького усилителя.
Можно к имеющемуся источнику добавить усилитель. Это особенно актуально для высокоомных наушников. Но даже если у вашей модели сопротивление 32 Ом, покупка усилителя наверняка улучшит звук. Ведь усилитель не только, собственно, усиливает сигнал, но и «выравнивает» его.
Тем более, многие современные усилители имеют встроенный ЦАП, на который передаётся обработка файлов в целом. Подходящий для себя усилитель вы можете найти в наших рейтингах: стационарных и портативных моделей.
Беспроводные наушники на Aliexpress:
6. Переделка корпуса – радикальный способ, как сделать звук в наушниках лучше

Если у вас полноразмерные наушники (можно отнести это и к накладным, но «с натяжкой»), их звук может улучшить корпус из другого материала. То есть, переделка чаш. Самостоятельно делать, конечно, не стоит. Мастеров, однако хватает. Обычно они используют качественную древесину с проверенными акустическими свойствами. Стоит отметить, что имеет смысл это только для качественных аудиофильских моделей.
Можно переделать корпусы и у «маленьких» наушников: вакуумных и (реже) вкладышей. Тут имеется в виду создание капсюлей по форме ушного канала. Снимаем слепки, отправляем их и наушники в специальную мастерскую и получаем наушники, идеально подходящие под ваши уши. Это уменьшит «утечки», что улучшит звучание наушников. Опять же, логичный ход для дорогих и качественных моделей, ведь такая переделка стоит не копейки.
️ 7. Как улучшить звук в наушниках на ПК – игровые USB наушники и 7.1

Самый простой способ улучшения звука на ПК, для игровых наушников, – программный. Приложение для звука на ПК в данном случае – это фирменное приложение от наушников или сторонние программы по настройке звука. У них может быть самый разнообразный функционал: от банального эквалайзера до хитрых настроек пространственного звука 7.1 и не только.
- Установка функциональных плееров. Музыкальных и видео. Есть проигрыватели с большим количеством настроек, возможности интеграции ASIO и так далее. Например, AIMP или foobar200 (и плагины к нему).
- Настройка звука стандартными возможностями Windows. Есть немало путей, как улучшить звук в Windows (в том числе, Windows 10) просто обычными настройками.
2.1 Эквалайзер, объемное звучание, подавление шумов, тембр и так далее. Найти довольно просто.
2.2 Аналогичные настройки есть и в ПО от вашей звуковой карты. Имеются в виду не просто драйверы, а именно программа с настройками. Даже у Realtek есть немало настроек, у других карт – больше.
2.3 В Windows 10, кроме всего прочего, можно улучшить звук (в основном, в фильмах и играх), включив эмуляцию объёмного звука прямо из «трея» около часов.

Программы для игровых наушников с микрофоном и (опционально) звуком 7.1 есть у большинства популярных производителей геймерских гарнитура. Зачастую без них и не обойтись, ведь в комплекте идёт внешняя звуковая карта с большими возможностями, которые можно настроить под себя. Рассмотрим 3 примера:
-
– программа от Kingston. В наушниках позволяет настроить минимум опций (громкость динамиков и микрофона). – более продвинутое ПО. Много настроек (в зависимости от модели): громкость, эквалайзер, микрофон, подсветка, эффекты, объёмный звук и не только. (отлично улучшает звук в играх) — программа улучающая звучание в наушниках. Основные фишки – создание виртуального звука 7.1, точная настройка аудио сигнала в соответствии с предпочтениями. Особенно круто программа проявляет себя в играх, типа CS-GO и других шутерах.
- Подробнее о программах чуть ниже и в отдельной статье. Там можно почитать и как улучшить качество микрофона на ПК, например.
- А самые интересные игровые наушники перечислены в нашем рейтинге.
️ 8. Программы для улучшения звука в наушниках — для ПК и телефона

Программа для наушников – понятие широкое. И для ПК, и для телефона есть множество различных решений, которые меняют звук в той или иной степени.
Программ для улучшения звука на ПК есть немало. Начиная с описанных выше кодеков и плееров. Рассмотрим ещё несколько проверенных вариантов.
-
— (есть и для MAC) шикарная программа, которая улучшает звук плеера, видео, игр, фильмов и так далее. Фишки: 3D Звук, виртуальный Сабвуфер, улучшение звучания колонок и конечно же отличный эквалайзер. — простая программка, позволяющая улучшить качество звука отдельно для каждого приложения (проигрыватель, плеер, браузер и т.д.). Довольно простая и удобная. (Настройка для Aimp: «Воспроизведение»-«Устройство» из выпадающего меню выбираем Direct Sound — DFX Speakers, после настраиваем ползунки в DFX.) – хорошая программа для улучшения качества звука музыки и не только. Тут тоже есть настройка 3D, эквалайзера и много других опций. Довольно удобный интерфейс и богатый функционал.
Скачать программу для улучшения звука в наушниках довольно просто, достаточно знать, где. Но среди них много практически бесполезных. Но есть и несколько проверенных.
-
— создание качественной, виртуальной звуковой карты на вашем компьютере, что неплохо улучает звук. Основные фишки: возможность выравнивать тихие и громкие звуке на один уровень, множество авто настроек, удобные индикаторы в нижней панели. — многофункциональная программа для обработки аудио и настройки эквалайзера. Можно настроить звук отдельного музыкального файла, интернет радиостанции, преобразование моно в стерео, клипер, компрессор-ограничитель и более 30 других полезных настроек. Программа имеет столько настроек и инструментов, что может удивить даже опытных пользователей.

Рассмотрим несколько интересных приложений (на Android) для настройки и улучшения звука проводных и Bluetooth наушников.
-
— одна из лучших программ для настройки эквалайзера для наушников. Можно автоматически выполнить сложную настройку и подстроить звучание под свою модель. Много интересных инструментов. — главная фишка: качественная настройка под любой жанр музыки. — очень удобный проигрыватель: встроенный эквалайзер и море интересных функций. — увеличение звука динамиков на 45% от максимума в 1 касание. — многофункциональный эквалайзер. Позволяет улучшать звук в видео, играх, усиливает басы и так далее.
Само собой, что и под iOS есть немало приложений для улучшения звучания наушников. Кроме того, у iPhone есть встроенный эквалайзер, который тоже может ощутимо влиять на качество звука. Для повышения громкости можно (но лучше не надо) также использоваться Jailbreak. Об этом подробнее в нашей статье про громкость.
-
– популярный эквалайзер с простым и понятным интерфейсом, но при этом хорошим функционалом. – хороший плеер с большим количеством настроек и возможностей.
Фирменных приложений для управления наушниками, улучшения их звука и расширения функционала много. У каждого уважающего себя производителя наушников есть такая разработка. Но, правда, приложение обычно подходит не для всех моделей бренда. Обычно поддерживаются беспроводные наушники с широким функционалом.
️ 9. Как улучшить / настроить звук наушников — с помощью эквалайзера

Как улучшить звук наушников? Как разобраться в этом эквалайзере
Настройка эквалайзера может сильно улучшить звук наушников на ПК, а может и ухудшить, если увлечься. Эквалайзер есть и в стандартных настройках Windows, и в различных плеерах. Конечно, эквалайзеры есть и сторонние. И в телефонах, и программных плеерах. Там же можно настроить баланс наушников.
Более подробно настройка и особенности разобраны в нашей детальной статье.