включить gabeldorsche что это такое

Что нового в Android 11 для пользователей и разработчиков

включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

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

Из-за этого версия особенно сырая, в неё могли попасть не все готовящиеся фичи (что-то привлекательное небось припасли для Google I/O), и часть вещей до релиза ещё могут откатить обратно. Но всё равно же интересно разобраться, что нового!

Как водится, сайты вроде 9to5Google и Android Police тут же потестировали превью-версию в хвост и в гриву, а в итоге выпустили кучу текстов: про каждое нововведение по отдельности. А мы продрались через эту кучу текстов и сделали для Хабра сводную подборку на русском — такую, чтобы была понятна и обычному пользователю Android, но с приписками конкретно для мобильных разработчиков.

Видеозапись экрана

Эта фича была ещё в бета-версиях Android 10, но тогда с ней были сложности и в релиз она не попала, а теперь в новой превью-версии снова появилась в доработанном виде. Так что в релиз Android 11, хочется верить, попадёт.

В принципе, её название всё объясняет. На Android есть сторонние приложения для видеозаписи всего происходящего на экране, но нативное решение не помешало бы.

Что с этого разработчикам: вероятно, в ситуации «пользователь жалуется на трудновоспроизводимый баг» станет проще запросить у пользователя видеозапись.

Bubbles

Эта фича была ещё в бета-версиях Android 10, но тогда… Да, тут история как с видеозаписью экрана: к релизу «десятки» довести фичу до ума не успели, и она переехала в следующую версию.

Это аналог фейсбучных Chat Heads: диалоги могут сворачиваться в «кружочки», остающиеся на экране поверх других приложений. Бабушка, зачем тебе бабблзы? Это чтобы было удобнее читать Хабр и при этом переписываться с тобой, внучка моя.

Но они не заработают магическим образом идеально во всех мессенджерах сразу: тут для разработчиков Android-приложений есть Bubbles API, и вопрос в том, насколько активно разработчики будут его использовать. Вероятно, Google старательно поддержит во всём своём бесконечном наборе гугломессенджеров, а про остальных пока вопрос.

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

Scoped storage

Эта фича была ещё… ну, вы поняли, да? В Android 10 эту вещь уже включили, но тогда сделали опциональной (разработчики приложений могли отказаться), а вот теперь она доработана и приходит окончательно.

Суть scoped storage в том, что приложениям даётся доступ только к своей папке, и шариться по другим файлам они не смогут. Конечно, приложениям вроде файловых менеджеров нужен полный доступ, и для таких сделают исключение «All Files Access». Но в целом ощущается сближение с iOS-подходом: ограничивать приложения в возможностях во имя безопасности пользователя.

Что с этого разработчикам: Если в targetSdkVersion вы собираетесь включать Android 11, то Google строго говорит «обновите своё приложение, чтобы работало со scoped storage», и даёт ссылку на более подробный текст.

One-time permission

И ещё об усилении приватности. Ранее, когда приложение запрашивало разрешение, были варианты «разрешить», «отказать» и «разрешить только при использовании приложения». Теперь для таких значимых разрешений, как доступ к камере, микрофону и геолокации, создан новый вариант: «разрешить только на один раз».

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

Но при этом стоит отметить вот что: на официальном скриншоте с новым вариантом отсутствует прежняя опция «разрешить», которая просто давала бы доступ навсегда, в том числе в фоне.

включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

Насколько понимаем, это потому что одновременно Google ещё и меняет правила: теперь доступ к геолокации в фоне смогут запрашивать только те, кто обосновал Гуглу, почему это им правда нужно. Ну, как раньше с доступом к звонкам сделали.

Что с этого разработчикам: тут вам виднее, запрашиваете ли вы разрешение и сказываются ли на вас перемены. Есть ещё всякие нюансы вроде «если в приложении есть WebView, у него доступ может отличаться», поэтому изучите официальный текст.

Индикатор частоты обновления экрана

Тут совсем мелкая штука, но за ней ощущается целая история.

Экраны с высокой частотой обновления сейчас в тренде: например, у OnePlus 7T экран на 90 Гц, у Samsung S20 и вовсе на 120 Гц. Это даёт невиданную плавность при скроллинге — казалось бы, прекрасно. Но есть проблема: частое обновление экрана активнее расходует энергию.

