Bluetoothi ​​ kaudu audio: üksikasjalik teave profiilide, koodekite ja seadmete kohta

Bluetoothi ​​ kaudu audio: üksikasjalik teave profiilide, koodekite ja seadmete kohta

Nutitelefonide massilise tootmise tõttu, millel puudub 3,5 mm helipesa, on traadita Bluetooth-kõrvaklapid paljuski saanud peamiseks viisiks muusika kuulamiseks ja suhtlemiseks käpikuseadmest.
Traadita seadmete tootjad ei paku alati toote kohta üksikasjalikke tehnilisi andmeid, samuti on internetis leiduvaid artikleid Bluetooth-audio kohta vastuolulisi, kohati ebatäpsed, nad ei käsitle kõiki omadusi ning sageli kopeerivad üht ja sama vale teavet.
Proovime süveneda protokolli, operatsioonisüsteemi Bluetoothi ​​stack'ide, kõrvaklappide ja kõlarite, muusika ja hääle Bluetooth-koodikate võimalustesse, selgitame välja, mis mõjutab edastatava heli kvaliteeti ja viivitust, ning õpime koguma ja dekodeerima teavet toetatud koodikate ja teiste seadmete omaduste kohta.

TL;DR:

  • SBC — normaalne kodek
  • Kõrvaklappidel on iga kodeki jaoks oma ekvalaiser ja post-protsessimine
  • aptX ei ole nii hea, kui reklaamides räägitakse
  • LDAC — turunduslik fuflo
  • Heli kvaliteet kõnetes on endiselt madal
  • Brauserisse on võimalik integreerida audioenkoodereid C keeles, mida kompileerida WebAssembly kaudu emscripteni abil, ja need ei hakka eriti pidurdama.

Muusika Bluetoothi kaudu

Bluetoothi funktsionaalsus määratakse profiilide kaudu - konkreetsete funktsioonide spetsifikatsioonidega. Muusika edastamine Bluetoothis toimub kõrgekvaliteedilise ühesuunalise audio edastamise profiili A2DP abil. A2DP standard võeti kasutusele 2003. aastal ja alates sellest on see oluliselt muutumatuks jäänud.
Profiil hõlmab 1 kohustuslikku madala töötlusvõimekuse SBC koodekit, mis on spetsiaalselt loodud Bluetoothi jaoks, ning 3 lisakoodekit. Samuti on lubatud dokumenteerimata koodekite kasutamine, millel on oma rakendused.

Seisuga juuni 2019 oleme comic xkcd 14 A2DP koodeki puhul:

  • SBC ← standardiseeritud A2DP-s, toetatud kõigis seadmetes
  • MPEG-1/2 Layer 1/2/3 ← standardiseeritud A2DP-s: kõigile tuntud MP3, kasutatav digitaalses TV-s MP2, ja tundmatu MP1
  • MPEG-2/4 AAC ← standardiseeritud A2DP-s
  • ATRAC ← vana koodek Sonylt, standardiseeritud A2DP-s
  • LDAC ← uus koodek Sonylt
  • aptX ← koodek aastast 1988
  • aptX HD ← sama mis aptX, kuid erinevate kodeerimisparameetritega
  • aptX Low Latency ← täiesti erinev koodek, pole tarkvaralist rakendust
  • aptX Adaptive ← veel üks koodek Qualcommilt
  • FastStream ← pseudokoodik, kahepoolne SBC muudatus
  • HWA LHDC ← uus koodik Huawei poolt
  • Samsung HD ← toetab 2 seadet
  • Samsung Scalable ← toetab 2 seadet
  • Samsung UHQ-BT ← toetab 3 seadet

Miks on vaja koodikuid, võite küsida, kui Bluetoothis on EDR, mis võimaldab edastada andmeid kiirusel 2 ja 3 Mbit/s, samas kui värskendamata kahekanaliline 16-bit PCM vajab vaid 1,4 Mbit/s?

Andmete edastamine Bluetoothi kaudu

Bluetoothis on kaks andmete edastamise tüüpi: Asynchronous Connection Less (ACL) asünkroonseks edastamiseks ilma ühenduse loomise vajaduseta ja Synchronous Connection Oriented (SCO) sünkroonseks edastamiseks eelneva ühenduse kooskõlastamisega.
Ülekande teostamine toimub ajajaotuse ja edastuskanali valiku skeemi kaudu iga paketi jaoks eraldi (Frequency-Hop/Time-Division-Duplex, FH/TDD), kus aeg jagatakse 625-mikrosekundilisteks intervallideks, mida nimetatakse slotideks. Üks seadmetest edastab andmeid paarisarvulistes slotides, teine aga paaritu arvuga. Edastatav pakett võib võtta 1, 3 või 5 slotti, sõltuvalt andmete suurusest ja valitud edastusviisist; sel juhul toimub ühe seadme edastus nii paarisatutes kui paarisarvulistes slotides kuni edastuse lõpuni. Ühes sekundis on võimalik vastu võtta ja saata kuni 1600 paketti, kui igaühel neist on 1 slott ja mõlemad seadmed edastavad ja vastu võtavad midagi katkematult.

2 ja 3 Mbit/s EDR jaoks, mida võib leida Bluetoothi kuulutustes ja kodulehtedel, on maksimaalne kanali edastuskiirus kõigi andmete summaarselt (sealhulgas kõikide protokollide tehnilised pealkirjad, kuhu andmeid tuleb kapseldada), kahele suunale korraga. Tegelik edastuskiirus võib oluliselt erineda.

Muusika edastamiseks kasutatakse asünkroonset meetodit, peaaegu alati pakettide 2-DH5 ja 3-DH5 abil, mis kannavad maksimaalset andmehulka EDR režiimis 2 Mbit/s ja 3 Mbit/s vastavalt ning hõivavad 5 ajavahemiku slotti.

Scheemiline esitus ühe seadme edastamisest, kasutades 5 slotti ja teise seadme 1 slotti (DH5/DH1):
Bluetoothi ​​ kaudu audio: üksikasjalik teave profiilide, koodekite ja seadmete kohta

Ajajaotuse põhimõtte tõttu peame ootama 625-mikrosekundilist ajavahemikku pärast paketi edastamist, kui teine seade ei edasta meile midagi või edastab väikese paketi, ja rohkem aega, kui teine seade edastab suuri pakette. Kui telefoni on ühendatud rohkem kui üks seade (näiteks kõrvaklapid, kell ja fitness-ranneke), jaguneb edastusaeg nende vahel.

Audiokapseldamise vajadus spetsiaalsetes transportprotokollides L2CAP ja AVDTP võtab ära 16 baiti võimalikust maksimaalsest edastatavast kasulikust audiokoormusest.

Paketi tüüp
Slottide arv
Maks. baitide arv paketis
Maks. baitide arv A2DP kasulikus koormuses
Maks. A2DP kasuliku koormuse bitikiirus

2-DH3
3
367
351
936 kbit/s

3-DH3
3
552
536
1429 kbit/s

2-DH5
5
679
663
1414 kbit/s

3-DH5
5
1021
1005
2143 kbit/s

1414 ja 1429 kbit/s ei ole piisav, et edastada töötlemata heliga reaalses keskkonnas, kus on müra 2,4 GHz sagedusel ja on vaja edastada juhtmeta andmeid. EDR 3 mbit/s on nõudlik signaali tugevuse ja õhu müra suhtes, seega isegi 3-DH5 režiimis ei ole mugav PCM edastus võimalik, pidevalt tekivad lühiajaliselt katkestused ning kõik toimib vaid mõne meetri kaugusel.
Praktikas on isegi 990 kbit/s audiodiagramm (LDAC 990 kbit/s) raske edastada.

Naaseme koodekite juurde.

SBC

Koodek, mis on kohustuslik kõikidele seadmetele, mis toetavad A2DP standardit. Parim ja halvim koodek samal ajal.

Proovide sagedus
Bitide arv
Bitikiirus
Krüpteerimise tugi
Dekodeerimise tugi

16, 32, 44.1, 48 kHz
16 bitti
10-1500 kbit/s
Kõik seadmed
Kõik seadmed

SBC — lihtne ja arvutuslikult kiire koodek, mille psühhoakustiline mudel on primitiivne (kasutatakse ainult vaiksete helide maskeerimist), kasutab kohandatud impulss-koodimodulatsiooni (APCM).
A2DP spetsifikatsioon soovitab kasutada kahte profiili: keskmine kvaliteet ja kõrge kvaliteet.
Bluetoothi ​​ kaudu audio: üksikasjalik teave profiilide, koodekite ja seadmete kohta

Kodekil on palju seadeid, mis võimaldavad hallata algoritmilist viivitust, plokkide näidiste arvu, bitite jaotamisalgoritmi, kuid enamikus kasutusjuhtudes kasutatakse ühtseid soovitatud parameetreid: Joint Stereo, 8 sagedusala, 16 plokki heliraamis, heliriba jaotamise meetod Loudness.
SBC toetab Bitpooli parameetri dünaamilist muutmist, millel on otsene mõju bitikiirusel. Kui raadioeeter on ummistunud, pakette kaob või seadmed on suurte vahedega, võib heli allikas vähendada Bitpooli, kuni ühendus normaliseerub.

Enamik kõrvaklappide tootjatest seadistab Bitpooli maksimaalse väärtuse 53, mis piirab bitikiirus 328 kilobitiga sekundis, kui kasutatakse soovitatud profiili.
Isegi kui kõrva- jätete tootja on seadnud Bitpooli maksimaalse väärtuse üle 53 (sellised mudelid esinevad näiteks: Beats Solo³, JBL Everest Elite 750NC, Apple AirPods, samuti mõnes vastuvõtjas ja autode peaseadmetes), siis enamik operatsioonisüsteeme ei luba kasutada suuremaid bitimäärasid Bluetoothi stekkide seadistatud sisemise piiri tõttu.
Lisaks määravad mõned tootjad mõne seadme jaoks madala Bitpooli maksimaalse väärtuse. Näiteks on Bluedio T-l see väärtus 39, Samsung Gear IconX-l 37, mis toob kaasa halva helikvaliteedi.

Bluetoothi stekkide arendajate tehislikud piirangud on tõenäoliselt tekkinud teatud seadmete mittesobivusest suuremate Bitpooli väärtustega või ebatüüpiliste profiilidega, isegi kui nad väitsid nende toetamist, ning sertifitseerimise ajal tehtud testide puudumisest. Bluetoothi stekkide autoritel oli lihtsam piirata soovitatud profiiliga nõustumist, kui luua ebaõigete seadmete baasi (kuigi nad teevad seda nüüd teiste ebaõigete funktsioonide jaoks).

SBC dünaamiliselt jagab kvantimisbitid sagedusvahemike jaoks, toimides põhimõttel alumistelt ülemistele, erinevate kaalutuste põhjal. Kui kogu bitikiirus kasutatakse madalate ja kesksete sageduste jaoks, lõigatakse ülemised sagedused "ära" (nende asemel on vaikus).

Näide SBC-st 328 kbit/s. Ülal on originaal, all on SBC, vaheldumisi toimub vahetamine rajad vahel. Video failis oleva heli jaoks kasutatakse kaotusteta tihenduskodekit FLAC. FLAC-i kasutamine mp4 konteineris ei ole ametlikult standardiseeritud, seega ei ole kindel, et teie brauser seda toob, kuid see peaks töötama viimastes versioonides lauaarvuti Chrome'i ja Firefoxi. Kui te ei kuule heli, võite faili alla laadida ja avada seda täisversioonis meedianäitajaga.
ZZ Top — Sharp Dressed Man

Spektrogrammil on näha ülemineku hetke: SBC lõikab perioodiliselt vaikselt helisid üle 17,5 kHz ja ei eralda üldse bitti 20 kHz ülemisele vahemikule. Täielik spektrogramm on saadaval klõpsates (1,7 MB).
Bluetoothi ​​ kaudu audio: üksikasjalik teave profiilide, koodekite ja seadmete kohta

Ma ei kuule sellel rajal originaali ja SBC vahel erinevust.

Võtame midagi uuemat ja modelleerime heli, mis tulemuseks saaks, kui kasutada Samsung Gear IconX kõrvaklappe Bitpool 37-ga (üles — algsignaal, all — SBC 239 kbit/s, heli FLAC-is).
Mindless Self Indulgence — Witness

Ma kuulen krõbistamist, vähem stereoeefekti ja ebameeldivat „klõbistamist“ laulus kõrgetes sagedustes.

Kuigi SBC on väga paindlik kodek, võib see olla seadistatud madalate latentsustega, pakkudes suurepärast helikvaliteeti kõrgetes bitimäärades (452+ kbit/s) ja täiesti head enamiku inimeste jaoks standardse kõrgkvaliteedis (328 kbit/s). Kuna A2DP standard ei määra fikseeritud profiile (vaid annab soovitusi), on stackide arendajad seadnud kunstlikud piirangud Bitpool'i osas, edastatavate helide parameetrid ei kuvata kasutajaliideses, ning kõrvaklappide tootjad võivad oma seadeid vabalt määrata ja ei näita kunagi Bitpool'i väärtust toote tehnilistes omadustes. See kodek on tuntud madala helikvaliteedi poolest, kuigi see ei ole ise kodeki probleem.
Bitpool'i parameeter mõjutab bitikiirus ainult ühe profiili raames. Sama Bitpool'i väärtus 53 võib anda nii 328 kbit/s bitikiirusel soovitatud High Quality profiiliga kui ka 1212 kbit/s Dual Channel ja 4 sagedusvahemikuga, mistõttu OS-i arendajad seavad Bitpool'i piirangute kõrval ka piirangu bitikiirusel. Minu arvates on selline olukord tekkinud standardi A2DP arendamata jäänud osade tõttu: oleks pidanud kooskõlastama bitikiiruse, mitte Bitpool'i.

SBC võimaluste tugide tabel erinevates OS-ides:


Toetatud sagedusvahemikud
Maks. Bitpool'i piirang
Maks. Bitrate'i piirang
Tüüpiline Bitrate
Dünaamiline Bitpool'i kohandamine

Windows 10
44.1 kHz
53
512 kbit/s
328 kbit/s
✓*

Linux (BlueZ + PulseAudio)
16, 32, 44.1, 48 kHz
64 (sissetuleva ühenduse puhul), 53 (väljamineva puhul)
Piirangut ei ole
328 kbit/s
✓*

macOS High Sierra
44.1 kHz
64, vaikimisi 53***
Tundmatu
328 kbit/s

Android 4.4-9
44.1/48 kHz**
53
328 kbit/s
328 kbit/s

Android 4.1-4.3.1
44.1, 48 kHz**
53
229 kbit/s
229 kbit/s

Blackberry OS 10
48 kHz
53
Piirangut ei ole
328 kbit/s

* Bitpool ainult väheneb, kuid ei suurene automaatselt, kui edastustingimused paranevad. Bitpool'i taastamiseks tuleb peatusse panna esitamine, oodata paar sekundit ja seejärel uuesti audio käivitada.
** Vaikimisi väärtus sõltub virnast, mille seade on kokku pandud. Android 8/8.1 puhul on sagedus kas 44.1 kHz või 48 kHz, sõltuvalt kokkupanemise seadistustest; teistes versioonides toetatakse samaaegselt nii 44.1 kHz kui 48 kHz.
*** Bitpooli väärtust saab suurendada Bluetooth Exploreri programmis.

aptX ja aptX HD

aptX on lihtne ja arvutuslikult kiire koodek, mis ei kasuta psühoakustikat, vaid rakendab adaptiivset diferentsiaalse impulss-koodide modulaatorit (ADPCM). See ilmus umbes 1988. aastal (patendi esitamiskuupäev on datereeritud veebruarile 1988), enne Bluetoothi kasutati peamiselt professionaalses juhtmevabas audiotehnikas. Hetkel kuulub see ettevõttele Qualcomm, vajab litsentsimist ja litsentsitasusid. 2014. aasta seisuga: $6000 ühekordne tasu ja umbes $1 iga seadme kohta kuni 10 000 seadme partii jaoks ( dateeritud veebruaris 1988, kuni Bluetoothi kasutati enamasti professionaalses juhtmevabas helitehnikas. Praegu kuulub ettevõttele Qualcomm, nõuab litsentseerimist ja litsentsitasusid. 2014. aasta seisuga: $6000 ühekordselt ja ≈$1 igas seadmes, kuni 10000 seadme tellimustes (allikas, lk 16).
aptX ja aptX HD on sama koodek, kuid erinevate kodeerimisprofiilidega.

Koodekil on ainult üks parameeter — valik proovide sagedusest. Kuigi on ka valida kanalite arvu/režiimi, toetavad kõik minu teadaolevad seadmed (üle 70) ainult Stereo.

Koodik
Proovide sagedus
Bitide arv
Bitikiirus
Krüpteerimise tugi
Dekodeerimise tugi

aptX
16, 32, 44.1, 48 kHz
16 bitti
128 / 256 / 352 / 384 kbit/s (sõltuvalt proovivõtu sagedusest)
Windows 10 (laua- ja mobiiliversioon), macOS, Android 4.4+/7*, Blackberry OS 10
Suure hulga heliseadmestikku (riistvara põhine)

* Versioonid enne 7 nõuavad Bluetoothi raamistikku muutmist. Koodek on toetatud ainult siis, kui Androidi seadme tootja on litsentseerinud koodeki kasutamise Qualcommilt (kui operatsioonisüsteemis on kodeerimise teegid).

aptX jagab heli 4 sagedusriba ja kvantib neid pidevalt sama arvu bitiga: 8 bitti 0-5.5 kHz, 4 bitti 5.5-11 kHz, 2 bitti 11-16.5 kHz, 2 bitti 16.5-22 kHz (numbrid 44.1 kHz proovivõtu sageduse jaoks).

aptX heli näide (ülemine osa — originaalsignaal, alumine osa — aptX, spekrogrammid ainult vasakult kanalilt, heli FLAC formaadis):

Ülemised sagedused on veidi punakamad, kuid erinevust ei ole kuulda.

Bitide kvantimise fikseeritud jaotus tõttu ei saa koodek "kanda ничего битов" sagedustele, mis neid kõige rohkem vajavad. Erinevalt SBC-st ei lõika aptX sagedusi, vaid lisab neisse kvantimisvõrke, vähendades heli dünaamilist ulatust.

Ei tule arvata, et näiteks 2 bitti kasutamine ribas vähendab dünaamilist vahemikku 12 dB-ni: ADPCM võimaldab kasutada kuni 96 dB dünaamilist vahemikku isegi siis, kui kasutatakse 2-bittist kvantimist, kuid ainult teatud signaali korral.
ADPCM salvestab erinevuse numbrilise esituse vahel praeguse ja järgmise proovi vahel, mitte ei salvesta absoluutset väärtust nagu PCM. See vähendab bitivajadust sama (kaotamata) või praktiliselt sama (suhteliselt väikese ümardamisveaga) teabe salvestamiseks. Ümardamisvigade vähendamiseks kasutatakse koefitsiendi tabelit.
Koodiku rakendamisel arvutasid autorid ADPCM koefitsiendid muusika audifailide kogumi põhjal. Mida lähemal on audiosignaal sellele muusikanäidule, mille põhjal koefitsiendi tabelid loodi, seda vähem kvantimisvigu (mürad) genereerib aptX.

Sel põhjusel annavad sünteetilised testid alati halvemad tulemused kui muusika. Loodud on spetsiaalne sünteetiline näide, kus aptX näitab halbu tulemusi — 12.4 kHz sagedusega sinusoida (üles — algsignaal, all — aptX. Helifail FLAC formaadis. Vähendage helitugevust!).

Spektrigraafik:
Bluetoothi ​​ kaudu audio: üksikasjalik teave profiilide, koodekite ja seadmete kohta

Kostub selgelt müra.

Kuid kui genereerida madalama amplituudiga sinusoida, et see oleks vaiksem, siis muutub müra samuti vaiksemaks, mis näitab laia dünaamilist ulatust:

Bluetoothi ​​ kaudu audio: üksikasjalik teave profiilide, koodekite ja seadmete kohta

Originaalse muusikalooga ja kokkusurutud signaali erinevuse kuulmiseks on võimalik ühe signaali pöörata ja salvestada radasid kanalite kaupa. Selline lähenemine ei ole üldjuhul korrektne ja ei annaks mõistetavaid tulemusi keerukamate koodekite puhul, kuid ADPCM jaoks sobib see ideaalselt.
Erinevus originaali ja aptX vahel
Signaalide ruutkeskmine erinevus on -37.4 dB tasemel, mis pole palju sellise kokkusurutud muusika puhul.

aptX HD

aptX HD ei ole iseseisev koodek — see on täiustatud kodeerimisprofiil koodeki aptX. Muutused puudutavad bitide arvu, mis on määratud sageduste kodeerimiseks: 10 bitti 0-5.5 kHz, 6 bitti 5.5-11 kHz, 4 bitti 11-16.5 kHz, 4 bitti 16.5-22 kHz (numbrid 44.1 kHz jaoks).

Koodik
Proovide sagedus
Bitide arv
Bitikiirus
Krüpteerimise tugi
Dekodeerimise tugi

aptX HD
16, 32, 44.1, 48 kHz
24 bitti
192 / 384 / 529 / 576 kbit/s (sõltuvalt proovivõtmisest)
Android 8+*
Mõned heliseadmed (riistvaraliselt)

* Versioonid enne 7 nõuavad Bluetoothi raamistikku muutmist. Koodek on toetatud ainult siis, kui Androidi seadme tootja on litsentseerinud koodeki kasutamise Qualcommilt (kui operatsioonisüsteemis on kodeerimise teegid).

Harvem kasutatav kui aptX: näib, et see vajab Qualcommilt eraldi litsentsimist ja eraldi litsentsitasusid.

Korrata näidet 12.4 kHz siinuslainest:
Bluetoothi ​​ kaudu audio: üksikasjalik teave profiilide, koodekite ja seadmete kohta

Oluliselt parem kui aptX, kuid siiski müra on olemas.

aptX Low Latency

Qualcommi koodek, millel pole mingit seost standardsete aptX ja aptX HD-ga, vaadates väheseid teateid selle arendajate käest. On ette nähtud interaktiivseks heliedastuseks madala latentsusega (filmid, mängud), kus heli viivitus ei saa olema programmikohane. Tuntud tarkvaralised kooderite ja dekooderite versioonid puuduvad, toetatakse ainult saatjate, vastuvõtjate, kõrvaklappide ja kõlarite kaudu, kuid mitte nutitelefonide ja arvutite kaudu.

Proovide sagedus
Bitikiirus
Krüpteerimise tugi
Dekodeerimise tugi

44.1 kHz
276/420 kbit/s
Mõneded edastajad (riistvara)
Mõned heliseadmed (riistvaraliselt)

AAC

AAC, ehk Advanced Audio Coding, on arvutuslikult keeruline koodek, millel on tõsine psühhoakustiline mudel. See on levinud interneti heli jaoks, olles MP3 järel populaarsuselt teine. Nõuab litsentseerimist ja litsentsitasude maksmist: $15000 ühekordne (või $1000 vähem kui 15 töötajaga ettevõtete jaoks) + $0,98 esimestelt 500000 seadmelt (allikas).
Koodek on standardiseeritud MPEG-2 ja MPEG-4 spetsifikatsioonide raames ja, vastupidiselt levinud eksiarvamusele, ei kuulu Apple'ile.

Proovide sagedus
Bitikiirus
Krüpteerimise tugi
Dekodeerimise tugi

8 — 96 kHz
8 — 576 kbit/s (stereo jaoks), 256 — 320 kbit/s (tüüpiline Bluetoothile)
macOS, Android 7+*, iOS
Suure hulga heliseadmestikku (riistvara põhine)

* ainult seadmetes, mille tootjad on tasunud litsentsitasud

iOS-is ja macOS-is kasutatakse parimat tänapäeval koodi Apple AAC, mis tagab maksimaalse kvaliteedi. Androidis kasutatakse teise kvaliteeditaseme koodekit Fraunhofer FDK AAC, kuid võib kasutada ka erinevaid seadme sisse ehitatud koodekeid (SoC), mille kodeerimise kvaliteet on teadmata. Hiljutiste testide põhjal SoundGuys'i saidilt, AAC kodeerimise kvaliteet erinevate Android-telefonide vahel erineb oluliselt:
Bluetoothi ​​ kaudu audio: üksikasjalik teave profiilide, koodekite ja seadmete kohta

Enamikul juhtmevabadest heliseadmetest on AAC maksimaalne bitikiirus 320 kbit/s, mõned toetavad vaid 256 kbit/s. Ülejäänud bitikiirus on äärmiselt harv.
AAC tagab suurepärase kvaliteedi bitikiirusel 320 ja 256 kbit/s, kuid on vastuvõtlik juba kompresseeritud sisu järjestikuse kodeerimise kadudele, kuigi iOS-il on keeruline kuulda mingeid erinevusi originaalist bitikiirusel 256 kbit/s isegi mitme järjestikuse kodeerimise korral; ühe kodeerimise, näiteks MP3 320 kbit/s AAC 256 kbit/s, kaotusi on võimalik ignoreerida.
Nagu ka teiste Bluetooth-kodekite puhul, dekodeeritakse iga muusika esmalt, seejärel kodeeritakse see kodeki abil. Kui kuulatakse AAC-formaadis muusikat, dekodeeritakse see esmalt operatsioonisüsteemi vahenditega ja seejärel kodeeritakse Bluetoothi kaudu edastamiseks veel kord AAC-s. See on vajalik mitme helivoogude, näiteks muusika ja uue teate teavitamise, segamiseks. iOS ei ole erand. Internetis on palju väiteid, et iOS-is ei transkodeerita AAC formaadis muusikat Bluetoothi kaudu edastamisel, mis ei ole tõsi.

MP1/2/3

MPEG-1/2 Part 3 koodekid sisaldavad tuntud ja laialdaselt kasutatavat MP3, vähem levinud MP2 (mis on peamiselt kasutusel digitaalses televisioonis ja raadiotes) ning täiesti tundmatut MP1.

Vanad MP1 ja MP2 koodekid ei ole enam üldse toetatud: mul ei õnnestunud leida ühtegi kuuldez või ühtki Bluetooth-steki, mis neid kodeeriks või dekodeeriks.
MP3 dekodeerimist toetavad mõned kõrvaklapid, kuid kodeerimist ei toeta ükski kaasaegsete operatsioonisüsteemide stek. Tundub, et kolmanda osapoole BlueSoleil stek Windowsile võib MP3-sse kodeerida, kui konfiguratsioonifaili käsitsi muuta, kuid selle installimine põhjustab BSoD Windows 10-s. Järeldus — koodekihävitamine ei ole Bluetooth-audio jaoks tegelikult kasutatav.
Varem, aastatel 2006-2008, enne A2DP standardi levikut seadmetes, kuulasid inimesed MP3-muusikat Nokia BH-501 kõrvaklappides, kasutades programmi MSI BluePlayer, mis oli saadaval Symbiani ja Windows Mobile'i jaoks. Sel ajal võimaldas nutitelefonide operatsioonisüsteemi arhitektuur pääseda paljudele madalama taseme funktsioonidele, ja Windows Mobile'il oli üldiselt võimalik installida kolmanda osapoole Bluetooth-stecke.

MP3 koodek aasta 23. aprillil 2017 kehtivuse kaotanud patent, koodeki kasutamine ei nõua litsentsitasusid.

Kui arvestada, et kõige kauem kestnud patent, mis nimetatud viidetes mainitud, võtti mõõdupuuna, siis MP3 tehnoloogia muutus Ameerika Ühendriikides patendivabaks 16. aprillil 2017, kui kehtivuse kaotas Ameerika patent 6,009,399, mille omanikuks ja haldajaks oli Technicolor.

Allikas: www.iis.fraunhofer.de/en/ff/amm/prod/audiocodec/audiocodecs/mp3.html

Proovide sagedus
Bitikiirus
Krüpteerimise tugi
Dekodeerimise tugi

16 — 48 kHz
8 — 320 kbit/s
Ei toeta mitte kuskil
Mõned heliseadmed (riistvaraliselt)

LDAC

Sony uus ja aktiivselt edendatav „Hi-Res“ koodek, mis toetab diskreetimissagedusi kuni 96 kHz ja 24-bitist sügavust, bitikiirus kuni 990 kbit/s. Reklaamitakse audiophilia koodekina, nagu olemasolevate Bluetooth koodekite asendaja. Omab bitikiirusereguleerimise funktsiooni, sõltuvalt raadiosaate tingimustest.

LDAC enkooder (libldac) kuulub Androidi standardsesse varustusse, seega toetatakse kodeerimist igasuguste Android nutitelefonides alates 8. versioonist. Tarkvaralisi dekoodereid pole vabalt saadaval, koodeki spetsifikatsioon pole laiemale publikule kergesti juurdepääsetav, kuid esimese pilgu pealt enkooderile tundub, et koodeki sisemine struktuur on sarnane ATRAC9 — Sony loodud koodek, mida kasutatakse PlayStation 4 ja Vita platvormidel: mõlemad töötavad sagedusvahemikus, kasutades muudetud eraldusvõimet koosiinuse transformatsiooni (MDCT) ja Hufmanni algoritmi põhjal kompresseerimist.

LDAC-tugi on peaaegu mitte kelleltki muult kui Sony kõrvaklappidelt. LDAC'i dekodeerimise võimalus esineb harva ka teiste tootjate kõrvaklappides ja DAC-ides.

Proovide sagedus
Bitikiirus
Krüpteerimise tugi
Dekodeerimise tugi

44.1 — 96 kHz
303/606/909 kbps (44.1 ja 88.2 kHz puhul), 330/660/990 kbps (48 ja 96 kHz puhul)
Android 8+
Mõned Sony kõrvaklapid ja üksikud seadmed teistelt tootjatelt (riistvara poolest)

LDAC'i turundamine Hi-Res koodekina kahjustab selle tehnilisi omadusi: on rumal kulutada bitikiirus üle kuulmise piiri jäävatele sagedustele ja suurendatud resolutsioonile, kui CD-kvaliteedi (44.1/16) edastamiseks ei ole veel piisavalt. Õnneks on koodekil kaks töörežiimi: CD-audio edastamine ja Hi-Res audio edastamine. Esimeses juhul edastatakse õhus ainult 44.1 kHz/16 bit.

Kuna LDAC-i tarkvaradekooderit pole vabalt saadaval, on võimatu testida koodekit ilma LDAC-i dekodeerivate lisaseadmeteta. Testide tulemuste põhjal, mille tegi SoundGuys.comi insener pärast DAC-iga seadme digitaalset ühendust, registreerides saadud heli testsignaalidega, tagab LDAC 660 ja 990 kbit/s CD-kvaliteedi režiimis signaali/kohina suhte, mis on veidi parem kui aptX HD-l.

Bluetoothi ​​ kaudu audio: üksikasjalik teave profiilide, koodekite ja seadmete kohta
Allikas: www.soundguys.com/ldac-ultimate-bluetooth-guide-20026

LDAC toetab ka dünaamilist bitikiirusetust väljaspool kehtestatud profiile — 138 kbit/s kuni 990 kbit/s, kuid nagu ma aru saan, kasutatakse Androidis ainult standarditud profiile 303/606/909 ja 330/660/990 kbit/s.

Muud koodekid

Teised A2DP-koodekid pole laialdaselt levinud. Nende tugi on kas praktiliselt täielikult puudulik või on see saadaval vaid teatud mudelites peasibulades ja nutitelefonides.
A2DP standardiseeritud ATRAC koodekit pole kunagi kasutatud Bluetooth koodekina isegi Sony enda poolt. Samsung HD, Samsung Scalable ja Samsung UHQ-BT koodekid omavad väga piiratud tuge saatvate ja vastuvõtvate seadmete poolt, samas kui HWA LHDC on liiga uus ning seda toetavad vaid kolm (?) seadet.

Koodekite tugi heliseadmetes

Kaugel kõigist tootjatest on täpset teavet koodekite kohta, mida toetavad erinevad traadita kõrvaklapid, kõlarid, vastuvõtjad või edastajad. Mõnikord on nii, et teatud koodeki tugi on olemas ainult edastamisel, mitte vastuvõtmisel (kehtib kombineeritud edastajate-vastuvõtjate kohta), kuigi tootja räägib lihtsalt «toetamisest» ilma erisoovideta (kahtlustan, et see tuleneb teatud koodekite encoderite ja decoderite eraldi litsentseerimisest). Kõige odavamates seadmetes ei pruugi üldse leida välja kuulutatud aptX toe olemasolu.

Kahjuks ei kuvata enamikus operatsioonisüsteemides kasutatavat koodekit. Teave selle kohta on saadaval ainult Androidis alates 8. versioonist ja macOSis. Kuid isegi nendes operatsioonisüsteemides kuvatakse ainult need koodekid, mida toetavad nii telefon/ arvuti kui ka kõrvaklapid.

Kuidas teada saada, milliseid koodekeid seade toetab? Salvestage ja analüüsige A2DP kokkuleppe parameetritega liikluse dump!
Seda on võimalik teha Linuxis, macOSis ja Androidis. Linuxis saate kasutada Wireshark'i või hcidump'i, macOSis - Bluetooth Explorer'i, ja Androidis - Bluetooth HCI dumpimise salvestamise süsteemifunktsiooni, mis on saadaval arendajate tööriistades. Saate dump'i btsnoop formaadis, mille saate laadida Wireshark'i analüsaatorisse.
Pange tähele: korrektne dumpi saab saada ainult, kui ühendate telefoni/arvuti kõrvaklappide/kõlariga (kuigi see võib tunduda veidra!). Kõrvaklapid võivad iseseisvalt luua ühenduse telefoniga, mille korral küsivad nad koodekite loetelu telefonilt, mitte vastupidi. Et tagada korrektse dumpi salvestamine, katkestage esmalt ühendus seadmega ja seejärel, dumpi salvestamise ajal, paaritage telefon kõrvaklapiga.

Kasutage järgmisi esitusfiltreid, et filtreerida ära ebaoluline liiklus:

btavdtp.signal_id

Tulemusena peaksite nägema midagi sarnast:
Bluetoothi ​​ kaudu audio: üksikasjalik teave profiilide, koodekite ja seadmete kohta

Iga GetCapabilities käsku saab puudutada, et vaadata koodeki üksikasjalikke omadusi.
Bluetoothi ​​ kaudu audio: üksikasjalik teave profiilide, koodekite ja seadmete kohta

Wireshark ei tunne kõiki koodeki identifikaatoreid, seega tuleb osa koodekeid käsitsi dešifreerida, vaadates allolevat identifikaatorite tabelit:

Kohustuslik:
0x00 - SBC

Valikuline:
0x01 - MPEG-1,2 (tunneti ka MP3)
0x02 - MPEG-2,4 (tunneti ka AAC)
0x04 - ATRAC

Tootja spetsiifiline:
0xFF 0x004F 0x01   - aptX
0xFF 0x00D7 0x24   - aptX HD
0xFF 0x000A 0x02   - aptX Madal Latentsus
0xFF 0x00D7 0x02   - aptX Madal Latentsus
0xFF 0x000A 0x01   - FastStream
0xFF 0x012D 0xAA   - LDAC
0xFF 0x0075 0x0102 - Samsung HD
0xFF 0x0075 0x0103 - Samsung Skaleeruv Codec
0xFF 0x053A 0x484C - Savitech LHDC

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

Kuna ma ei soovi analüüsida dump'e käsitsi, tegin teenuse, mis analüüsib kõik automaatselt: btcodecs.valdikss.org.ru

Koodekite võrdlus. Milline koodek on parem?

Igal koodekil on oma eelised ja puudused.
aptX ja aptX HD kasutavad rangelt määratletud profiile, mida ei saa muuta ilma kodeerija ja dekodeerija modifitseerimiseta. Ei telefoni tootja ega kõrvaklappide tootja ei saa muuda bitikiirus ega kodeerimisprotsentide aptX. Kodeki omanik Qualcomm väljastab viidatud kodeerija raamatukoguna. Need faktid on aptX tugevuseks — teate eelnevalt, millise kvaliteediga heli te saate, ilma igasuguste "aga"-deta.

SBC, vastupidiselt, pakub mitmeid kohandatavaid seadeid, dünaamilist bitikiirust (kodeerija võib bitpooli parameetrit vähendada, kui raadioeeter on ülekoormatud) ja ei oma kindlaid profiile, vaid ainult soovitatavad "keskmine kvaliteet" ja "kõrge kvaliteet", mis lisati A2DP spetsifikatsiooni 2003. aastal. "Kõrge kvaliteet" ei ole tänapäeva mõõdikute järgi enam nii kõrge ning enamik Bluetoothi lahi pakette ei luba kasutada paremaid parameetreid kui "kõrge kvaliteet" profiil, kuigi tehnilisi piiranguid selleks ei ole.
Bluetooth SIG-l ei ole referent kodeerijat SBC-na, mis oleks olemas raamatukoguna, ning tootjad rakendavad seda iseseisvalt.
Need on SBC nõrkused — kunagi pole ette teada, millist helikvaliteeti konkreetselt seadmest oodata. SBC suudab pakkuda nii madalat kui ka väga kõrget helikvaliteeti, kuid viimane ei ole saavutatav ilma Bluetoothi lahi piirangute väljalülitamiseta või möödaminekuga.

AAC olukord on keeruline: ühel poolt peaks kodek teoreetiliselt andma kvaliteedi, mis ei erine originaalist, kuid praktika, tuginedes SoundGuys'i testidele erinevates Android-seadmetes, ei toeta seda. Suure tõenäosusega on süüdi madala kvaliteediga riistvaralised audio kodeerijad, mis on integreeritud erinevatesse telefonide kiibistitesse. AAC kasutamine on mõttekas ainult Apple'i seadmetes, Androidi puhul piirduda aptX ja LDAC-iga.

Alternatiivsete koodekite toetavad seadmed on tavaliselt kvaliteetsemad, kuna odavate ja madala kvaliteediga seadmete kasutamine ei õigusta litsentsitasude maksmist nende koodekite jaoks. Minu testide kohaselt kõlab SBC kvaliteetsetel seadmetel väga hästi.

Olen loonud veebiteenuse, mis kodeerib heli SBC, aptX ja aptX HD reaalajas otse brauseris. Selle abil saate testida neid helikoodekeid ilma Bluetooth kaudu heli edastamata, kasutades mingeid juhtmeid, kõrvaklappe ja kõlareid ning oma lemmikmuusikat, samuti saate muutuvaid kodeerimisparameetreid muuta otse helipleieri ajal:
btcodecs.valdikss.org.ru/sbc-encoder
Teenus kasutab SBC kodeerimise raamatukogusid projektist BlueZ ja libopenaptx'ist ffmpeg, mis on kompileeritud WebAssembly's ja JavaScriptis C-st, läbi emscripteni, et toimida brauseris. Kes oleks sellist tulevikku osanud unistada!

Nii see välja näeb:

Pange tähele, kuidas kaja tase muutub üle 20 kHz erinevate codec'ide puhul. Originaalses MP3-failis on sagedused üle 20 kHz puuduvad.

Proovige lülitada erinevaid codec'e ja hindake, kas kuulete erinevust originaali, SBC 53 Joint Stereo (standardne ja kõige levinum profiil) ning aptX/aptX HD vahel.

Ma kuulen codec'ide vahel erinevust kõrvaklappides!

Inimesed, kes ei kuule erinevust codec'ide vahel veebiteenuse testimise ajal, kinnitavad, et nad kuulevad seda muusika kuulamisel traadita kõrvaklappides. Kahjuks ei ole see нali ega platseebo efekt: erinevus on tõesti kuulda, kuid see ei tulene eristustest. koode.

Enamus Bluetooth audio kiipide puhul, mida kasutatakse vastuvõtvates traadita seadmetes, on varustatud digitaalse signaaliprotsessoriga (Digital Signal Processor, DSP), mis rakendab ekvalaiserit, kompressorit, steroolaienemist ja muid funktsioone, mis on mõeldud heli parandamiseks (või muutmiseks). Bluetooth seadmete tootjad saavad DSP-d kohandada iga koodeki jaoks eraldi, ja koodekite vahel vahetades näib kuulajale, et ta kuuleb koodekite erinevusi, kuigi tegelikult kuuleb ta erinevaid DSP seadeid.

Bluetoothi ​​ kaudu audio: üksikasjalik teave profiilide, koodekite ja seadmete kohta
CSR/Qualcomm tootmises olevate DSP Kalimba helitöötlustoru

Bluetoothi ​​ kaudu audio: üksikasjalik teave profiilide, koodekite ja seadmete kohta
Erinevate DSP funktsioonide aktiveerimine iga koodeki ja väljundi jaoks eraldi

Mõned kõrgema klassi seadmed on varustatud tarkvaraga, mis võimaldab DSP sätteid kohandada, kuid suurem osa odavamatest peakomplektidest ei paku sellist võimalust ja kasutajad ei saa helitöötlust välja lülitada.

Seadmete funktsionaalsed omadused

Kaasaegsel A2DP standardil on funktsioon «absoluutne helitugevuse reguleerimine» — seadme helitugevuse juhtimine AVRCP protokolliga, mis reguleerib väljundkaskaadi võimendust, mitte helivoogude helitugevuse tarkvaralist vähendamist. Kui kõrvaklappide helitugevuse muutmisel ei sünkroniseeru see telefoniga, tähendab see, et teie kõrvaklapid või telefon ei toeta seda funktsiooni. Sel juhul on mõistlik alati kuulata muusikat telefoni maksimaalse helitugevusega, reguleerides tegelikku helitugevust kõrvaklappide nuppudega — sel juhul on signaali ja müra suhe parem ning helikvaliteet. peab olema kõrgem.
Kuid tegelikkuses juhtub masendavaid olukordi. Minu RealForce OverDrive D1 kõrvaklappides, kus SBC peal on tugev kompander, toob helitugevuse tõstmine kaasa vaiksete helide taseme tõusu, samas kui valgete helide helitugevus ei muutu (signaali kokkusurumine toimub). Seetõttu pean arvuti helitugevuse seadma umbes poole peale; sel juhul on kokkusurumise efekt praktiliselt puuduv.
Minu tähelepanekute põhjal toetavad kõik lisakoodikutega kõrvaklapid absoluutse helitugevuse reguleerimise funktsiooni, mis tundub olevat üks koodikute sertifitseerimise nõudeid.

Mõned kõrvaklapid toetavad kahe seadme samal ajal ühendamist. See võimaldab näiteks kuulata muusikat arvutist ja vastu võtta kõnesid telefonist. Tuleb siiski teada, et selles režiimis lülituvad välja alternatiivsed koodikud ning kasutatakse ainult SBC-d.

AVDTP 1.3 viivitusraporti funktsioon võimaldab kõrvaklappidel edastada edastavale seadmele viivituse, millega heli tegelikult esitamiseks tuleb. See võimaldab kohandada audio sünkroniseerimist video vaatamise ajal: raadioedastuse probleemide korral ei jää heli videost maha, vaid video lükatakse videopleieri poolt tagasi, kuni heli ja video taas sünkroniseeritakse.
Funktsiooni toetavad paljud kõrvaklapid, Android 9+ ja Linux koos PulseAudio 12.0+ versiooniga. Teiste platvormide kohta funktsiooni toetamise osas mul teavet ei ole.

Kahe suuna side Bluetoothi kaudu. Hääle edastamine.

Bluetoothi kõne edastamiseks kasutatakse Sünkroonset Ühenduse Orienteeritud (SCO) — sünkroonset edastust eelneva ühenduse kokkuleppega. Režiim võimaldab edastada heli ja kõnet rangelt järjestuses, samasuguse edastamise ja vastuvõtu kiirusena, ilma edastamise kinnituse ootamata ja pakettide uuesti saatmiseta. See vähendab audio edastamise üldist viivitust raadioteel, kuid seab tõsiseid piiranguid edastatava andmete mahule ajaühikus ning mõjutab negatiivselt kvaliteeti.
Kui seda režiimi kasutatakse, edastatakse nii kõne kui ka heli sama kvaliteediga.
Kahjuks on 2019. aastast alates Bluetoothi kaudu kõne edastamise kvaliteet endiselt madal ning ei ole selge, miks Bluetooth SIG sellega midagi ei tee.

CVSD

Põhikõne kodeerimistehnoloogia CVSD standardiseeriti 2002. aastal ning seda toetavad kõik kahepoolsed Bluetooth-seadmed. See tagab audio edastamise 8 kHz sageduse juures, mis vastab tavalise juhtmega telefoniteenuse kvaliteedile.

Näidis selle kodeerimistehnoloogia salvestisest.

mSBC

mSBC koodek standardiseeriti 2009. aastal ning 2010. aastal ilmusid juba kiibid, mis kasutasid seda hääle edastamiseks. mSBC-d toetavad laialdaselt erinevad seadmed.
See ei ole iseseisev koodek, vaid tavaline SBC A2DP standardist, millel on fikseeritud kodeerimisprofiil: 16 kHz, mono, bitpool 26.

Näidis selle kodeerimistehnoloogia salvestisest.

Ei midagi erakordset, kuid tunduvalt parem kui CVSD, siiski ei ole seda Interneti kaudu suhtlemiseks meeldiv kasutada, eriti siis, kui kasutate mängimise ajal kõrvaklappe — mängu heli edastatakse samuti 16 kHz sagedusala.

FastStreamEttevõte CSR otsustas arendada SBC taaskasutamise ideed. SCO protokolli piirangute ületamiseks ja kõrgemate bittide edastamiseks otsustas CSR minna teistsugust teed — nad integreerisid kahepoolse SBC audio toe ühepoolse audio edastamise standardisse A2DP, standardiseerisid kodeerimisprofiilid ja nimetasid selle „FastStreamiks“.

FastStream edastab stereohäält 44.1 või 48 kHz sagedusel bitikiirusel 212 kbit/s, mikrofoni kaudu edastatava heli puhul kasutatakse mono 16 kHz sagedust ja bitikiirust 72 kbit/s (veidi parem kui mSBC). Need parameetrid sobivad palju paremini suhtlemiseks veebimängudes — mängu ja kaaslaste heli on kvaliteetne.

Näidis selle kodeerimistehnoloogia salvestisest (+ heli mikrofoni kaudu, sama mis mSBC).

Ettevõte mõtles välja huvitava lahenduse, kuid kuna see on vastuolus A2DP standardiga, on selle tugi saadaval ainult mõnedes ettevõtte edastites (mis töötavad nagu USB helikaart, mitte Bluetooth seade), kuid Bluetoothi ​​virnas ei ole sellel toetust, kuigi FastStreamiga ühilduvate kõrvaklappide arv ei ole sugugi väike.

Praegu on FastStreami tugi OS-is saadaval ainult Linuxi PulseAudio plaastrina arendaja Pali Rohári poolt, kes ei ole programmi põhivarusse lisatud.

aptX Low Latency

Suureks üllatuseks toetab aptX Low Latency samuti kahepoolselt heli, rakendades sama põhimõtet nagu FastStream.
Seda koodeki omadust ei ole kuskil võimalik kasutada — Low Latency dekodeerimise tugi puudub igas operatsioonisüsteemis ja ükski minu teadaolev Bluetoothi ​​virna ei toeta seda.

Bluetooth 5, Classic ja Low Energy

Bluetoothi spetsifikatsioonide ja versioonide ümber on tekkinud palju segadust, kuna ühel brändil on kaks ühilduvat standardit, mida mõlemat kasutatakse laialdaselt erinevatel eesmärkidel.

On olemas kaks erinevat, omavahel ühilduvat Bluetoothi protokolli: Bluetooth Classic ja Bluetooth Low Energy (LE, tuntud ka kui Bluetooth Smart). On ka kolmas protokoll, Bluetooth High Speed, kuid seda ei kasutata kodustes seadmetes ning see ei ole levinud.

Alates Bluetooth 4.0, on muudatused spetsifikatsioonis peamiselt puudutanud Bluetooth Low Energy, samas kui Classic-versioon on saanud vaid väheseid täiustusi.

Muudatuste loetelu Bluetooth 4.2 ja Bluetooth 5 vahel:

9 MUUDATUST v4.2-lt 5.0-le

9.1 UUSI FUNKTSIOONE

Bluetoothi põhispetsifikatsioonis 5.0 on esitatud mitmeid uusi funktsioone. Suurimad parendused on:
• Slot Availability Mask (SAM)
• 2 Msym/s PHY LE jaoks
• LE pikk vahemaa
• Kõrge töötsükkel mitteühendatavate reklaamide jaoks
• LE reklaamimise pikendused
• LE kanali valiku algoritm #2
9.1.1 Funktsioonid, mis on lisatud CSA5 — integreeritud v5.0-sse
• Suurem väljundvõimsus

Allikas: www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=421043 (lehekülg 291)

Ainult üks muudatus puudutas Classic-versiooni Bluetooth 5 spetsifikatsiooni raames: lisati toetamine Slot Availability Mask (SAM) tehnoloogiale, et parandada raadiosageduse jagamist. Kõik muud muudatused puudutavad ainult Bluetooth LE-d (sealhulgas Higher Output Power).

Kõik Audio seadmed kasutavad vaid Bluetooth Classic'i. Kõrvaklappe ja kõlareid ei saa ühendada Bluetooth Low Energy kaudu: ei ole olemas standardit audio edastamiseks LE abil. A2DP standard, mida kasutatakse kvaliteetse audio edastamiseks, töötab ainult läbi Bluetooth Classic'i, ja analooge LE-le ei ole.

Kokkuvõttes — on mõttetu osta Bluetooth 5 toestusega audio seadmeid ainult uue protokolli tõttu. Bluetooth 4.0/4.1/4.2 töötab audio edastamisel täpselt samamoodi.
Kui uus kõrvaklappide mudel reklaamib kahekordset töösfääri ja madalamat energiatarvet Bluetooth 5 tõttu, siis teadke — nad kas ise ei tea, millest räägivad, või viivad teid petta. Ei ole ka ime, et isegi Bluetooth-kiipide tootjad segavad oma teadetes uue standaardi erinevusi, ja mõned Bluetooth 5 kiibid toetavad viiendat versiooni ainult LE-le, Classic'i jaoks kasutatakse 4.2.

Audio edastamise viivitus

Audio viivituse (puhverdamise) suurus sõltub paljuski paljusid teguritest: audio stack'i puhvri suurusest, Bluetooth stack'ist ja ise toodangu seadme algoritmilisest viivitusest.

Lihtsad koodekid, nagu SBC, aptX ja aptX HD, omavad väga väikest viivitust, mis on 3-6 ms, ja selle võib tähelepanuta jätta. Kuid keeruliste koodekite, nagu AAC ja LDAC, puhul võib viivitus olla märgatav. AAC algoritmiline viivitus 44,1 kHz puhul on 60 ms. LDAC on umbes 30 ms (põhinedes toore koodianalüüsi tulemustele. Võin eksida, kuid mitte palju.)

Lõplik viivitus sõltub tugevalt mängimise seadmest, selle kiibist ja puhvrist. Testide ajal registreerisin erinevaid seadmeid kasutades (SBC koodeki puhul) vahemiku 150 kuni 250 ms. Kui eeldada, et seadmed, mis toetavad lisakoodekeid aptX, AAC ja LDAC, kasutavad kvaliteetseid komponente ja väikese suurusega puhvreid, siis saame järgmised tüüpilised viivitused:

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

Tuletan meelde: aptX Low Latency toetust ei ole operatsioonisüsteemides, mistõttu saab madalamat viivitust saavutada ainult saatja+vastuvõtja või saatja+kõrvaklapid/kõlarite kombinatsiooniga, kusjuures kõik seadmed peavad toetama seda koodekit.

Seadmete, sertifitseerimise ja Bluetoothi logo probleemid

Kuidas eristada kvaliteetset heliseadet odavast kopeerimisest? Esiteks, välimuse põhjal!

Odavate Hiina kõrvaklappide, kõlarite ja vastuvõtjate kohta:

  1. Pakendil ja seadmel puudub sõna «Bluetooth», sageli kasutatakse «Wireless» ja «BT»
  2. Bluetoothi logo puudub Bluetoothi ​​ kaudu audio: üksikasjalik teave profiilide, koodekite ja seadmete kohta pakendil või seadmel
  3. Puudub sinine vilkuv LED

Nende elementide puudumine näitab, et seade ei ole läbinud sertifitseerimist, mis tähendab, et see võib olla potentsiaalselt madala kvaliteediga ja probleemne. Näiteks Bluedio kõrvaklapid ei ole Bluetoothi sertifitseeritud ja ei vasta täielikult A2DP spetsifikatsioonile. Nad ei oleks sertifitseerimist läbinud.

Vaadakem mõned seadmed ja nende pakendid:
Bluetoothi ​​ kaudu audio: üksikasjalik teave profiilide, koodekite ja seadmete kohta

Bluetoothi ​​ kaudu audio: üksikasjalik teave profiilide, koodekite ja seadmete kohta

Bluetoothi ​​ kaudu audio: üksikasjalik teave profiilide, koodekite ja seadmete kohta

Need kõik on sertifitseerimata seadmed. Juhendis võib olla logo ja Bluetoothi tehnoloogia nimi, kuid kõige olulisem on, et need oleksid pakendil ja/või seadmel.

Kui teie kõrvaklapid või kõlar ütlevad «Ze bluetooth dewise is connecteda successfulle», ei räägi see samuti nende kvaliteedist:

Vaata videot

Kokkuvõte

Kas Bluetooth suudab täielikult asendada juhtmeid kasutavad kõrvaklappe ja peakomplekte? Jah, kuid selle hind on madalam helikvaliteet kõneregistris, suurenenud heli edastamise viivitus, mis võib mängudes häirida, ja hulk patenteeritud koodeke, mis vajavad litsentsitasusid ja tõstavad seega nii nutitelefonide kui ka kõrvaklappide lõpphinda.

Alternatiivsete koodekite turundus on väga tugev: aptX ja LDAC esitatakse kauaoodatud asendajatena 'vananenud ja halvale' SBC-le, mis sugugi pole nii halb, nagu sageli arvatakse.

Kuidas selgus, saab Bluetoothi ​​kihi kunstlikke piiranguid SBC bitikiirusel vältida, nii et SBC ei jää aptX HD-le alla. Võtsin initsiatiivi enda kätte ja tegin LineageOS-i jaoks püsivara plaastri: Muudame Bluetoothi-süsteemi, et parandada heli kõrvaklappides ilma AAC, aptX ja LDAC kodekite kasutamiseta.

Lisainfot leiate veebisaitidelt SoundGuys ja SoundExpert.

Boonus: viidatud SBC kodeerija, A2DP bitivoo teave ja testifailid. See fail oli varem avalikult saadaval Bluetoothi ​​veebisaidil, kuid nüüd on see saadaval ainult Bluetooth SIG-i liikmetele.

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster