Аўдыё праз Bluetooth: максімальна падрабязна аб профілях, кодэках і прыладах

Аўдыё праз Bluetooth: максімальна падрабязна аб профілях, кодэках і прыладах

З-за масавага выпуску смартфонаў без аўдыёраздыма 3.5 мм бесправадныя Bluetooth-навушнікі для многіх сталі асноўным спосабам праслухоўвання музыкі і зносін у рэжыме гарнітуры.
Вытворцы бесправадных прылад не заўсёды пішуць падрабязныя характарыстыкі тавара, а артыкулы пра Bluetooth-аўдыё ў інтэрнэце супярэчлівыя, месцамі некарэктныя, не расказваюць пра ўсе асаблівасці, і часта капіююць адну і тую ж не адпаведную рэчаіснасці інфармацыю.
Паспрабуем разабрацца з пратаколам, магчымасцямі Bluetooth-стэкаў АС, навушнікаў і калонак, Bluetooth-кодэкаў для музыкі і гаворкі, высветлім, што ўплывае на якасць перадаванага гуку і затрымку, навучымся збіраць і дэкадаваць інфармацыю аб падтрымліваемых кодэках і іншых магчымасцях прылад.

TL, д-р:

  • SBC - нармальны кодэк
  • У навушнікаў ёсць свой эквалайзер і пост-працэсінг на кожны кодэк асобна
  • aptX не настолькі добры, як пра яго гавораць рэкламныя навіны
  • LDAC - маркетынгавае фуфло
  • Якасць гуку ў рэжыме размовы ўсё яшчэ нізкая
  • У браўзэр можна ўбудаваць аўдыёэнкадзёры на C, скампіляваўшы ў WebAssembly праз emscripten, і яны не будуць асоба тармазіць.

Музыка праз Bluetooth

Функцыянальны складнік Bluetooth задаецца профілямі - спецыфікацыямі канкрэтных функцый. Перадача музыкі ў Bluetooth ажыццяўляецца з выкарыстаннем профіля перадачы высакаякаснага аднанакіраванага аўдыё A2DP. Стандарт A2DP быў прыняты ў 2003 годзе, і з тых часоў кардынальна не мяняўся.
У рамках профіля стандартызаваны 1 абавязковы кодэк нізкай вылічальнай складанасці SBC, створаны адмыслова для Bluetooth, і 3 дадатковых. Таксама дапускаецца выкарыстанне недакументаваных кодэкаў уласнай рэалізацыі.

Па стане на чэрвень 2019 года мы знаходзімся у коміксе xkcd з 14 A2DP-кодэкамі:

  • SBC ← стандартызаваны ў A2DP, падтрымліваецца ўсімі прыладамі
  • MPEG-1/2 Layer 1/2/3 ← стандартызаваны ў A2DP: усім вядомы MP3, які выкарыстоўваецца ў лічбавым ТБ MP2, і невядомы MP1
  • MPEG-2/4 AAC ← стандартызаваны ў A2DP
  • АТРАК ← стары кодэк ад Sony, стандартызаваны ў A2DP
  • LDAC ← новы кодэк ад Sony
  • APTX ← кодэк з 1988 года
  • aptX-HD ← тое ж самае, што aptX, толькі з іншымі параметрамі кадавання
  • aptX Нізкая затрымка ← зусім іншы кодэк, няма софтавай рэалізацыі
  • aptX Адаптыўны ← яшчэ адзін кодэк ад Qualcomm
  • FastStream ← псеўдакодэк, двунакіраваная мадыфікацыя SBC
  • HWA LHDC ← новы кодэк ад Huawei
  • Samsung HD ← падтрымліваецца 2 прыладамі
  • Samsung Scalable ← падтрымліваецца 2 прыладамі
  • Samsung UHQ-BT ← падтрымліваецца 3 прыладамі

Навошта наогул патрэбныя кодэкі, спытаеце вы, калі ў Bluetooth ёсць EDR, што дазваляе перадаваць дадзеныя на хуткасці 2 і 3 мбіт/з, а для несціснутага двухканальнага 16-бітнага PCM досыць 1.4 мбіт/з?

Перадача даных праз Bluetooth

У Bluetooth існуе два тыпу перадачы дадзеных: Asynchronous Connection Less (ACL) для асінхроннай перадачы без усталёўкі злучэння, і Synchronous Connection Oriented (SCO), для сінхроннай перадачы з папярэднім узгадненнем злучэння.
Перадача ажыццяўляецца з выкарыстаннем схемы падзелу часу і выбару канала перадачы на ​​кожны пакет асобна (Frequency-Hop/Time-Division-Duplex, FH/TDD), для чаго час дзеліцца на 625-мікрасекундныя інтэрвалы, званыя слотамі (slot). Адно з прылад вядзе перадачу ў цотных нумарах слотаў, іншае - у няцотных. Перадаваны пакет можа займаць 1, 3 ці 5 слотаў, у залежнасці ад памеру дадзеных і ўсталяванага тыпу перадачы, у гэтым выпадку перадача адной прыладай вядзецца ў цотных і няцотных слотах да канца перадачы. Усяго ў секунду можна прыняць і адправіць да 1600 пакетаў, калі кожны з іх займае 1 слот, і абодва прылады без прыпынку нешта перадаюць і прымаюць.

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

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

Схематычнае прадстаўленне перадачы з выкарыстаннем 5 слотаў адной прыладай і 1 слота іншым (DH5/DH1):
Аўдыё праз Bluetooth: максімальна падрабязна аб профілях, кодэках і прыладах

З-за прынцыпу падзелу эфіру па часе мы змушаныя чакаць 625-мікрасекундны тайм-слот пасля перадачы пакета, калі другая прылада нам нічога не будзе перадаваць або перадае маленькі пакет, і большую колькасць часу, калі другая прылада вядзе перадачу вялікімі пакетамі. Калі да тэлефона падключана больш за адну прыладу (напрыклад, навушнікі, гадзіннік і фітнес-бранзалет), то час перадачы падзяляецца паміж імі ўсімі.

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

Тып пакета
Коль-ць слотаў
Макс. кольк-ць байт у пакеце
Макс. кольк-ць байт карыснай нагрузкі A2DP
Макс. бітрэйт карыснай нагрузкі A2DP

2-DH3
3
367
351
936 кбіт/с

3-DH3
3
552
536
1429 кбіт/с

2-DH5
5
679
663
1414 кбіт/с

3-DH5
5
1021
1005
2143 кбіт/с

1414 і 1429 кбіт/з сапраўды нядосыць для перадачы несціснутага гуку ў рэальных умовах, з зашумленым дыяпазонам 2.4 Ггц і неабходнасцю перадачы службовых дадзеных. EDR 3 мбіт/з патрабавальны да магутнасці перадачы і шумам у эфіры, таму, нават у рэжыме 3-DH5, камфортная перадача PCM немагчымая, увесь час будуць кароткачасовыя перапыненні, і ўсё будзе працаваць толькі на адлегласці ў пару метраў.
На практыцы, нават 990 кбіт/з-аўдыёструмень (LDAC 990 kbit/s) перадаецца з працай.

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

SBC

Кодэк, абавязковы для ўсіх прылад, якія падтрымліваюць стандарт A2DP. Лепшы і горшы кодэк адначасова.

Частата дыскрэтызацыі
Разраднасць
Бітрэйт
Падтрымка кадавання
Падтрымка дэкадавання

16, 32, 44.1, 48 кгц
16 біт
10-1500 кбіт/с
Усімі прыладамі
Усімі прыладамі

SBC - просты і вылічальна хуткі кодэк, з прымітыўнай псіхаакустычнай мадэллю (прымяняецца толькі маскіроўка ціхіх гукаў), які выкарыстоўвае адаптыўную імпульсна-кодавую мадуляцыю (APCM).
Спецыфікацыя A2DP рэкамендуе да выкарыстання два профіля: Middle Quality і High Quality.
Аўдыё праз Bluetooth: максімальна падрабязна аб профілях, кодэках і прыладах

У кодэка шмат налад, якія дазваляюць кіраваць алгарытмічнай затрымкай, колькасцю сэмплаў у блоку, алгарытмам размеркавання бітаў, але амаль паўсюдна выкарыстоўваюцца адны і тыя ж рэкамендаваныя ў спецыфікацыі параметры: Joint Stereo, 8 частотных палос, 16 блокаў у аўдыёфрэйме, спосаб размеркавання біт Loudness.
SBC падтрымлівае дынамічнае змяненне параметра Bitpool, які наўпрост уплывае на бітрэйт. Калі радыёэфір забіты, пакеты губляюцца, ці прылады знаходзяцца на вялікай адлегласці, крыніца аўдыё можа памяншаць Bitpool, пакуль сувязь не нармалізуецца.

Вытворцы большасці слухавак усталёўваюць максімальнае значэнне параметру Bitpool у 53, што абмяжоўвае бітрэйт 328 кілабітамі ў секунду пры выкарыстанні рэкамендаванага профіля.
Нават калі вытворца навушнікаў усталяваў максімальнае значэнне Bitpool вышэй за 53 (такія мадэлі сустракаюцца, напрыклад: Beats Solo³, JBL Everest Elite 750NC, Apple AirPods, таксама бывае на некаторых рэсіверах і аўтамабільных галаўных прыладах), то большасць АС не дазволяць выкарыстоўваць падвышаныя бітрэйты з-за усталяванага ўнутранага абмежавання значэння ў Bluetooth-стэках.
Акрамя таго, некаторыя вытворцы задаюць нізкае максімальнае значэнне Bitpool для некаторых прылад. Напрыклад, у Bluedio T яно роўна 39, у Samsung Gear IconX – 37, што дае дрэнную якасць гуку.

Штучныя абмежаванні з боку распрацоўнікаў Bluetooth-стэкаў, верагодней за ўсё, паўсталі з прычыны несумяшчальнасці некаторых прылад з вялікімі значэннямі Bitpool ці нетыповымі профілямі, нават калі яны паведамлялі аб іх падтрымцы, і недастатковай колькасці тэстаў пры сертыфікацыі. Аўтарам Bluetooth-стэкаў прасцей было абмежавацца ўзгадненнем рэкамендаванага профіля, а не ствараць базы некарэктных прылад (хоць цяпер яны гэта робяць для іншых некарэктна якія працуюць функцый).

SBC дынамічна вылучае біты квантавання для частотных палос, дзейнічаючы па прынцыпе ад ніжніх да верхніх, з рознымі вагавымі каэфіцыентамі. Калі ўвесь бітрэйт выкарыстоўваўся на ніжнія і сярэднія частоты, верхнія частоты абрэжуцца (замест іх будзе цішыня).

Прыклад SBC 328 кбіт/з. Уверсе - арыгінал, унізе - SBC, перыядычна адбываецца пераключэнне паміж дарожкамі. Для аўдыё ў відэафайле выкарыстоўваецца кодэк сціску без страт FLAC. Выкарыстанне FLAC у кантэйнеры mp4 афіцыйна не стандартызавана, таму не факт, што ваш браўзэр прайграе яго, але павінна працаваць у апошніх версіях дэсктопных Chrome і Firefox. Калі ў вас няма гуку, можаце спампаваць файл і адкрыць у паўнавартасным відэаплэеры.
ZZ Top - Sharp Dressed Man

На спектраграме бачны момант пераключэння: SBC перыядычна рэжа ціхія гукі вышэй 17.5/20 кгц, і зусім не вылучае бітаў для паласы вышэй 1.7 кгц. Поўная спектраграмы даступная па кліку (XNUMX МБ).
Аўдыё праз Bluetooth: максімальна падрабязна аб профілях, кодэках і прыладах

Я не чую розніцы паміж арыгіналам і SBC на гэтым трэку.

Возьмем што-небудзь навей, і змадэлюем аўдыё, якое б атрымалася пры выкарыстанні навушнікаў Samsung Gear IconX з Bitpool 37 (уверсе – зыходны сігнал, унізе – SBC 239 кбіт / с, гук ва FLAC).
Mindless Self Indulgence - Witness

Я чую трэск, меншы стэрэаэфект і непрыемнае «цоканне» вакалу ў высокіх частотах.

Хоць SBC і вельмі гнуткі кодэк, можа быць наладжаны пад нізкія затрымкі, дае выдатную якасць аўдыё на высокіх бітрэйтах (452+ кбіт/з) і суцэль добрае для большасці людзей на стандартным High Quality (328 кбіт/з), з-за таго, што стандарт A2DP не задае фіксаваных профіляў (а дае толькі рэкамендацыі), распрацоўнікі стэкаў усталявалі штучныя абмежаванні на Bitpool, параметры перадаванага аўдыё не адлюстроўваюцца ў карыстацкім інтэрфейсе, а вытворцы слухавак вольныя выстаўляць свае налады і ніколі не паказваюць значэнне Bitpool у тэхнічных уславіўся нізкай якасцю гуку, хоць гэта і не праблема кодэка як такога.
Параметр Bitpool прама ўплывае на бітрэйт толькі ў рамках аднаго профіля. Адно і тое ж значэнне Bitpool 53 можа даваць як бітрэйт 328 кбіт/з пры рэкамендаваным профілі High Quality, так і 1212 кбіт/з з Dual Channel і 4 частотнымі палосамі, з-за чаго аўтары АС, апроч абмежаванняў на Bitpool, усталёўваюць абмежаванне яшчэ. і на Bitrate. Як мне бачыцца, такая сітуацыя ўзнікла з-за недапрацоўкі стандарту A2DP: трэба было ўзгадняць бітрэйт, а не Bitpool.