Возникла идея «пусть экран не всегда работает на полную катушку, ведь если играет видео с 24 FPS, бессмысленно обновлять его чаще». Звучит здраво. Но в итоге, например, покупатели Pixel 4 заметили, что они купили телефон с 90 Гц, а он переключается на 60 Гц когда ему вздумается (в том числе когда этого не хотелось бы). И было сложно понять, когда экран вообще делает то, за что ты заплатил. А теперь в нативных настройках разработчика можно включить индикатор.

включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

Что с этого разработчикам: если вы не могли понять «это Гугл режет частоту обновления экрана или это моё приложение тормозит», будет чуть проще.

API для работы с 5G

С 5G-покрытием всё по-прежнему печально даже в США, не говоря уже о мире в целом. И рыночная доля 5G-смартфонов тоже скромная. Но, наверное, где-то в 5G-зоне есть обладатели 5G-смартфонов, и Google о них заботится. Порадуемся за этих троих человек.

В общем, новые API «bandwith estimator» и «dynamic meteredness» призваны помочь мобильным приложениям лучше понимать, какая у пользователя пропускная способность и лимитирован ли его трафик, чтобы отправлять ему данные в оптимальном качестве.

Что с этого разработчикам: на данный момент и в российских реалиях — почти ничего, но если ваша прокрастинация шепчет «давай вместо пяти горящих задач займёмся чем-то совершенно необязательным», то обратите внимание.

Мелочи жизни

То, что нет смысла расписывать подробно:

В комментариях интересно было бы услышать мнения и мобильных разработчиков, и обычных пользователей: что из этого скажется на вашей жизни, что радует и что печалит.

А если вас этот пост заинтересовал как мобильного разработчика, то напоследок обратим ваше внимание: 23-24 июня в Петербурге мы проведём конференцию Mobius, и там будет много актуального для вас.

Источник

Что задумала Google?

Александр Носков

Публикация исходного кода Android 11 выявила скрытые функции, а готовящееся к выходу обновленное приложение Google Play заставляет задуматься. Каким будет массовый смартфон на Android 11?

включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

Не секрет, что разработчики компании Google не особо стараются выпустить на рынок идеально вычищенные от программного мусора приложения. Да и сам процесс разработки устроен так, что релизные версии фирменных приложений содержат цепочки кода новых функций, пока еще только запланированных к выпуску, но не активных. Благодаря началу обновлений смартфонов Pixel на Android 11 всплыла интересная информация не только о технических требованиях к сторонним производителям смартфонов, но и об очень масштабных изменениях в приложении Google Play. С последнего и начнем.

Возможное обновление Google Play

Стоит сразу указать, что все данные для этого раздела собраны специалистами и разработчиками XDA Developers (радует опытных пользователей с 2003 года), которые умеют разобрать APK-файл и выследить запланированные функции, читая код. Для обычного человека проверить или опровергнуть такую информацию не представляется возможным, но этот источник более чем авторитетный. Также в ходе процесса разработки некоторые функции могут быть не реализованы в ближайших обновлениях либо же полностью вырезаны. Однако тенденция Google к управлению «всем и вся» не меняется, и новые функции магазина приложений только подтверждают это. Но обо всем по порядку.

В апреле 2020 года компания Google ввела изменения и начала тест раздела Google Play «Мои приложения и игры». В ранних версиях в этом разделе были три вкладки – «Обновления», «Установленные» и «Библиотеки», после редизайна остались только две – «Обновления» и «Бета».

включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

Так новое приложение Google Play выглядело бы в русифицированной прошивке

включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

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

Помимо прочего, в тестовом приложении Google Play была выявлена и активирована функция «Send» (послать), которая позволяет автоматически устанавливать приложения на другие Android-устройства пользователя. Похоже, что будет реализована функция «поделиться» приложением с кругом лиц из списка контактов. На скриншоте выше вы видите, что приложения можно выделять галочками для выполнения массовых операций. Выбранные приложения можно «Обновить», «Удалить» и «Поделиться». Увы, такая нелогичность расположения и повторяемость функций в разных частях интерфейса говорят о том, что перед нами очень-очень сырой продукт, который наверняка еще будет переработан.

включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

Тем не менее, возможность отправить ссылку на приложение своим близким и друзьям прямо через Google Play — это хорошая идея. Особенно когда речь заходит о помощи пожилым людям, живущим далеко от опытного пользователя.

