- All audio to bluetooth android
- All audio to bluetooth android
- Как на Android включить Bluetooth кодек LDAC, aptX, aptX HD
- Как на Android включить Bluetooth кодек LDAC, aptX, aptX HD
- Немного о Bluetooth аудиокодеках
- Как узнать кодек bluetooth что используется?
- Как включить необходимый Bluetooth аудиокодек на Android?
- Модифицируем Bluetooth-стек для улучшения звука на наушниках без кодеков AAC, aptX и LDAC
- Кодек SBC
- Модифицируем Bluetooth-стек
- Откуда взялись 551 и 452 кбит/с?
- Зачем всё это нужно?
- А можно ещё больше?
- Совместимость с устройствами
- Сравнение различий звука
- Связь с разработчиками Android
All audio to bluetooth android
Сообщение отредактировал volod_bol — 19.04.21, 19:40
Вова Большаков, испытано на устройстве из профиля? Viper установлен?
В архиве 2 файла либов. Причём не системных, а своих. Т.е. ещё и прописавыется где-то. Значит руками не поменять и нужен бекап всего системного раздела.
Сообщение отредактировал Деструктивный смузи — 05.12.16, 22:41
Посмотрел скрипт. Если в папке system/lib есть файл aptx, то мод установится. Если его нет, то ничего не изменится. Файл этот есть, если железо поддерживает данный кодек (зависит от bluetooth). Так что мод для тех, у кого есть aptx.
Ps очень странно, но мод встал на мой телефон. Завтра послушаем, что к чему.
Сообщение отредактировал Деструктивный смузи — 05.12.16, 22:49
LeEco (LeTV) One Max (X900+). Выделенный ЦАП и усилитель. Поддержки AptX — нет.
Наушники с AptX. PowerAMP @.
Установил Apt-X_HD_Port. Ничего не изменилось! )))
Ни на слух, ни визуально.
Вернул Систему «в зад» ))
p.s. может это украшалка AptX HD в LG G 5? 🙂
Сообщение отредактировал O1eg_sgn — 25.04.17, 18:51
Здравствуйте! У меня LG G3 который поддерживает кодек apt-x, слушаю в паре с LG Tone HBS 810, которая также его поддерживает, изменит ли установка этого мода качество звучания, реально ли 24-х битный звук будет передаваться по блютузу, как apt-x HD в LG G5, я так понимаю apt-x HD должен аппаратно поддерживаться как на самом смартфоне так и на гарнитуре, и в моем случае ничего не изменится?
Сообщение отредактировал nokuta — 13.12.16, 19:12
Источник
All audio to bluetooth android
Краткое описание:
Подключение Вашего аудиоустройства Bluetooth и запуск Spotify без перехода в настройки.
Описание:
Если Вы хотите послушать музыку, Вам приходится переходить в настройки, искать беспроводное соединение, bluetooth, затем подключать/отключать аудиодинамик? Это сложно и надоедает. У меня есть лучшее решение.
Одно нажатие на виджете для подключения Вашего аудиоустройства Bluetooth и запуск Spotify без перехода в меню настроек. Значок Bluetooth на виджете показывает состояние соединения. Синий — подключено, серый — изменение состояния (подключение/отключение).
Вы можете увидеть подключенные профили Bluetooth на виджете и, если устройство поддерживает это, также уровень заряда батареи (требуется Android 8.1).
Приложение поддерживает считывание уровня заряда батареи с Apple Airpods. В приложении вы можете увидеть уровень заряда батареи каждого Airpod и чехла.
Вы легко можете менять размер виджета в настройках приложения или прямо на экране 1×1, 1×2 и др.
Приложение поддерживает профили A2DP и Headset, такие аудиоустройства, как портативные колонки, звуковые панели, гарнитуры и т. п . В приложении поддерживаемый профиль устройства обозначен небольшим значком в правом верхнем углу. Значок ноты для A2DP — воспроизведение высококачественного аудио (музыки) или значок телефона для вызовов. На поддерживаемых устройствах на виджете отображается значок батареи (необходим Android 8.1 и выше).
Вы также можете сохранить уровни громкости различных устройств Bluetooth. После соединения приложение восстанавливает сохранённый уровень.
Что-то не работает?
Посетите веб-сайт приложения , там вы найдете СПРАВКУ и часто задаваемые вопросы.
Приложению требуются некоторые разрешения для правильной работы. Они могут отличаться в зависимости от производителя вашего телефона. ПОЖАЛУЙСТА, ПОСЕТИТЕ ЭТО САЙТ: https://dontkillmyapp.com (https://dontkillmyapp.com).
Порядок работы:
1. Выполните сопряжение Вашего аудиоустройства (A2DP, гарнитуры) в системных настройках
2. Добавьте виджет для выбранного устройства
Представленные функции:
✔️ Лёгкое подключение/отключение
✔️ Информация о подключенных профилях
✔️ Состояние батареи (требуется Android 8.1)
✔️ Состояние батареи для Apple Airpods
✔️ Кастомизация — цвета, изображение, прозрачность, размер
✔️ Открытие приложения после подключения
✔️ Отключение адаптера Bluetooth после отключения устройства Bluetooth
✔️ Установка уровня громкости после подключения устройства Bluetoot
✔️ Уведомление при подключении устройства Bluetooth
✔️ Плитка быстрых настроек
✔️ Автоматическое возобновление воспроизведения — поддерживаются Spotify и YouTube Music
✔️ Двойное нажатие для установки активного устройства (только Android 10)
Если Вам нравится моё приложение, пожалуйста, уделите пару минут, чтобы написать отзыв или поставить оценку. Если нет, свяжитесь со мной. Уверен, мы найдём решение 🙂
Требуется Android: 5.1 и выше
Русский интерфейс: Да
Скачать:
Версия: 3.1.0 BluetoothDevicesWidget_3.1.0.apk ( 24.93 МБ )
Источник
Как на Android включить Bluetooth кодек LDAC, aptX, aptX HD
вкл. 28 Сентябрь 2019 . Опубликовано в Android — Общее
Вас не устраивает звук в ваших Bluetooth наушниках? Возможно все дело в том, что ваш Android использует «плохой» аудиокодек SBC вместо продвинутых LDAC, aptX, aptX HD, AAC? Как включить aptX на Android?
Как на Android включить Bluetooth кодек LDAC, aptX, aptX HD
Содержание — Как на Android включить Bluetooth кодек LDAC, aptX, aptX HD:
Все больше производителей отказывается от аудио разъема 3.5 мм в пользу передачи звука по Bluetooth, но вот не всегда такие новшества так полезны! Все дело в кодеках… и Android по умолчанию использует не самый лучший!
Немного о Bluetooth аудиокодеках
- SBC (Subband Coding) — этот кодек с потерями, на данный момент используется в большинстве случаях передачи звука по беспроводным наушникам. Самой главной проблемой SBC является то, что кодек очень сильно искажает звук, больше чем MP3, поэтому для прослушивания высококачественного аудио материала он явно не годиться.
- AAC (Advanced Audio Coding) — также аудиокодек с потерями, но качество звука гораздо выше чем SBC.
- aptX и aptX HD — аудиокодек разработанный компанией Qualcomm, поэтому его можно встретить практически только на устройствах, где установлен процессор Snapdragon. Кодек aptX и aptX HD в отличие от SBC и AAC, практически не имеет потерь, аудио компрессируется и передается по Bluetooth.
- LDAC — не так давно разработанный аудиокодек компанией Sony, который должен сместить с поста устоявшийся кодек SBC. Этот аудиокодек выполняет компрессию с небольшими потерями. C версии Android 8.0 Oreo, стал частью системы, так что возможно LDAC вскоре станет стандартном для передачи звука по беспроводным наушникам и колонкам.
Как узнать кодек bluetooth что используется?
На новых версиях Android необходимо зайти в BlueTooth, подключить наушники. После чего рядом появиться значок с кодеком.
Как включить необходимый Bluetooth аудиокодек на Android?
Для начала вам необходимо убедиться что ваши наушники или колонки поддерживают более продвинутый аудиокодек. Вам изрядно придется покопаться в интернете, чтобы понять, какой кодек они поддерживают.
Второе условие, версия Android на телефоне должна быть 8.0 или более новая.
Для того чтобы активировать один из перечисленных кодеков, вам понадобиться активировать « Меню Разработчика «. Как это сделать? Вы можете посмотреть, два видео ролика.
После того как вы оказались в меню разработчика, пролистайте меню вниз до пункта «Аудиокодек для передачи через Bluetooth» и выберите его.
Выберите необходимый кодек — LDAC, apt, aptX, AAC, SBC.
Вам удалось поменять кодек bluetooth! Звук по беспроводным наушникам должен улучшиться!
Источник
Модифицируем 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 кбит/с:
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 мбит/с.
Данный патч включён в следующие альтернативные прошивки:
- 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 устройств).
Источник