Табліца падтрымкі магчымасцяў SBC у розных АС:

АС
Падтрымліваюцца частоты дыскрэтызацыі
Абмежаванне макс. Bitpool
Абмежаванне макс. Bitrate
Тыповы Bitrate
Дынамічная падладка Bitpool

Windows 10
44.1 кГц
53
512 кбіт/с
328 кбіт/с
✓*

Linux (BlueZ + PulseAudio)
16, 32, 44.1, 48 кгц
64 (пры ўваходным падключэнні), 53 (пры выходным)
няма абмежавання
328 кбіт/с
✓*

Macos High Sierra
44.1 кГц
64, па змаўчанні 53***
невядома
328 кбіт/с

Android 4.4-9
44.1/48 кгц**
53
328 кбіт/с
328 кбіт/с

Android 4.1-4.3.1
44.1, 48 кгц**
53
229 кбіт/с
229 кбіт/с

Blackberry OS 10
48 кГц
53
няма абмежавання
328 кбіт/с

* Bitpool толькі памяншаецца, але не павялічваецца аўтаматычна, у выпадку паляпшэння ўмоў перадачы. Для аднаўлення Bitpool трэба спыніць прайграванне, пачакаць пару секунд і зноўку запусціць аўдыё.
** Значэнне па змаўчанні залежыць ад налад стэка, указаных пры кампіляцыі прашыўкі. У Android 8/8.1 частата толькі альбо 44.1 кгц, альбо 48 кгц, у залежнасці ад налад пры кампіляцыі, у астатніх версіях падтрымліваюцца 44.1 кгц і 48 кгц адначасова.
*** Значэнне Bitpool можна падняць у праграме Bluetooth Explorer.

aptX і aptX HD

aptX - просты і вылічальна хуткі кодэк, без псіхаакустыкі, які выкарыстоўвае адаптыўную дыферэнцыяльную імпульсна-кодавую мадуляцыю (АДПЦМ). З'явіўся прыкладна ў 1988 годзе (дата падачы патэнта датаваная лютым 1988 г.), да Bluetooth выкарыстоўваўся пераважна ў прафесійнай бесправадной аўдыёапаратуры. На дадзены момант належыць кампаніі Qualcomm, патрабуе ліцэнзавання і ліцэнзійных адлічэнняў. Па стане на 2014 год: $6000 адначасова і ≈$1 за кожную прыладу, для партый да 10000 прылад (крыніца, Стар. 16).
aptX і aptX HD - адзін і той жа кодэк, з рознымі профілямі кадавання.

У кодэка ёсць толькі адзін параметр - выбар частаты дыскрэтызацыі. Яшчэ ёсць, праўда, выбар колькасці/рэжыму каналаў, але ва ўсіх вядомых мне прыладах (70+ штук) падтрымліваецца выключна Stereo.

Кодэк
Частата дыскрэтызацыі
Разраднасць
Бітрэйт
Падтрымка кадавання
Падтрымка дэкадавання

APTX
16, 32, 44.1, 48 кгц
16 біт
128 / 256 / 352 / 384 кбіт/з (у залежнасці ад частаты дыскрэтызацыі)
Windows 10 (дэсктопная і мабільная), macOS, Android 4.4+/7*, Blackberry OS 10
Шырокім лікам аўдыёпрылад (апаратна)

* Версіі да 7 патрабуюць мадыфікацыі Bluetooth-стэка. Кодэк падтрымліваецца, толькі калі вытворца Android-прылады ліцэнзаваў выкарыстанне кодэка ў Qualcomm (калі ў АС ёсць бібліятэкі кадавання).

aptX падзяляе аўдыё на 4 частотных палосы і квантуе іх адным і тым жа колькасцю біт увесь час: 8 біт для 0-5.5 кгц, 4 біта для 5.5-11 кгц, 2 біта для 11-16.5 кгц, 2 біта для 16.5-22 кг лічбы для частаты дыскрэтызацыі 44.1 кгц).

Прыклад aptX-аўдыё (уверсе – зыходны сігнал, унізе – aptX, спектраграмы толькі левых каналаў, гук ва FLAC):

Верхнія частоты сталі крыху чырваней, але розніцы не чуваць.

З-за фіксаванага размеркавання бітаў квантавання, кодэк не можа "перанесці біты" на тыя частоты, якія больш за ўсё ў іх маюць патрэбу. У адрозненне ад SBC, aptX не будзе "абрэзаць" частоты, а будзе дадаваць у іх шумы квантавання, памяншаючы дынамічны дыяпазон аўдыё.

Не варта лічыць, што выкарыстанне, напрыклад, 2 біт для паласы памяншае дынамічны дыяпазон да 12 дб: ADPCM дазваляе выкарыстоўваць да 96 дб дынамічнага дыяпазону нават пры выкарыстанні 2 біт квантавання, але толькі пры вызначаным сігнале.
ADPCM захоўвае розніцу лікавага ўяўлення паміж бягучым і наступным адлікам, замест запісу абсалютнага значэння, як у PCM. Гэта дазваляе паменшыць патрабаванні да колькасці біт, неабходных для захоўвання такой жа (без страт) або практычна такой жа (з адносна невялікай памылкай акруглення) інфармацыі. Для памяншэння памылак акруглення прымяняюцца табліцы каэфіцыентаў.
Пры стварэнні кодэка, аўтары разлічвалі каэфіцыенты ADPCM на наборы музычных аўдыёфайлаў. Чым бліжэй аўдыёсігнал да таго набору музыкі, на якіх будаваліся табліцы, тым менш памылак квантавання (шумаў) стварае aptX.

Праз гэта сінтэтычныя тэсты заўсёды будуць даваць вынік горш, чым музыка. Я зрабіў спецыяльны сінтэтычны прыклад, на якім aptX паказвае дрэнныя вынікі – сінусоіда частатой 12.4 кгц (уверсе – зыходны сігнал, унізе – aptX. Гук ва FLAC. Паменшыце гучнасць!):

Графік спектра:
Аўдыё праз Bluetooth: максімальна падрабязна аб профілях, кодэках і прыладах

Выразна чутныя шумы.

Аднак, калі згенераваць сінусоіду з меншай амплітудай, каб яна была цішэй, шумы таксама стануць цішэй, што кажа аб шырокім дынамічным дыяпазоне:

Аўдыё праз Bluetooth: максімальна падрабязна аб профілях, кодэках і прыладах

Каб пачуць розніцу паміж арыгінальным музычным трэкам і сціснутым, можна інвертаваць адзін з сігналаў і скласці трэкі паканальна. Такі падыход, у агульным выпадку, некарэктны, і не даваў бы разумнага выніку з больш складанымі кодэкамі, але канкрэтна для ADPCM цалкам падыходзіць.
Розніца паміж арыгіналам і aptX
Сярэдняе квадратычнае розніцы сігналаў знаходзіцца на ўзроўні -37.4 дб, што не шмат для такой кампрэсаванай музыкі.

aptX-HD

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

Кодэк
Частата дыскрэтызацыі
Разраднасць
Бітрэйт
Падтрымка кадавання
Падтрымка дэкадавання

aptX-HD
16, 32, 44.1, 48 кгц
24 біта
192 / 384 / 529 / 576 кбіт/з (у залежнасці ад частаты дыскрэтызацыі)
Android 8+*
Некаторымі аўдыёпрыладамі (апаратна)

* Версіі да 7 патрабуюць мадыфікацыі Bluetooth-стэка. Кодэк падтрымліваецца, толькі калі вытворца Android-прылады ліцэнзаваў выкарыстанне кодэка ў Qualcomm (калі ў АС ёсць бібліятэкі кадавання).

Менш распаўсюджаны, чым aptX: па ўсёй бачнасці, патрабуе асобнага ліцэнзавання ў Qualcomm, і асобных ліцэнзійных адлічэнняў.

Паўторым прыклад з сінусоідай на 12.4 кгц:
Аўдыё праз Bluetooth: максімальна падрабязна аб профілях, кодэках і прыладах

Значна лепш, чым з aptX, але ўсё роўна шумнавата.

aptX Нізкая затрымка

Кодэк ад Qualcomm, які не мае агульнага са стандартнымі aptX і aptX HD, мяркуючы па нешматлікай інфармацыі ад людзей, якія маюць дачыненне да яго распрацоўкі. Прызначаны для інтэрактыўнай перадачы аўдыё з нізкай затрымкай (фільмы, гульні), тамака, дзе затрымка гуку не можа падладжвацца праграмна. Вядомыя софтавыя рэалізацыі энкодэр і дэкодэр адсутнічаюць, падтрымліваецца выключна трансмітарамі, рэсіверамі, навушнікамі і калонкамі, але не смартфонамі і кампутарамі.

Частата дыскрэтызацыі
Бітрэйт
Падтрымка кадавання
Падтрымка дэкадавання

44.1 кГц
276/420 кбіт/с
Некаторымі трансмітарамі (апаратна)
Некаторымі аўдыёпрыладамі (апаратна)

AAC

AAC, або Advanced Audio Coding – вылічальна складаны кодэк, з сур'ёзнай псіхаакустычнай мадэллю. Атрымаў шырокі распаўсюд для аўдыё ў інтэрнэце, другое па папулярнасці пасля MP3. Патрабуе ліцэнзавання і ліцэнзійных адлічэнняў: $15000 адначасова (або $1000 для кампаній з меней 15 працаўнікамі) + $0.98 за першыя 500000 прылад (крыніца).
Кодэк стандартызаваны ў рамках спецыфікацый MPEG-2 і MPEG-4, і насуперак частай памылцы, не прыналежыць Apple.

Частата дыскрэтызацыі
Бітрэйт
Падтрымка кадавання
Падтрымка дэкадавання

8 - 96 кгц
8 – 576 кбіт/с (для стэрэа), 256 – 320 кбіт/с (тыповы для Bluetooth)
macOS, Android 7+*, iOS
Шырокім лікам аўдыёпрылад (апаратна)

* толькі на прыладах, вытворцы якіх заплацілі ліцэнзійныя адлічэнні

У iOS і macOS выкарыстоўваецца лепшы на сённяшні дзень кадавальнік Apple AAC, які забяспечвае максімальна магчымую якасць аўдыё. У Android выкарыстоўваецца другі па якасці кадавальнік Fraunhofer FDK AAC, але могуць выкарыстоўвацца розныя апаратныя, убудаваныя ў платформу (SoC), з невядомай якасцю кадавання. Па нядаўніх тэстах сайта SoundGuys, якасць кадавання AAC рознымі Android-тэлефонамі моцна адрозніваецца:
Аўдыё праз Bluetooth: максімальна падрабязна аб профілях, кодэках і прыладах

У большасці бесправадных аўдыёпрылад для AAC усталяваны максімальны бітрэйт 320 кбіт/з, некаторыя падтрымліваюць толькі 256 кбітс. Астатнія бітрэйты сустракаюцца вельмі рэдка.
AAC забяспечвае выдатную якасць на бітрэйтах 320 і 256 кбіт/з, але схільны страт паслядоўнага кадавання ўжо сціснутага кантэнту, аднак, пачуць якія-небудзь адрозненні з арыгіналам на iOS пры бітрэйце 256 кбіт/з складана нават пры пры некалькіх паслядоўных кадаваннях, пры адзінкавым кадаванні, напрыклад, MP3 320 кбіт/з у AAC 256 кбіт/з стратамі можна занядбаць.
Як і ў выпадку з іншымі Bluetooth-кодэкамі, любая музыка спачатку дэкадуецца, затым кадуецца кодэкам. Пры праслухоўванні музыкі ў фармаце AAC яна спачатку дэкадуецца сродкамі АС, затым кадуецца ў AAC яшчэ раз, для перадачы па Bluetooth. Гэта неабходна для міксавання некалькіх аўдыёструменяў, напрыклад, музыкі і апавяшчэнні аб новым паведамленні. iOS - не выключэнне. У інтэрнэце можна знайсці мноства сцвярджэнняў аб тым, што на iOS музыка ў фармаце AAC не транскадуецца пры перадачы праз Bluetooth, што няправільна.

MP1/2/3

Кодэкі сямейства MPEG-1/2 Part 3 складаюцца з вядомага і шырокавыкарыстоўваемага MP3, меней распаўсюджанага MP2 (ужываецца пераважна ў лічбавым ТБ і радыё), і зусім невядомага MP1.

Старыя кодэкі MP1 і MP2 не падтрымліваюцца зусім: мне не атрымалася знайсці ні адны навушнікі і ніводны Bluetooth-стэк, які б кадаваў або дэкадаваў іх.
Дэкадаванне MP3 падтрымліваецца некаторымі навушнікамі, але кадаваньне не падтрымліваецца ні ў адным стэку сучасных аперацыйных сістэм. Нібыта, іншы стэк BlueSoleil для Windows можа кадзіраваць у MP3, калі ўручную змяніць файл канфігурацыі, але ў мяне яго ўстаноўка прыводзіць да BSoD на Windows 10. Выснова — кодэкам фактычна нельга карыстацца для Bluetooth-аўдыё.
Раней, у 2006-2008 гадах, да распаўсюджвання стандарту A2DP у прыладах, людзі слухалі MP3-музыку на гарнітуры Nokia BH-501 праз праграму MSI BluePlayer, якая была даступная на Symbian і Windows Mobile. У той час архітэктура АС смартфонаў дазваляла атрымліваць доступ да шматлікіх нізкаўзроўневых функцый, а на Windows Mobile і зусім можна было ўсталёўваць іншыя Bluetooth-стэкі.

Апошні патэнт кодэка MP3 скончыўся, выкарыстанне кодэка не патрабуе ліцэнзійных адлічэнняў з 23 красавіка 2017 года.

Калі доўгатэрміновы патэнт mentioned in aforementioned references is takes a measure, the technology MP3 technology became patent-free in the United States on 16 April 2017 when US Patent 6,009,399, мусіць быць і administered

Крыніца: www.iis.fraunhofer.de/en/ff/amm/prod/audiocodec/audiocodecs/mp3.html

Частата дыскрэтызацыі
Бітрэйт
Падтрымка кадавання
Падтрымка дэкадавання

16 - 48 кгц
8 - 320 кбіт/с
Нідзе не падтрымліваецца
Некаторымі аўдыёпрыладамі (апаратна)

LDAC

Новы і актыўна прасоўваецца "Hi-Res"-кодэк ад Sony, які падтрымлівае частоты дыскрэтызацыі да 96 кгц і 24-бітавую разраднасць, з бітрэйтам да 990 кбіт / с. Рэкламуецца ў якасці аўдыёфільскага кодэка, як замена існуючым Bluetooth-кодэкам. Мае функцыю адаптыўнай падладкі бітрэйту, у залежнасці ад умоў радыёэфіру.

Энкодэр LDAC (libldac) уваходзіць у стандартную пастаўку Android, таму кадаваньне падтрымліваецца на любым Android-смартфоне, пачынаючы з 8 версіі АС. Праграмныя дэкодэры ў вольным доступе адсутнічаюць, спецыфікацыя кодэка недаступная шырокай публіцы, аднак, па першым погляде на энкодер, унутраная прылада кодэка падобна з ATRAC9 - кодэкам ад Sony, выкарыстоўваным у PlayStation 4 і Vita: абодва працуюць у частотным дыяпазоне, выкарыстоўваюць мадыфікаванае дыскрэтнае косінус-пераўтварэнне (MDCT) і сціск з ужываннем алгарытму Хаффмана.

Падтрымка LDAC прадстаўлена практычна толькі навушнікамі ад Sony. Магчымасць дэкадавання LDAC часам сустракаецца на навушніках і ЛАП іншых вытворцаў, але вельмі рэдка.

Частата дыскрэтызацыі
Бітрэйт
Падтрымка кадавання
Падтрымка дэкадавання

44.1 - 96 кгц
303/606/909 кбіт/с (для 44.1 і 88.2 кгц), 330/660/990 кбіт/с (для 48 і 96 кгц)
Android 8 +
Некаторымі навушнікамі Sony і адзінкавымі прыладамі іншых вытворцаў (апаратна)

Маркетынг LDAC у якасці Hi-Res-кодэка шкодзіць яго тэхнічнаму складніку: дурное расходаваць бітрэйт на перадачу не чутных чалавечым вухам частот і падвышаную разраднасць, пакуль яго бракуе для перадачы CD-якасці (44.1/16) без страт. На шчасце, у кодэка ёсць два рэжыму працы: перадача CD-аўдыё і перадача Hi-Res-аўдыё. У першым выпадку па паветры перадаецца толькі 44.1 кгц/16 біт.

Так як праграмнага дэкодэра LDAC няма ў вольным доступе, пратэставаць кодэк без дадатковых прылад, якія раскадуюць LDAC, немагчыма. Па выніках тэсту LDAC на ЛАП з яго падтрымкай, які падлучылі інжынеры сайта SoundGuys.com праз лічбавы вынахад і запісалі які выдаецца гук на тэставых сігналах, LDAC 660 і 990 кбіт/з у рэжыме CD-якасці забяспечвае суадносіны сігнал/шум трохі лепш такога ў aptX HD.

Аўдыё праз Bluetooth: максімальна падрабязна аб профілях, кодэках і прыладах
Крыніца: www.soundguys.com/ldac-ultimate-bluetooth-guide-20026

LDAC таксама падтрымлівае дынамічны бітрэйт па-за ўсталяванымі профілямі – ад 138 кбіт/с да 990 кбіт/с, але, наколькі магу судзіць, у Android выкарыстоўваюцца толькі стандартызаваныя профілі 303/606/909 і 330/660/990 кбіт/с.

Іншыя кодэкі

Іншыя A2DP-кодэкі не атрымалі шырокага распаўсюджвання. Іх падтрымка альбо практычна цалкам адсутнічае, альбо маецца толькі на пэўных мадэлях навушнікаў і смартфонаў.
Стандартызаваны ў A2DP кодэк ATRAC ні разу не выкарыстоўваўся ў якасці Bluetooth-кодэка нават самімі Sony, кодэкі Samsung HD, Samsung Scalable і Samsung UHQ-BT маюць вельмі абмежаваную падтрымку з боку перадавальных і якія атрымліваюць прылад, а HWA LHDC – занадта новы, і падтрымліваецца за ўсё трыма(?) прыладамі.

Падтрымка кодэкаў аўдыёпрыладамі

Не ўсе вытворцы публікуюць дакладную інфармацыю аб кодэках, якія падтрымліваюць тыя ці іншыя бесправадныя навушнікі, калонкі, рэсіверы або трансмітары. Часам бывае так, што падтрымка вызначанага кодэка ёсць толькі на перадачу, але не на прыём (актуальна для камбінаваных трансмітэраў-рэсівераў), хоць вытворца заяўляе проста аб "падтрымцы", без заўваг (мяркую, у гэтым вінавата паасобнае ліцэнзаванне энкодэраў і дэкодараў некаторых кодэкаў ). У самых танных прыладах можна зусім не выявіць заяўленую падтрымку aptX.

Нажаль, у інтэрфейсах большасці АС нідзе не адлюстроўваецца выкарыстоўваны кодэк. Інфармацыя аб гэтым ёсць толькі ў Android, пачынаючы з 8 версіі, і macOS. Аднак, нават у гэтых АС будуць адлюстроўвацца толькі тыя кодэкі, якія падтрымлівае як тэлефон/кампутар, так і навушнікі.

Як жа даведацца, якія кодэкі падтрымлівае прыладу? Запісаць і прааналізаваць дамп трафіку з параметрамі ўзгаднення A2DP!
Зрабіць гэта можна ў Linux, macOS і Android. У Linux можна скарыстацца Wireshark або hcidump, у macOS – Bluetooth Explorer, а ў Android – штатнай функцыяй захавання Bluetooth HCI-дампа, якая даступная ў прыладах распрацоўніка. Вы атрымаеце дамп у фармаце btsnoop, які можна загрузіць у аналізатар Wireshark.
Звярніце ўвагу: карэктны дамп можна атрымаць толькі падлучыўшыся з тэлефона/кампутара да навушнікаў/калонцы (як бы кур'ёзна гэта ні гучала)! Навушнікі могуць самастойна ўсталёўваць злучэнне з тэлефонам, і ў гэтым выпадку яны будуць запытваць спіс кодэкаў у тэлефона, а не наадварот. Каб гарантавана запісаць карэктны дамп, спачатку разарвіце спалучэнне з прыладай, а затым, падчас запісу дампа, спалучыце тэлефон з навушнікамі.

Выкарыстоўвайце наступны фільтр адлюстравання, каб адсеяць нерэлевантны трафік:

btavdtp.signal_id

У выніку вы павінны ўбачыць нешта падобнае:
Аўдыё праз Bluetooth: максімальна падрабязна аб профілях, кодэках і прыладах

На кожным пункце каманды GetCapabilities можна націснуць, і паглядзець падрабязныя характарыстыкі кодэка.
Аўдыё праз Bluetooth: максімальна падрабязна аб профілях, кодэках і прыладах

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

Mandatory:
0x00 - SBC

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

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

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

Каб не аналізаваць дампы ўручную, я зрабіў сэрвіс, які прааналізуе ўсё аўтаматычна: btcodecs.valdikss.org.ru

Параўнанне кодэкаў. Які кодэк лепшы?

У кожнага кодэка ёсць свае перавагі і недахопы.
aptX і aptX HD выкарыстоўваюць жорстка зададзеныя профілі, якія нельга змяніць без мадыфікацыі энкодэра і дэкодэра. Ні вытворца тэлефона, ні вытворца навушнікаў не ў сілах змяніць бітрэйт ці каэфіцыенты кадавання aptX. Уладальнік кодэка, Qualcomm, выдае рэферэнсны энкодэр у выглядзе бібліятэкі. Гэтыя факты - моцны бок aptX - вы наперад ведаеце, якой якасці гук вы атрымаеце, без якіх-небудзь "але".

SBC, наадварот, мае мноства наладжвальных параметраў, дынамічны бітрэйт (энкодэр можа памяншаць параметр bitpool, калі радыёэфір загружаны), і не мае цвёрда зададзеных профіляў, а толькі рэкамендуемыя «сярэдняя якасць» і «высокая якасць», якія дадалі ў спецыфікацыю A2DP у 2003 годзе. "Высокая якасць" ужо не такая высокая па сучасных мерках, а большасць Bluetooth-стэкаў не дазваляюць выкарыстоўваць параметры лепш, чым у профілі "высокая якасць", хоць тэхнічныя абмежаванні для гэтага адсутнічаюць.
Bluetooth SIG не мае рэферэнснага энкодэра SBC у выглядзе бібліятэкі, і вытворцы рэалізуюць яго самастойна.
Гэта – слабыя бакі SBC – ніколі наперад не ясна, якой якасці гуку чакаць ад канкрэтнай прылады. SBC можа выдаваць як нізкую, так і вельмі высокую якасць гуку, але апошняе недасяжна без адключэння ці абыходу штучных абмежаванняў Bluetooth-стэкаў.

Сітуацыя з AAC неадназначная: з аднаго боку, тэарэтычна кодэк павінен выдаваць якасць, неадрознае ад арыгінала, але практыкай, мяркуючы па тэстах лабараторыі SoundGuys на розных Android-прыладах, гэта не пацвярджаецца. Верагодней за ўсё, віны на нізкаякасных апаратных аўдыёэнкодэрах, убудаваных у розныя чыпсэты тэлефонаў. Мае сэнс выкарыстоўваць AAC толькі на прыладах Apple, а на Android абмежавацца aptX і LDAC.

Апаратура, якая падтрымлівае альтэрнатыўныя кодэкі, як правіла, больш высокай якасці, проста таму, што для зусім танных нізкаякасных прылад не мае сэнсу плаціць ліцэнзійныя адлічэнні для выкарыстання гэтых кодэкаў. Па маіх тэстах, SBC гучыць вельмі добрае на якаснай апаратуры.

Я зрабіў вэб-сэрвіс, які кадуе аўдыё ў SBC, aptX і aptX HD у рэальным часе, прама ў браўзэры. З дапамогай яго вы зможаце тэставаць гэтыя аўдыёкодэкі без фактычнай перадачы аўдыё па Bluetooth, на любых правадных навушніках, калонках, і вашай каханай музыцы, а таксама змяняць параметры кадавання прама падчас прайгравання аўдыё:
btcodecs.valdikss.org.ru/sbc-encoder
Сэрвіс выкарыстоўвае бібліятэкі кадавання SBC з праекта BlueZ і libopenaptx з ffmpeg, якія скампіляваны ў WebAssembly і JavaScript з C, праз emscripten, для выканання ў браўзэры. Хто мог марыць аб такой будучыні!

Вось як гэта выглядае:

Звярніце ўвагу, як змяняецца ўзровень шуму пасля 20 кгц у розных кодэкаў. У арыгінальным MP3-файле частоты вышэй за 20 кгц адсутнічаюць.

Паспрабуйце папераключаць кодэкі і ацаніць, ці чуеце вы розніцу паміж арыгіналам, SBC 53 Joint Stereo (стандартны і найболей распаўсюджаны профіль), і aptX/aptX HD.

Я чую розніцу паміж кодэкамі у слухаўках!

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

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

Аўдыё праз Bluetooth: максімальна падрабязна аб профілях, кодэках і прыладах
Канвеер апрацоўкі гуку DSP Kalimba у чыпах вытворчасці CSR/Qualcomm

Аўдыё праз Bluetooth: максімальна падрабязна аб профілях, кодэках і прыладах
Актывацыя розных функцый DSP для кожнага кодэка і выхаду асобна

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

Функцыянальныя асаблівасці прылад

Сучасная версія стандарту A2DP мае функцыю «абсалютнага рэгулявання гучнасці» - кіраванне гучнасцю прылады адмысловымі камандамі пратаколу AVRCP, якое рэгулюе ўзмацненне выходнага каскаду, замест праграмнага памяншэння гучнасці аўдыёструменю. Калі пры змене гучнасці на навушніках, змена не сінхранізуецца з гучнасцю на тэлефоне, то гэта азначае, што вашыя навушнікі ці тэлефон не падтрымліваюць гэтую функцыю. У такім выпадку, мае сэнс слухаць музыку заўсёды з максімальнай гучнасцю на тэлефоне, рэгулюючы фактычную гучнасць кнопкамі навушнікаў - у гэтым выпадку суадносіны сігнал/шум будзе лепш, і якасць аўдыё павінна быць вышэй.
У рэальнасці ж бываюць сумныя сітуацыі. На маіх слухаўках RealForce OverDrive D1 для SBC уключаны моцны компандер, і павелічэнне гучнасці прыводзіць да падвышэння ўзроўня ціхіх гукаў, а гучнасць гучных гукаў пры гэтым не змяняецца (адбываецца кампрэсія сігналу). З-за гэтага даводзіцца ўсталёўваць гучнасць на кампутары прыкладна ў палову, у гэтым выпадку эфекту кампрэсіі практычна няма.
Па маіх назіраннях, усе слухаўкі з дадатковымі кодэкамі падтрымліваюць функцыю абсалютнага рэгулявання гучнасці, мабыць, гэта адно з патрабаванняў для сертыфікацыі кодэкаў.

Некаторыя навушнікі падтрымліваюць падлучэнне двух прылад адначасова. Гэта дазваляе, напрыклад, слухаць музыку з камп'ютара і прымаць званкі з тэлефона. Аднак трэба ведаць, што ў гэтым рэжыме адключаюцца альтэрнатыўныя кодэкі, і выкарыстоўваецца толькі SBC.

Функцыя AVDTP 1.3 Delay Reporting дазваляе слухаўкам паведамляць затрымку якая перадае прыладзе, з якой фактычна прайграваецца гук. Гэта дазваляе падладжваць сінхранізацыю аўдыё з відэа падчас прагляду відэафайлаў: пры праблемах з перадачай па радыёэфіры, аўдыё не будзе адставаць ад відэа, а наадварот, відэа будзе тармозіцца відэаплэерам, пакуль аўдыё і відэа зноў не сінхранізуюцца.
Функцыя падтрымліваецца шматлікімі навушнікамі, Android 9+ і Linux з PulseAudio 12.0+. Аб падтрымцы функцыі на іншых платформах мне невядома.

Двунакіраваная сувязь праз Bluetooth. Перадача голасу.

Для перадачы голасу ў Bluetooth выкарыстоўваецца Synchronous Connection Oriented (SCO) - сінхронная перадача з папярэднім узгадненнем злучэння. Рэжым дазваляе перадаваць гук і голас строга па парадку, з сіметрычнай хуткасцю адпраўкі і прыёму, без чакання пацверджання перадачы і пераадпраўкі пакетаў. Гэта паніжае агульную затрымку перадачы аўдыё праз радыёканал, але накладвае сур'ёзныя абмежаванні на колькасць перадаваных дадзеных за адзінку часу, і адмоўна адбіваецца на якасці.
Калі выкарыстоўваецца гэты рэжым, і голас, і аўдыё перадаюцца з аднолькавай якасцю.
Нажаль, па стане на 2019 год, якасць перадачы прамовы праз Bluetooth усё яшчэ нізкая, і незразумела, чаму Bluetooth SIG з гэтым нічога не робіць.

ССЗ

Базавы кодэк перадачы прамовы CVSD быў стандартызаваны ў 2002 годзе, і падтрымліваецца ўсімі прыладамі двунакіраванай сувязі праз Bluetooth. Ён забяспечвае перадачу аўдыё з частатой дыскрэтызацыі ў 8 кгц, што адпавядае якасці звычайнай правадной тэлефаніі.

Прыклад запісу ў гэтым кодэку.

mSBC

Дадатковы кодэк mSBC быў стандартызаваны ў 2009 годзе, а ў 2010 ужо з'явіліся чыпы, якія выкарыстоўваюць яго для перадачы голасу. mSBC шырока падтрымліваецца рознымі прыладамі.
Гэта не самастойны кодэк, а звычайны SBC з стандарту A2DP, з фіксаваным профілем кадавання: 16 кгц, мона, bitpool 26.

Прыклад запісу ў гэтым кодэку.

Не бляск, але значна лепш, чым CVSD, аднак усё яшчэ непрыемна выкарыстоўваць яго для зносін праз інтэрнэт, асабліва, калі вы выкарыстоўваеце навушнікі для зносін у гульні - гук гульні таксама будзе перадавацца з частатой дыскрэтызацыі ў 16 кгц.

FastStream Кампанія CSR вырашыла развіць ідэю перавыкарыстання SBC. Каб абыйсці абмежаванні пратаколу SCO і выкарыстоўваць больш высокія бітрэйты, CSR пайшлі іншым шляхам – укаранілі падтрымку двухбаковага SBC-аўдыё ў стандарт перадачы аднабаковага аўдыё A2DP, стандартызавалі профілі кадавання, і назвалі гэта "FastStream".

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

Прыклад запісу ў гэтым кодэку (+ гук з мікрафона, такі ж, як у mSBC).

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

На дадзены момант падтрымка FastStream у АС ёсць толькі у выглядзе патча для Linux'авага PulseAudio ад распрацоўніка Pali Rohár, які не ўключаны ў асноўную галіну праграмы.

aptX Нізкая затрымка

Да вялікага здзіўлення, aptX Low Latency таксама падтрымлівае двунакіраванае аўдыё, рэалізуючы такі ж прынцып, як у FastStream.
Выкарыстоўваць гэтую асаблівасць кодэка не атрымаецца нідзе – падтрымкі дэкадавання Low Latency няма ні ў адной АС і ні ў адным вядомым мне Bluetooth-стэку.

Bluetooth 5, Classic і Low Energy

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

Існуе два розных, не сумяшчальных паміж сабой пратаколу Bluetooth: Bluetooth Classic і Bluetooth Low Energy (LE, ён жа Bluetooth Smart). Яшчэ ёсць трэці пратакол, Bluetooth High Speed, але ён не распаўсюджаны, і не выкарыстоўваецца ў бытавых прыладах.

Пачынальна з Bluetooth 4.0, змены ў спецыфікацыі дакраналіся пераважна Bluetooth Low Energy, а Classic-версія атрымлівала толькі малаважныя паляпшэнні.

Спіс змен паміж Bluetooth 4.2 і Bluetooth 5:

9 CHANGES FROM v4.2 TO 5.0

9.1 NEW FEATURES

Увесь новы характар ​​у Bluetooth Core Specification 5.0 Release. Вялікая частка improvement are:
• Slot Availability Mask (SAM)
• 2 Msym/s PHY for LE
• LE Long Range
• High Duty Cycle Non-Connectable Advertising
• LE Advertising Extensions
• LE Channel Selection Algorithm #2
9.1.1 Features Added in CSA5 - Integrated in v5.0
• Higher Output Power

Крыніца: www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=421043 (старонка 291)

Толькі адна змена кранула Classic-версіі ў рамках спецыфікацыі Bluetooth 5: дадалі падтрымку тэхналогіі Slot Availability Mask (SAM), закліканую палепшыць падзел радыёэфіру. Усе астатнія змены закранаюць толькі Bluetooth LE (і Higher Output Power таксама).

Усе аўдыёпрылады выкарыстоўваюць толькі Bluetooth Classic. Слухаўкі і калонкі падлучыць праз Bluetooth Low Energy немагчыма: не існуе стандарту перадачы аўдыё з выкарыстаннем LE. Стандарт A2DP, які ўжываецца для перадачы высакаякаснага аўдыё, працуе толькі праз Bluetooth Classic, і аналага ў LE яму не існуе.

Выснова – набываць аўдыёпрылады з Bluetooth 5 толькі з-за новай версіі пратакола бессэнсоўна. Bluetooth 4.0/4.1/4.2 у кантэксце перадачы аўдыё будзе працаваць сапраўды гэтак жа.
Калі анонс новых навушнікаў згадвае падвоены радыус працы і паменшанае энергаспажыванне дзякуючы Bluetooth 5, то ведайце - яны альбо самі не разбіраюцца, альбо ўводзяць вас у зман. Няхітра, бо нават вытворцы Bluetooth-чыпаў у сваіх анонсах блытаюцца ў адрозненнях новай версіі стандарту, а некаторыя Bluetooth 5-чыпы падтрымліваюць пятую версію толькі для LE, а для Classic выкарыстоўваюць 4.2.

Затрымка перадачы аўдыё

Велічыня затрымкі (запазнення) аўдыё залежыць ад шматлікіх фактараў: памеру буфера ў аўдыёстэку, у Bluetooth-стэку і ў самай якая прайгравае бесправадным прыладзе, алгарытмічнай затрымкі кодэка.

Затрымка простых кодэкаў, накшталт SBC, aptX і aptX HD, зусім невялікая, і складае 3-6 мс, чым можна занядбаць, але комплексныя кодэкі, накшталт AAC і LDAC, могуць даваць адчувальнае запазненне. Алгарытмічная затрымка AAC для 44.1 кгц складае 60 мс. LDAC - каля 30 мс (па грубіянскім аналізе зыходнага кода. Магу памыляцца, але не моцна.)

Выніковая затрымка моцна залежыць ад якая прайгравае прылады, яго чыпсэта і буфера. Падчас тэстаў я атрымаў роскід ад 150 да 250 мс на розных прыладах (з кодэкам SBC). Калі выказаць здагадку, што прылады з падтрымкай дадатковых кодэкаў aptX, AAC і LDAC выкарыстоўваюць якасныя кампаненты і маленькі памер буфера, то атрымаем наступныя тыповыя затрымкі:

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

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

Праблемы прылад, сертыфікацыі і лагатыпаў Bluetooth

Як адрозніць якаснае аўдыёпрылада ад таннай вырабы? Па вонкавым выглядзе, перш за ўсё!

У танных кітайскіх навушнікаў, калонак і рэсівераў:

  1. Адсутнічае слова "Bluetooth" на скрынцы і прыладзе, часцей за ўсё выкарыстоўваецца "Wireless" і "BT"
  2. Адсутнічае лагатып Bluetooth Аўдыё праз Bluetooth: максімальна падрабязна аб профілях, кодэках і прыладах на скрынцы або прыладзе
  3. Няма сіняга мігатлівага святлодыёда

Адсутнасць гэтых элементаў кажа аб тым, што прылада не праходзіла сертыфікацыю, а значыць – патэнцыйна нізкаякаснае і праблемнае. Напрыклад, навушнікі фірмы Bluedio не сертыфікаваны Bluetooth, і не цалкам адпавядаюць спецыфікацыі A2DP. Сертыфікацыю яны б не прайшлі.

Разгледзім некалькі прылад і каробак ад іх:
Аўдыё праз Bluetooth: максімальна падрабязна аб профілях, кодэках і прыладах

Аўдыё праз Bluetooth: максімальна падрабязна аб профілях, кодэках і прыладах

Аўдыё праз Bluetooth: максімальна падрабязна аб профілях, кодэках і прыладах

Гэта ўсё – несертыфікаваныя прылады. У інструкцыі можа быць лагатып і назоў тэхналогіі Bluetooth, але самае галоўнае — каб яны былі на скрынцы і/ці самой прыладзе.

Калі вашы навушнікі або калонка кажуць "Ze bluetooth dewise is connecteda successfulle", гэта таксама не кажа пра іх якасць:

Заключэнне

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

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

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

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

бонус: рэферэнсны энкодэр SBC, інфармацыя аб бітстрыме A2DP і тэставыя файлы. Гэты файл раней быў выкладзены на сайце Bluetooth публічна, але зараз ён даступны толькі для якія ўступілі ў Bluetooth SIG.

Крыніца: habr.com

Дадаць каментар