Всплывшие обстоятельства возможных новых функций после очередного обновления Google Play недвусмысленно указывают на то, что это приложение стремится полностью заменить штатный пункт настроек «Приложения» в Android. Хорошо это или плохо? Пока нет ответа, посмотрим, что будет дальше, но очевидно, что релиз этого билда произойдет с массовым выходом на рынок смартфонов под управлением Android 11.

Публикация и последующее «ковыряние» исходного кода Android 11

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

Голосовые помощники

Для голосовых помощников, таких как Алиса и Google Assistant, выделен отдельный поток «AUDIO_STREAM_ASSISTANT». На практике это означает, что настройку громкости голосового помощника можно вывести в отдельный пункт меню и она не будет привязана к другим настройкам громкости интерфейса Android. Удобно, ждем реализации в прошивках OEM-производителей Android 11.

Плагины часов в Android 11

После выхода Android 10 для смартфонов Pixel исследователями был замечен скрытый код по настройке отображения часов на заблокированном экране смартфона в приложении Pixel Themes. Невидимый глазу раздел настроек так и назывался – «Часы». В финальной версии Android 10 эта возможность так и не была реализована. В Android 11 в настройках Pixel Themes (он же «Стили и обои») выбор плагина по-прежнему недоступен, но продолжает висеть в прошивке мертвым грузом. Возможно, в Google забыли об этом либо делают что-то новое.

Размытие фона при открытии быстрых уведомлений

После публикации предварительной сборки Android 11 (Developer Preview 3) разработчикам XDA удалось обнаружить и перевести в состояние «on» скрытый переключатель, который отвечает за размытие фона при вытягивании уведомлений. Однако в тот раз за переключателем не стояло ничего, это была заготовка под будущий «апгрейд» интерфейса. После публикации исходного кода Android 11 разработчику XDA под ником luca020400 удалось заставить работать эту скрытую функцию, которую мы, возможно, увидим в следующих релизах. Выглядит это так:

Декоративная функция, надеюсь, она будет работать без огрехов на всех устройствах, а не только на флагманах.

Поддержка Deep Press для открытия уведомлений

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

Габельдорше!

Запомните это слово друзья, за ним скрывается новый, полностью переписанный стек Bluetooth от компании Google. Сам по себе факт того, что стеку дают персональное название, может говорить о том, что в будущем мы станем покупать смартфоны с Габельдорше на борту. От необычного названия за километр разит маркетингом. О практической пользе «Gabeldorsche Architecture» ничего не известно, код находится в зачаточном состоянии, а значит, и появится никак не раньше времен Android 12.

Улучшенная связь (enhanced connectivity)

В раннюю сборку Android 11 (Developer Preview 2) в меню разработчика был добавлен загадочный пункт под названием «Enhanced connectivity». После публикации исходного кода Android 11 выяснилось, что это настройка параметра, который отключает подключение 5G при снижении скорости ниже указанной (разработчиком или пользователем). Надеюсь, эта настройка пройдет свой путь до официального релиза и перейдет в штатное подменю «Предпочтительный тип сети».

Multi Audio focus

В Android пользователь не может настраивать громкость для отдельных приложений, в нем не существует инструмента, подобного микшеру Windows. Работающее на переднем плане стороннее приложение само решает, отключать или приглушать звук других запущенных приложений. Из-за этого пользователи сталкиваются с проблемами при воспроизведении музыки или фильмов в фоне во время игры или веб-серфинга на смартфоне. Исследователи XDA нашли исходники нового регулятора звука, который может решить эту проблему.

Новый дизайн Oom Adjuster

В Android 11 обновили системный инструмент Oom Adjuster (Oom-настройщик). За аббревиатурой «Oom» скрывается сочетание слов «out-of-memory», или, другими словами, что должен делать настройщик, если физическая память смартфона близка к переполнению. На linux-подобных системах (включая Android) системой чаще всего «убивается» последнее запущенное приложение, которое привело к нехватке памяти, после чего пользователь должен позакрывать все лишнее и приступить к выполнению задачи заново. В Android 11 поведение «appkiller-а» было изменено, Oom Adjuster разработан так, чтобы избежать прерывания процесса, если «это приведет к прерыванию обслуживания, заметному для пользователя».

Нормальное отображение 10-битных обоев

Изображения с глубиной цвета 10 бит (WCG) теперь можно устанавливать в качестве обоев в Android 11. Раньше применение таких обоев всегда приводило к их преобразованию в sRGB, профита для пользователя не было, переплата за дорогой 10-битный экран в смартфоне была не до конца обоснована.

Новое API для клавиши регулировки громкости

Похоже, что Google работает над новым API, которое отслеживает однократное, двойное или тройное нажатие на клавишу регулировки громкости. Соответствующие документы (1 и 2) не вошли в официальное описание Android 11, поэтому пока рано говорить что-либо. Тем более что в «стоковом» Android (начиная с версии Oreo) уже существует подобное API, реагирующее на длительное нажатие. Возможно, это заготовка для реализации перематывания треков, навигации по меню, подачи сигнала SOS и других задач для фирменных приложений Google.

Это лишь неполный список того, что удалось найти специалистам в коде Android 11, но уже сейчас заметна тенденция, которая направлена на оптимизацию работы смартфона (как набора функций) и ускорение работы ОС путем переписывания старых и добавления новых API. Ничего революционного, но и не застой.

Определение совместимости с Android 11

С документом под названием Android Compatibility Definition Document (CDD), который содержит требования к OEM-производителям, вы можете ознакомиться сами, перейдя по этой ссылке, помните, что эти требования исходят непосредственно от самой компании Google. В случае их невыполнения компания Google откажется от поддержки и установки своих приложений на устройство (смартфон, планшет и т.д.). Де-юре это означает, что негодный смартфон будет считаться контрафактным, если на нем будут установлены сервисы Google, а де-факто – что он полный «отстой» (не будут нормально работать сторонние приложения, которые тоже ориентируются на подобные правила). В длинном списке рекомендаций и требований к устройству обращать внимание следует только на слово «должен» – оно говорит о необходимости соответствия. Тем не менее, практические данные (с указанием количества ОЗУ, объема хранилища и т.д.) до сих пор не опубликованы, но благодаря просочившейся информации об Android Go 11 можно сделать некоторые выводы. Исходя из этого были выбраны характеристики смартфона (карманное устройство Android), минимально совместимого с полноценной (не Go) OS Android 11. Вот они:

Минимальные технические характеристики смартфона для совместимости с Android 11
Дисплейот 3.3 до 8 дюймов, разрешение от 426×320 пикселей и выше
ПроизводительностьНеобходимая для плавной отрисовки пользовательского интерфейса Android
Память3 ГБ ОЗУ или больше (2 ГБ и меньше для Go), основное хранилище не менее 16 ГБ
АккумуляторКарманное устройство Android должно быть оснащено мобильным источником питания, например, аккумулятором
USBЕсли реализовано подключение USB-OTG (периферийное подключение через хост), то смартфон ДОЛЖЕН обнаруживать зарядные устройства с силой тока от 1.5 до 3.0 А. Даже если он реализован в корпусе Micro-USB Type-A, группа резисторов должна соответствовать Type-C

Несмотря на требование ОЗУ не менее 3 ГБ для «не Go» устройств, в документации четко указывается, что устройства предыдущих поколений могут обновляться на полноценный Android 11, если того пожелает их производитель. Появятся ли такие производители, или они используют этот аргумент как отговорку от обновления? Как считаете? Кроме этого, беспокоит многолетняя поддержка сверхнизкого разрешения экрана для устройств Android. Неужели его поддерживают ради дешевых часов с функцией совершения звонков?

Заключение

Мы с вами заглянули в самое нутро Android 11 и анатомировали предрелизный файл приложения Google Play. Основным разработчиком этих объектов ПО является компания Google, которая не перестает удивлять. Скромные (кроме ОЗУ) требования к производителям смартфонов органично совмещаются с предполагаемым заговором против стандартных настроек Android в лице расширения функционала приложения Google Play, как наверняка посчитают любители AOSP (Android без Google). В среде таких конспирологов, к которым и я частично отношусь, любые поползновения компании Google, направленные на расширение административно-командного функционала ее приложений, вызывают острое неприятие. Да, антимонопольная комиссия ЕС требует выпускать смартфоны с удаляемым софтом от Google, а на Востоке монополиста поджимает Китай, но это не мешает компании подготавливать ответные меры, скрытые от посторонних глаз до поры до времени. Хотя, может, все еще обойдется? 🙂

Источник

Android 11’s new ‘Gabeldorsche’ Bluetooth stack was given its name for a great reason

— Feb. 19th 2020 5:41 pm PT

включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

For those of us on the Android 11 Developer Preview, if you open the Developer Options page, you’ll find a new option amidst various Bluetooth settings offering to “Enable Gabeldorsche.” Of course, that leaves a burning question of “What’s Gabeldorche?”

Despite how commonly we use it, Bluetooth can still be an inconsistent technology, with some operating systems and devices handling it better than others. The software responsible for handling the many moving parts of a Bluetooth connection is typically called a Bluetooth “stack.”

For years, Android has relied on the “Fluoride” stack for its Bluetooth needs, but with Android 11, it looks like Google is beginning to test a brand new stack called Gabeldorsche or “gd” for short. Gabeldorsche has been in development for at least a year now, though this is the first time Google has brought attention to the new stack. That being the case, it’s too early to say what advantages or disadvantages Gabeldorsche has over Fluoride just yet.

However, what we’re all surely wanting to know is where on earth did Google get this name? First of all, Gabeldorsche is the German word for the Phycidae family of fish. More importantly, though, another translation of Gabeldorsche is “forkbeards.” Next, we need a bit of a history lesson.

In the year 958, Harald “Bluetooth” Gormsson succeeded his father as King of Denmark, and also for a brief period King of Norway, who was said to have united the tribes of Denmark. As you can guess, King Harald is the namesake for the Bluetooth technology we know today. Twenty-eight years later, in 986, King Harald was succeeded by his son Sweyn Forkbeard.

Yep, all of that rigmarole just to say that Google is using the name “Gabeldorsche” to indirectly signify that it is the successor to Android’s Bluetooth stack.

If you’re wondering why the name translates to “forkbeards” instead of the singular “forkbeard,” an Android code comment shows that this was actually a mistake, and the difference between singular and plural was lost in translation. Maybe they used Google Translate.

This post has been updated to reflect that Gabeldorsche to forkbeards is not quite a literal translation.

More on Android 11:

FTC: We use income earning auto affiliate links. More.

Источник

Модифицируем 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.

включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

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

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

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

включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

Спецификация 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-устройства. Вот как это выглядит:

включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

При активации галочки, Bluetooth-аудио начинает передаваться с битрейтом 551 кбит/с, если наушники поддерживают соединение на скорости 3 мбит/с, или 452 кбит/с, если наушники поддерживают только 2 мбит/с.

Откуда взялись 551 и 452 кбит/с?

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

включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

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

включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

SBC в режиме Dual Channel, на 44100 Гц-аудио с параметрами Bitpool 38, 16 блоков во фрейме, 8 частотных диапазонов, кодирует аудио во фреймы размером 164 байт, с битрейтом 452 кбит\с.
Аудио должно быть инкапсулировано в протоколы передачи L2CAP и AVDTP, которые забирают 16 байт от полезной аудионагрузки.

включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

Таким образом, в одну 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 иногда выигрывает.

Рассмотрим частный случай. Спектрограмма записи игры на фортепиано:
включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

Основная энергия лежит в частотах от 0 до 4 кГц, и продолжается до 10 кГц.
Спектрограмма файла, сжатого в aptX, выглядит следующим образом:
включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

А так выглядит SBC 328k.
включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

Видно, что SBC 328k периодически полностью отключал диапазон выше 16 кГц, и расходовал весь доступный битрейт на диапазоны ниже этого значения. Однако, aptX внес больше искажений в слышимый человеческим ухом спектр частот, что можно видеть на вычтенной оригинальной спектрограмме из спектрограммы aptX (чем ярче, тем больше искажений):
включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

В то время как SBC 328k меньше испортил сигнал в диапазоне от 0 до 10 кГц, а остальное — обрезал:
включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

Битрейта 485k SBC хватило, чтобы сохранить весь диапазон частот, без отключения полос.
включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

SBC 485k на этой композиции значительно опережает aptX в диапазоне 0-15 кГц, и с меньшей, но все же заметной разницей — в 15-22 кГц (чем темнее, тем меньше искажений):
включить gabeldorsche что это такое. Смотреть фото включить gabeldorsche что это такое. Смотреть картинку включить gabeldorsche что это такое. Картинка про включить gabeldorsche что это такое. Фото включить gabeldorsche что это такое

Переключившись на высокобитрейтный 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 устройств).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *