настройка кодека bluetooth в windows 10
Windows 10 и Bluetooth AptX. Какой кодек используется?
В рамках этой статьи вы узнаете, поддерживает ли Windows 10 Blutooth AptX, а также используется ли этот кодек при подключении беспроводных наушников!
Читайте также:
Как ни крути, но компания Apple дала мощный толчок в популяризации беспроводных наушников. Все благодаря тому, что компания отказалась от разъема мини-джек на iPhone. Это подхватили и другие производители. После чего началось какое-то движение в развитие беспроводных наушников и Bluetooth кодеков, использующихся в них.
Существует несколько аудиокодеков Bluetooth:
Что необходимо чтобы был задействован
Bluetooth AptX в Windows?
Если наушники не поддерживают AptX, то задействовать его не получиться. «Нарастить» или «активировать» AptX нельзя, если производитель изначально не заложил в Bluetooth наушники данную функциональность.
Какой аудиокодек используется при подключении Bluetooth наушников к Windows 10?
Как проверить какой кодек используется при подключении беспроводных наушников к Windows 10?
Смотрите также видео о том, как проверить какой Bluetooth кодек используется при подключении к Windows 10.
У вас еще остались вопросы? Пишите их в комментариях, рассказывайте, что у вас получилось или наоборот!
Вот и все! Больше полезных статей и инструкций читайте в разделе Статьи и Хаки Android. Оставайтесь вместе с сайтом Android +1, дальше будет еще интересней!
Windows 10 21H2 поставляется с новыми функциями для Bluetooth-аудио
В прошлом Windows 10 подвергалась критике за ограниченное управление аудиоустройствами, при этом пользователи регулярно сообщали о проблемах при использовании своих устройств Bluetooth, как для воспроизведение звуков, так и для микрофона. Также были жалобы на качество звука, особенно при использовании продуктов премиум-класса, таких как Apple Airpods.
С обновлением Windows 10 Sun Valley Update, также известным как версия 21H2, похоже, что Microsoft прилагает больше усилий для улучшения качества звука через Bluetooth. Например, Microsoft добавляет поддержку аудиокодека AAC Bluetooth для всех устройств в Windows 10 версии 21H2.
В последних предварительных сборках мы увидели как минимум два больших изменения. Первой новой функцией является унифицированная конечная точка аудио, что означает, что голос и микрофон вашей Bluetooth-гарнитуры, наконец, будут работать правильно без переключения между двумя конечными точками (голосом и микрофоном) вручную.
После обновления функции вы увидите только одну конечную точку звука, если кликните значок звука, закрепленный на панели задач. Это означает, что вам не нужно переключаться между несколькими аудио конечными точками, чтобы одновременно использовать голос и микрофон. Чтобы облегчить эту функцию, Microsoft автоматически переключится на правильную конечную точку аудио.
Например, Windows автоматически переключится на голосовую конечную точку, когда вы слушаете музыку в Spotify. Если вы переключитесь на Zoom и Teams, фокус конечной точки звука сместится на микрофон.
Windows 10 получает поддержку кодека Bluetooth AAC
Для тех, кто не знает, кодек Bluetooth – это функция, которая определяет, как аудиофайлы передаются с вашего компьютера в наушники. Кодек необходим для кодирования и декодирования аудиофайлов, а также обеспечивает воспроизведение звука через беспроводное соединение с минимальной скоростью передачи данных.
В Windows 10 21H2 Microsoft добавляет аудиокодек AAC Bluetooth ко всему поддерживаемому оборудованию. Конечно, это не означает, что он будет работать с каждым устройством под управлением новой версии Windows 10, но он должен, по крайней мере, помочь пользователям с совместимым устройством.
Advanced Audio Coding (AAC) является одним из главных кодеков и обеспечивает поддержку премиум потокового аудио. Кодек поддерживает сжатие цифрового звука с потерями, и это предпочитаемый режим передачи данных Apple. В результате вы можете ожидать улучшения качества звука при прослушивании музыки в Интернете через Airpods и другие устройства с поддержкой AAC.
Вдобавок Microsoft, похоже, тестирует дополнительные улучшения для новых значков проводника.
Важно помнить, что все эти функции все еще тестируются в предварительных сборках Windows 10 21H2. Зная, как Microsoft справлялась с развертыванием этих бета-функций в прошлом, пройдет некоторое время, прежде чем они будут запущены в производство.
Согласно отчетам, следующее большое обновление Windows 10 в настоящее время ожидается в октябре или ноябре 2021 года.
Модифицируем Bluetooth-стек для улучшения звука на наушниках без кодеков AAC, aptX и LDAC
Некоторые пользователи беспроводных наушников отмечают низкое качество звука и недостаток высоких частот при использовании стандартного Bluetooth-кодека SBC, который поддерживают все аудиоустройства. Частой рекомендацией для улучшения звука является покупка устройств и наушников с поддержкой кодеков aptX и LDAC. Эти кодеки требуют лицензионных отчислений, поэтому устройства с их поддержкой стоят дороже.
Оказывается, низкое качество SBC обусловлено искусственными ограничениями Bluetooth-стеков и настроек наушников, и это ограничение можно обойти на любых существующих устройствах, путём программных изменений смартфона или компьютера.
Кодек SBC
У кодека SBC есть множество разных параметров, которые согласуются на этапе установки соединения. Среди них:
Декодирующее устройство обязано поддерживать любое сочетание этих параметров. Кодирующее устройство может реализовывать не все.
Существующие 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 кбит/с:
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.
В новой версии спецификации ограничение по битрейту отсутствует. Предполагается, что современные наушники, выпущенные после 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 мбит/с.
Откуда взялись 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 устройств).
Настройка кодека bluetooth в windows 10
Появилась хорошая новость для пользователей AirPods. Microsoft планирует добавить Bluetooth аудио с поддержкой AAC в Windows 10 в следующем крупном обновлении. Это обновление должно выйти только в конце этого года, но участники программы предварительной оценки Windows уже могут попробовать эту функцию после загрузки Preview Build 21370.
реклама
Кодек AAC (Advanced Audio Coding) не широко применяется в отрасли, но устройства Apple уже довольно давно используют его. Все Bluetooth наушники Apple поддерживают AAC, но из-за того, что кодек не принят другими разработчиками, пользователи вынуждены использовать их только внутри экосистемы Apple.
Взяв в качестве примера Apple AirPods, при подключении их к ПК с Windows 10 они будут использовать SBC, потому что текущая сборка Windows 10 поддерживает звук Bluetooth только через SBC или Qualcomm AptX. Переход на SBC позволяет AirPods воспроизводить звук с потерей качества, что может не понравиться некоторым пользователям.
Эта проблема решена в сборке 21370 Windows 10 Insider Preview, в которой основное внимание уделяется улучшению качества звука через Bluetooth за счет добавления поддержки AAC. Благодаря этому пользователи AirPods могут, наконец, в полной мере использовать свои наушники при подключении к ПК с Windows 10.
Microsoft также модернизирует пользовательский интерфейс. Если сейчас посмотреть на звуковое меню панели задач, то можно заметить, что в нем слишком большое количество настроек, а это может вызвать у пользователей ПК затруднения. Следующее большое обновление Windows направлено на то, чтобы упростить звуковое меню, уменьшив количество опций и автоматически переключаясь между ними.
Bluetooth-кодеки для беспроводных наушников. Какие бывают и что лучше
Содержание
Содержание
Беспроводные Bluetooth гарнитуры активно вытесняют проводные модели. При покупке новых наушников или смартфона полезно знать не только версию Bluetooth, но и разбираться в поддерживаемых аудиокодеках.
Что такое кодек и зачем нужен
Кодек — это специализированная программа (алгоритм), которая выполняет шифрование и дешифрование информации с целью уменьшить объем. Практика показывает, что чем меньше передается данных по Bluetooth, тем ниже шанс потери информации. Дополнительно передача больших объемов по воздуху плохо сказывается на автономности мобильных устройств. Именно поэтому используется кодек, способный выполнить сжатие с минимальными потерями.
В ходе сжатия аудиофайл теряет часть информации. Какую именно и в каком объеме — это зависит от каждого конкретного кодека. Как правило, выполняется обрезка высоких частот. Например, существуют реализации кодеков AAC от различных брендов, каждый из которых удаляет часть высоких частот.
Как видно из графика, лучшим по сохранению качества является кодек от компании Apple, который урезает около 1 кГц. На других устройствах потери высоких частот больше.
Почему не существует одного универсального кодека — все дело в поиске «золотой середины». Слишком сильное сжатие уменьшит передаваемый объем данных, но также урежет качество звучания за счет потери информации. Шифровка и дешифровка больших объемов данных позволяет сохранить приближенное к оригиналу качество звучания, но приводит к повышенному энергопотреблению и плохой помехоустойчивости.
У всех кодеков есть несколько ключевых параметров.
Частота дискретизации. При преобразовании аналогового сигнала цифровая аудиодорожка составляется из определенного количества точек. Чем выше частота выбора этих точек, тем выше качество записи. Измеряется в Гц. Эталонное значение у компакт-диска — 44100 Гц.
Разрядность. Задает точность кодирования каждого участка, заданного частотой дискретизации. Чем выше параметр, тем ближе к оригиналу получается оцифрованный сигнал. Измеряется в битах. Для компакт-диска разрядность составляет 16 бит.
Битрейт. Определяет количество бит, которые можно передать за единицу времени и напрямую зависит от вышеописанных параметров. Измеряется в кбит/с. Для компакт-диска составляет 1411 кбит/с.
Для понимания значимости этих параметров можете посмотреть изображение ниже. Как видно, при высокой битности и частоте дискретизации оцифрованный сигнал (красный) более приближен к оригиналу (синему).
Независимо от выбранного кодека беспроводная передача аудио проигрывает проводной. Дополнительно нужно учитывать тот факт, что с возрастом человеческий слух ухудшается и не способен воспринимать отдельные частоты. Обычно мы воспринимаем частоты от 20 Гц до 20 кГц, однако со временем этот диапазон сужается. Ученые подсчитали, что в среднем за 10 лет из диапазона теряется 2 кГц.