Heli Bluetoothi ​​kaudu: maksimaalne teave profiilide, koodekite ja seadmete kohta

Heli Bluetoothi ​​kaudu: maksimaalne teave profiilide, koodekite ja seadmete kohta

Seoses 3.5 mm helipistikuta nutitelefonide masstootmisega on juhtmevabad Bluetooth-kõrvaklapid saanud paljude jaoks peamiseks võimaluseks peakomplektirežiimis muusikat kuulata ja suhelda.
Juhtmevabade seadmete tootjad ei kirjuta alati üksikasjalikke tootespetsifikatsioone ning Bluetoothi ​​heli käsitlevad artiklid Internetis on vastuolulised, mõnikord valed, ei räägi kõigist funktsioonidest ja sageli kopeerivad sama teavet, mis ei vasta tegelikkusele.
Proovime mõista protokolli, Bluetooth OS-i virnade, kõrvaklappide ja kõlarite, muusika ja kõne Bluetoothi ​​koodekite võimalusi, teada saada, mis mõjutab edastatava heli kvaliteeti ja latentsust, õppida, kuidas koguda ja dekodeerida teavet toetatud koodekite ja muude seadmete kohta võimeid.

TL; DR:

  • SBC - tavaline koodek
  • Kõrvaklappidel on oma ekvalaiser ja järeltöötlus iga kodeki jaoks eraldi
  • aptX pole nii hea, kui reklaamitakse
  • LDAC on turunduslik jama
  • Kõne kvaliteet on endiselt halb
  • Saate C-helikoodereid oma brauserisse manustada, kompileerides need emscripteni kaudu WebAssemblysse, ja need ei aeglustu palju.

Muusika Bluetoothi ​​kaudu

Bluetoothi ​​funktsionaalse komponendi määravad profiilid - konkreetsete funktsioonide spetsifikatsioonid. Bluetoothi ​​muusika voogesitus kasutab kvaliteetset A2DP ühesuunalist heliedastusprofiili. A2DP standard võeti vastu 2003. aastal ja pole sellest ajast peale oluliselt muutunud.
Profiili sees on standardiseeritud 1 spetsiaalselt Bluetoothi ​​jaoks loodud madala arvutusliku keerukusega SBC kohustuslik koodek ja 3 täiendavat. Samuti on võimalik kasutada enda juurutatud dokumenteerimata koodekeid.

Juuni 2019 seisuga oleme xkcd koomiksis 14 A2DP kodekiga:

  • SBC ← standarditud A2DP-s, toetavad kõik seadmed
  • MPEG-1/2 Layer 1/2/3 ← standarditud A2DP-s: hästi teada MP3, mida kasutatakse digitelevisioonis MP2, ja teadmata MP1
  • MPEG-2/4 AAC ← standarditud A2DP-s
  • ATTRAC ← Sony vana kodek, standardiseeritud A2DP-ga
  • LDAC ← Sony uus koodek
  • aptX ← kodek aastast 1988
  • aptX-HD ← sama mis aptX, ainult erinevate kodeerimisvalikutega
  • aptX madal latentsus ← täiesti erinev koodek, tarkvara juurutamine puudub
  • aptX adaptiivne ← Qualcommi teine ​​koodek
  • FastStream ← pseudokoodek, kahesuunaline SBC modifikatsioon
  • HWA LHDC ← Huawei uus koodek
  • Samsung HD ← toetab 2 seadet
  • Samsung skaleeritav ← toetab 2 seadet
  • Samsung UHQ-BT ← toetab 3 seadet

Miks meil koodekeid üldse vaja on, küsite, kui Bluetoothil on EDR, mis võimaldab edastada andmeid kiirusega 2 ja 3 Mbit/s ning tihendamata kahe kanaliga 16-bitise PCM jaoks piisab 1.4 Mbit/s?

Andmeedastus Bluetoothi ​​kaudu

Bluetoothis on kahte tüüpi andmeedastust: asünkroonne ühendus vähem (ACL) asünkroonseks edastamiseks ilma ühenduse loomiseta ja sünkroonsele ühendusele orienteeritud (SCO) sünkroonseks edastamiseks koos eelneva ühenduse läbirääkimisega.
Edastamine toimub ajajaotusskeemi abil ja valides iga paketi jaoks eraldi edastuskanali (Frequency-Hop/Time-Division-Duplex, FH/TDD), mille jaoks aeg jagatakse 625-mikrosekundilisteks intervallideks, mida nimetatakse slotideks. Üks seadmetest edastab paaris, teine ​​paaritu numbriga pesades. Edastatud pakett võib hõivata 1, 3 või 5 pilu, olenevalt andmete suurusest ja seatud edastuse tüübist, sel juhul toimub edastamine ühe seadmega paaris- ja paaritutes piludes kuni edastuse lõpuni. Kokku saab sekundis vastu võtta ja saata kuni 1600 paketti, kui igaüks neist võtab enda alla 1 pesa ning mõlemad seadmed edastavad ja võtavad midagi peatumata vastu.

2 ja 3 Mbit/s EDR-i jaoks, mis leiate teadaannetest ja Bluetoothi ​​veebisaidilt, on kõigi andmete maksimaalne kanali edastuskiirus kokku (sh kõigi protokollide tehnilised päised, millesse andmed tuleb kapseldada), kahes suunas samaaegselt. Tegelik andmeedastuskiirus on väga erinev.

Muusika edastamiseks kasutatakse asünkroonset meetodit, kasutades peaaegu alati selliseid pakette nagu 2-DH5 ja 3-DH5, mis kannavad EDR-režiimis maksimaalselt andmemahtu vastavalt 2 Mbit/s ja 3 Mbit/s ning võtavad 5 aega. - teenindusaegade jagamine.

Edastamise skemaatiline esitus, kasutades 5 pesa ühel seadmel ja 1 pesa teisel (DH5/DH1):
Heli Bluetoothi ​​kaudu: maksimaalne teave profiilide, koodekite ja seadmete kohta

Lainete ajajaotuse põhimõttest tulenevalt oleme sunnitud ootama pärast paketi edastamist 625-mikrosekundilise ajapilu, kui teine ​​seade meile midagi ei edasta või edastab väikese paketi, ja rohkem aega, kui teine ​​seade edastab. suurtes pakkides. Kui telefoniga on ühendatud rohkem kui üks seade (näiteks kõrvaklapid, kellad ja fitness-käevõru), jagatakse edastusaeg nende kõigi vahel.

Vajadus kapseldada heli spetsiaalsetesse transpordiprotokollidesse L2CAP ja AVDTP võtab 16 baiti võimalikust maksimaalsest edastatavast helikoormusest.

Pakendi tüüp
Piltide arv
Max baitide arv paketis
Max A2DP kasuliku koormuse baitide arv
Max A2DP kasuliku koormuse bitikiirus

2-DH3
3
367
351
936 kbps

3-DH3
3
552
536
1429 kbps

2-DH5
5
679
663
1414 kbps

3-DH5
5
1021
1005
2143 kbps

1414 ja 1429 kbps ei ole reaalsetes tingimustes, mürarikka 2.4 GHz leviala ja teenindusandmete edastamise vajaduse juures tihendamata heli edastamiseks kindlasti piisavad. EDR 3 Mbit/s on nõudlik nii edastusvõimsuse kui ka eetris leviva müra suhtes, seetõttu pole mugav PCM-edastus isegi 3-DH5 režiimis võimatu, alati esineb lühiajalisi katkestusi ja kõik töötab vaid XNUMX meetri kaugusel. paar meetrit.
Praktikas on isegi 990 kbit/s helivoogu (LDAC 990 kbit/s) raske edastada.

Pöördume tagasi koodekite juurde.

SBC

Kodek on vajalik kõigi A2DP standardit toetavate seadmete jaoks. Parim ja halvim koodek korraga.

Valimi moodustamise määr
Biti sügavus
Bitikiirus
Kodeerimise tugi
Dekodeerimise tugi

16, 32, 44.1, 48 kHz
16 bit
10-1500 kbps
Kõik seadmed
Kõik seadmed

SBC on lihtne ja arvutuslikult kiire koodek, millel on primitiivne psühhoakustiline mudel (rakendatakse ainult vaiksete helide maskeerimist), kasutades adaptiivset impulsskoodi modulatsiooni (APCM).
A2DP spetsifikatsioon soovitab kasutada kahte profiili: keskmine kvaliteet ja kõrge kvaliteet.
Heli Bluetoothi ​​kaudu: maksimaalne teave profiilide, koodekite ja seadmete kohta

Kodekil on palju sätteid, mis võimaldavad juhtida algoritmilist viivitust, diskreetide arvu plokis, bitijaotusalgoritmi, kuid peaaegu kõikjal kasutatakse samu spetsifikatsioonis soovitatud parameetreid: Joint Stereo, 8 sagedusriba, 16 plokki sisse helikaader, helitugevuse bittide jaotusmeetod.
SBC toetab Bitpooli parameetri dünaamilist muutmist, mis mõjutab otseselt bitikiirust. Kui eeter on ummistunud, paketid on kadunud või seadmed asuvad kaugel, võib heliallikas vähendada Bitpooli, kuni side normaliseerub.

Enamik kõrvaklappide tootjaid määras Bitpooli maksimaalseks väärtuseks 53, mis piirab soovitatud profiili kasutamisel bitikiirust 328 kilobitini sekundis.
Isegi kui kõrvaklappide tootja on seadnud Bitpooli maksimaalseks väärtuseks üle 53 (sellised mudelid on leitud näiteks: Beats Solo³, JBL Everest Elite 750NC, Apple AirPods, leidub ka mõnel vastuvõtjal ja auto peakomplektil), siis enamik OS-e ei luba suurenenud bitikiiruse kasutamine Bluetoothi ​​virnade sisemise väärtuse piirangu tõttu.
Lisaks määravad mõned tootjad mõne seadme jaoks Bitpooli maksimaalse väärtuse madalaks. Näiteks Bluedio T puhul on see 39, Samsung Gear IconX puhul 37, mis annab kehva helikvaliteeti.

Bluetoothi ​​virnade arendajate kunstlikud piirangud tekkisid tõenäoliselt mõnede suurte Bitpooli väärtuste või ebatüüpiliste profiilidega seadmete kokkusobimatuse tõttu, isegi kui nad teatasid nende toetamisest, ja ebapiisavast testimisest sertifitseerimise ajal. Bluetoothi ​​virnade autoritel oli lihtsam piirduda soovitatud profiilis kokkuleppimisega, mitte valede seadmete andmebaaside loomisega (kuigi nüüd teevad nad seda muude valesti töötavate funktsioonide puhul).

SBC eraldab dünaamiliselt erineva kaaluga kvantimisbitid sagedusribadele madalast kõrgeni. Kui kogu bitikiirus kasutati madalate ja keskmiste sageduste jaoks, siis kõrged sagedused "lõigatakse ära" (selle asemel on vaikus).

Näide SBC 328 kbps. Ülaosas on originaal, allosas SBC, mis lülitub perioodiliselt lugude vahel. Videofailis sisalduv heli kasutab FLAC-i kadudeta pakkimiskoodekit. FLAC-i kasutamine mp4-konteineris ei ole ametlikult standardiseeritud, seega pole garanteeritud, et teie brauser seda esitab, kuid see peaks töötama töölaua Chrome'i ja Firefoxi uusimates versioonides. Kui teil pole heli, saate faili alla laadida ja avada täieõiguslikus videopleieris.
ZZ Top – teravalt riietatud mees

Spektrogramm näitab lülitushetke: SBC lõikab perioodiliselt vaikseid helisid üle 17.5 kHz ega eralda üldse bitte sagedusalale üle 20 kHz. Täielik spektrogramm on saadaval klikkides (1.7 MB).
Heli Bluetoothi ​​kaudu: maksimaalne teave profiilide, koodekite ja seadmete kohta

Ma ei kuule sellel rajal mingit erinevust originaali ja SBC vahel.

Võtame midagi uuemat ja simuleerime heli, mida saadaks Samsung Gear IconX kõrvaklappe kasutades Bitpool 37-ga (üleval - originaalsignaal, all - SBC 239 kbps, heli FLAC-is).
Meeletu eneseleandmine – tunnistaja

Ma kuulen vokaali kõrgetel sagedustel krõbinat, vähem stereoefekti ja ebameeldivat "kolinat".

Kuigi SBC on väga paindlik koodek, saab seda konfigureerida madala latentsusaja jaoks, see pakub suurepärast helikvaliteeti suure bitikiirusega (452+ kbps) ja on enamiku inimeste jaoks üsna hea standardse kõrge kvaliteediga (328 kbps), kuna see A2DP standard ei määra fikseeritud profiile (vaid annab ainult soovitusi), pinu arendajad on seadnud Bitpoolile kunstlikud piirangud, edastatava heli parameetreid kasutajaliideses ei kuvata ning kõrvaklappide tootjad võivad vabalt määrata oma seaded ja mitte kunagi märkige toote tehnilistes spetsifikatsioonides Bitpooli väärtus, koodek sai kuulsaks oma madala helikvaliteedi poolest, kuigi koodeki kui sellise puhul see probleem ei ole.
Bitpooli parameeter mõjutab otseselt bitikiirust ainult ühes profiilis. Sama Bitpool 53 väärtus võib anda nii bitikiiruseks 328 kbps soovitatud High Quality profiiliga kui ka 1212 kbps kahe kanaliga ja 4 sagedusribaga, mistõttu OS-i autorid seavad lisaks Bitpooli piirangutele ka piirangu ja edasi. Bitikiirus. Nagu ma näen, tekkis selline olukord A2DP standardi vea tõttu: oli vaja läbi rääkida bitikiirus, mitte Bitpool.

SBC võimaluste toe tabel erinevates operatsioonisüsteemides:

ОС
Toetatud diskreetimissagedused
Piirang max. Bitpool
Piirang max. Bitikiirus
Tüüpiline bitikiirus
Bitpooli dünaamiline reguleerimine

Windows 10
44.1 кГц
53
512 kbps
328 kbps
✓*

Linux (BlueZ + PulseAudio)
16, 32, 44.1, 48 kHz
64 (sissetulevate ühenduste jaoks), 53 (väljaminevate ühenduste jaoks)
Pole limiiti
328 kbps
✓*

MacOS High Sierra
44.1 кГц
64, vaikimisi 53***
Tundmatu
328 kbps

Android 4.4-9
44.1/48 kHz**
53
328 kbps
328 kbps

Android 4.1-4.3.1
44.1, 48 kHz**
53
229 kbps
229 kbps

Blackberry OS 10
48 кГц
53
Pole limiiti
328 kbps

* Bitpool ainult väheneb, kuid ei suurene automaatselt, kui edastustingimused paranevad. Bitpooli taastamiseks peate taasesituse peatama, ootama paar sekundit ja käivitama heli uuesti.
** Vaikeväärtus sõltub püsivara kompileerimisel määratud pinusätetest. Android 8/8.1 puhul on sagedus olenevalt kompileerimise ajal tehtud seadistustest ainult kas 44.1 kHz või 48 kHz, teistes versioonides toetatakse samaaegselt 44.1 kHz ja 48 kHz.
*** Bitpooli väärtust saab Bluetooth Exploreri programmis suurendada.

aptX ja aptX HD

aptX on lihtne ja arvutuslikult kiire koodek, ilma psühhoakustikata, mis kasutab adaptiivset diferentsiaalimpulsskoodi modulatsiooni (ADPCM). Ilmus umbes 1988 (esitamiskuupäev patent veebruar 1988), kasutati seda enne Bluetoothi ​​peamiselt professionaalsetes juhtmeta heliseadmetes. Praegu kuulub Qualcommile, nõuab litsentsi ja autoritasusid. 2014. aasta seisuga: 6000 $ ühekordne ja ≈ 1 $ seadme kohta, kuni 10000 XNUMX seadmest koosnevate partiide eest (allikas, lk 16).
aptX ja aptX HD on sama koodek, erinevate kodeerimisprofiilidega.

Kodekil on ainult üks parameeter - diskreetimissageduse valimine. Kanalite arvu/režiimi valik on siiski olemas, kuid kõigis mulle teadaolevates seadmetes (70+ tk) on toetatud ainult Stereo.

Kodek
Valimi moodustamise määr
Biti sügavus
Bitikiirus
Kodeerimise tugi
Dekodeerimise tugi

aptX
16, 32, 44.1, 48 kHz
16 bit
128 / 256 / 352 / 384 kbps (olenevalt diskreetimissagedusest)
Windows 10 (lauaarvuti ja mobiil), macOS, Android 4.4+/7*, Blackberry OS 10
Lai valik heliseadmeid (riistvara)

* Kuni 7 versioonid nõuavad Bluetoothi ​​virna muutmist. Kodekit toetatakse ainult siis, kui Android-seadme tootja on kodeki Qualcommilt litsentsinud (kui OS-il on kodeerimisteegid).

aptX jagab heli 4 sagedusribaks ja kvantifitseerib need pidevalt sama arvu bittidega: 8 bitti 0-5.5 kHz jaoks, 4 bitti 5.5-11 kHz jaoks, 2 bitti 11-16.5 kHz jaoks, 2 bitti 16.5-22 kHz jaoks ( diskreetimissageduse arvud 44.1 kHz).

AptX-heli näide (ülaosas - algne signaal, all - aptX, ainult vasakpoolsete kanalite spektrogrammid, heli FLAC-is):

Kõrgused muutusid veidi punasemaks, aga vahet polnud kuulda.

Kvantimisbittide fikseeritud jaotuse tõttu ei saa koodek "bitte nihutada" sagedustele, mis neid kõige rohkem vajavad. Erinevalt SBC-st ei lõika aptX sagedusi, vaid lisab neile kvantimismüra, vähendades heli dünaamilist ulatust.

Ei tasu eeldada, et näiteks 2 bitti riba kohta kasutades kahandab dünaamiline ulatus 12 dB-ni: ADPCM lubab kuni 96 dB dünaamilist ulatust isegi 2 kvantimisbitti kasutades, kuid ainult teatud signaali puhul.
ADPCM salvestab praeguse ja järgmise valimi vahelise arvulise erinevuse, selle asemel, et salvestada absoluutväärtust nagu PCM-is. See võimaldab teil vähendada sama (kadudeta) või peaaegu sama (suhteliselt väikese ümardusveaga) teabe salvestamiseks vajalike bittide arvu nõudeid. Ümardamisvigade vähendamiseks kasutatakse koefitsientide tabeleid.
Kodeki loomisel arvutasid autorid muusikahelifailide komplekti ADPCM-i koefitsiendid. Mida lähemal on helisignaal muusikakomplektile, millele tabelid on ehitatud, seda vähem tekitab aptX kvantimisvigu (müra).

Seetõttu annavad sünteetilised testid alati halvemaid tulemusi kui muusika. Tegin spetsiaalse sünteetilise näite, milles aptX näitab kehva tulemust - siinuslaine sagedusega 12.4 kHz (üleval - algne signaal, all - aptX. Heli FLAC-is. Vähendage helitugevust!):

Spektri graafik:
Heli Bluetoothi ​​kaudu: maksimaalne teave profiilide, koodekite ja seadmete kohta

Helid on selgelt kuuldavad.

Kui aga genereerida siinuslaine väiksema amplituudiga, et see oleks vaiksem, muutub ka müra vaiksemaks, mis näitab laia dünaamilist ulatust:

Heli Bluetoothi ​​kaudu: maksimaalne teave profiilide, koodekite ja seadmete kohta

Et kuulda erinevust algse ja tihendatud muusikapala vahel, saate ühe signaali ümber pöörata ja lugusid kanalite kaupa lisada. See lähenemine on üldiselt vale ega annaks keerulisemate koodekitega mõistlikke tulemusi, kuid konkreetselt ADPCM-i jaoks on see üsna sobiv.
Erinevus originaali ja aptX vahel
Signaalide ruutkeskmine erinevus on -37.4 dB tasemel, mida sellise kokkusurutud muusika puhul pole palju.

aptX-HD

aptX HD ei ole iseseisev koodek – see on aptX-kodeki täiustatud kodeerimisprofiil. Muudatused mõjutasid kodeerimiseks eraldatud bittide arvu: 10-0 kHz jaoks 5.5 bitti, 6-5.5 kHz jaoks 11 bitti, 4-11 kHz jaoks 16.5 bitti, 4-16.5 kHz jaoks 22 bitti (numbrid 44.1 kHz jaoks) .

Kodek
Valimi moodustamise määr
Biti sügavus
Bitikiirus
Kodeerimise tugi
Dekodeerimise tugi

aptX-HD
16, 32, 44.1, 48 kHz
24 bitti
192 / 384 / 529 / 576 kbps (olenevalt diskreetimissagedusest)
Android 8+*
Mõned heliseadmed (riistvara)

* Kuni 7 versioonid nõuavad Bluetoothi ​​virna muutmist. Kodekit toetatakse ainult siis, kui Android-seadme tootja on kodeki Qualcommilt litsentsinud (kui OS-il on kodeerimisteegid).

Vähem levinud kui aptX: ilmselt nõuab Qualcommilt eraldi litsentsimist ja eraldi litsentsitasusid.

Kordame näidet siinuslainega sagedusel 12.4 kHz:
Heli Bluetoothi ​​kaudu: maksimaalne teave profiilide, koodekite ja seadmete kohta

Palju parem kui aptX, kuid siiski natuke lärmakas.

aptX madal latentsus

Qualcommi koodek, millel pole midagi ühist standardsete aptX-i ja aptX HD-ga, otsustades selle arendamisega seotud inimeste piiratud teabe põhjal. Mõeldud interaktiivseks madala latentsusega heliedastuseks (filmid, mängud), kus heli viivitust ei saa tarkvaraliselt reguleerida. Kodeerijate ja dekooderite tarkvararakendusi pole teada; neid toetavad ainult saatjad, vastuvõtjad, kõrvaklapid ja kõlarid, kuid mitte nutitelefonid ja arvutid.

Valimi moodustamise määr
Bitikiirus
Kodeerimise tugi
Dekodeerimise tugi

44.1 кГц
276/420 kbps
Mõned saatjad (riistvara)
Mõned heliseadmed (riistvara)

AAC

AAC ehk Advanced Audio Coding on arvutuslikult keeruline kodek, millel on tõsine psühhoakustiline mudel. Laialdaselt kasutatav Internetis heli jaoks, populaarsuselt MP3 järel teisel kohal. Nõuab litsentsi ja kasutustasusid: 15000 1000 dollarit ühekordne (või 15 dollarit alla 0.98 töötajaga ettevõtete puhul) + 500000 dollarit esimese XNUMX XNUMX seadme eest (allikas).
Kodek on standarditud MPEG-2 ja MPEG-4 spetsifikatsioonide piires ning vastupidiselt levinud eksiarvamusele ei kuulu see Apple'ile.

Valimi moodustamise määr
Bitikiirus
Kodeerimise tugi
Dekodeerimise tugi

8–96 kHz
8–576 kbps (stereo jaoks), 256–320 kbps (tavaline Bluetoothi ​​jaoks)
macOS, Android 7+*, iOS
Lai valik heliseadmeid (riistvara)

* ainult seadmetes, mille tootjad on maksnud litsentsitasusid

iOS ja macOS kasutavad Apple'i praegust parimat AAC-kodeerijat, et pakkuda parimat võimalikku helikvaliteeti. Android kasutab kõrgeima kvaliteediga Fraunhofer FDK AAC kodeerijat, kuid võib kasutada erinevat platvormi (SoC) sisseehitatud riistvara tundmatu kodeeringu kvaliteediga. SoundGuysi veebisaidi hiljutiste testide kohaselt, on erinevate Android-telefonide AAC-kodeeringu kvaliteet väga erinev:
Heli Bluetoothi ​​kaudu: maksimaalne teave profiilide, koodekite ja seadmete kohta

Enamiku juhtmevabade heliseadmete AAC-i maksimaalne bitikiirus on 320 kbps, mõned toetavad ainult 256 kbps. Muud bitikiirused on äärmiselt haruldased.
AAC pakub suurepärast kvaliteeti 320 ja 256 kbps bitikiirusega, kuid see kehtib juba tihendatud sisu järjestikuse kodeeringu kaotus256 kbit/s bitikiirusel iOS-is on aga isegi mitme järjestikuse kodeeringu korral raske kuulda mingeid erinevusi originaaliga võrreldes; ühe kodeeringuga, näiteks MP3 320 kbps kuni AAC 256 kbps, võib kadusid tähelepanuta jätta.
Nagu ka teiste Bluetoothi ​​koodekite puhul, dekodeeritakse muusika esmalt ja seejärel kodeki poolt. AAC-vormingus muusikat kuulates dekodeerib selle esmalt OS, seejärel kodeerib see uuesti AAC-vormingusse Bluetoothi ​​kaudu edastamiseks. See on vajalik mitme helivoo (nt muusika ja uute sõnumite märguannete) segamiseks. iOS pole erand. Internetist leiate palju väiteid, et iOS-is ei ole AAC-vormingus muusikat Bluetoothi ​​kaudu edastamisel ümber kodeeritud, mis ei vasta tõele.

MP1/2/3

MPEG-1/2 Part 3 perekonna koodekid koosnevad tuntud ja laialdaselt kasutatavast MP3-st, vähemlevinud MP2-st (kasutatakse peamiselt digitelevisioonis ja raadios) ning täiesti tundmatust MP1-st.

Vanu MP1 ja MP2 koodekeid ei toetata üldse: ma ei leidnud ühtegi kõrvaklappi ega Bluetoothi ​​pinu, mis neid kodeeriks või dekodeeriks.
Mõned kõrvaklapid toetavad MP3-dekodeerimist, kuid kodeerimist ei toetata ükski kaasaegse operatsioonisüsteemi pinu. Tundub, et Windowsi jaoks mõeldud kolmanda osapoole BlueSoleil-pinn suudab konfiguratsioonifaili käsitsi muutmisel MP3-ks kodeerida, kuid minu jaoks viib selle installimine Windows 10-s BSoD-ni. Järeldus - tegelikult ei saa koodekit Bluetooth-heli jaoks kasutada.
Varem, aastatel 2006-2008, enne A2DP standardi levikut seadmetes, kuulati MP3-muusikat Nokia BH-501 peakomplektist läbi programmi MSI BluePlayer, mis oli saadaval Symbianil ja Windows Mobile'il. Sel ajal võimaldas nutitelefonide OS-i arhitektuur juurdepääsu paljudele madala tasemega funktsioonidele ja Windows Mobile'is oli isegi võimalik installida kolmanda osapoole Bluetoothi ​​virnad.

MP3 kodeki viimane patent on aegunud, kodeki kasutamine ei nõua litsentsitasusid alates 23. aprillist 2017.

Kui võtta mõõdupuuks eelnimetatud viidetes mainitud pikima kehtivusajaga patent, siis MP3-tehnoloogia muutus USA-s patendivabaks 16. aprillil 2017, mil lõppes Technicolori valduses olev ja hallatav USA patent 6,009,399 XNUMX XNUMX.

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

Valimi moodustamise määr
Bitikiirus
Kodeerimise tugi
Dekodeerimise tugi

16–48 kHz
8–320 kbps
Pole kuskil toetatud
Mõned heliseadmed (riistvara)

LDAC

Sony uus ja aktiivselt reklaamitud "Hi-Res" koodek, mis toetab diskreetimissagedust kuni 96 kHz ja 24-bitist bitikiirusega kuni 990 kbps. Seda reklaamitakse kui audiofiilset koodekit, mis asendab olemasolevaid Bluetoothi ​​koodekeid. Sellel on adaptiivse bitikiiruse reguleerimise funktsioon, olenevalt raadioedastustingimustest.

LDAC kodeerija (libldac) sisaldub standardses Androidi paketis, nii et kodeeringut toetavad kõik Android-nutitelefonid alates OS-i versioonist 8. Vabalt saadaolevaid tarkvaradekoodereid pole, kodeki spetsifikatsioon pole laiemale avalikkusele kättesaadav, kuid esmapilgul kodeerijale on koodeki sisemine struktuur sarnane ATRAC9 - PlayStation 4-s ja Vitas kasutatav Sony koodek: mõlemad töötavad sageduspiirkonnas, kasutavad modifitseeritud diskreetset koosinusteisendust (MDCT) ja tihendamist, kasutades Huffmani algoritmi.

LDAC-tuge pakuvad peaaegu eranditult Sony kõrvaklapid. LDAC-i dekodeerimise võimalust leidub mõnikord teiste tootjate kõrvaklappidel ja DAC-idel, kuid väga harva.

Valimi moodustamise määr
Bitikiirus
Kodeerimise tugi
Dekodeerimise tugi

44.1–96 kHz
303/606/909 kbit/s (44.1 ja 88.2 kHz jaoks), 330/660/990 kbit/s (48 ja 96 kHz jaoks)
Android 8 +
Mõned Sony kõrvaklapid ja mõned seadmed teistelt tootjatelt (riistvara)

LDAC-i kui suure eraldusvõimega koodekina turundamine kahjustab selle tehnilist komponenti: on rumal kulutada bitikiirust inimkõrvale kuuldamatute sageduste edastamisele ja bitisügavuse suurendamisele, samas kui CD-kvaliteedi (44.1/16) kadudeta edastamiseks ei piisa. . Õnneks on koodekil kaks töörežiimi: CD heliedastus ja Hi-Res heliedastus. Esimesel juhul edastatakse õhu kaudu ainult 44.1 kHz/16 bitti.

Kuna tarkvaraline LDAC-dekooder ei ole vabalt saadaval, ei saa koodekit testida ilma LDAC-i dekodeerivate lisaseadmeteta. Vastavalt selle toega DAC-i LDAC-testi tulemustele, mille SoundGuys.com-i insenerid ühendasid digitaalse väljundi kaudu ja salvestasid testsignaalidele väljundheli, tagab LDAC 660 ja 990 kbps CD-kvaliteedirežiimis signaali-to- mürasuhe veidi parem kui aptX HD-l.

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

LDAC toetab ka dünaamilisi bitikiirusi väljaspool kehtestatud profiile – 138 kbps kuni 990 kbps, kuid niipalju kui ma aru saan, kasutab Android ainult standardseid profiile 303/606/909 ja 330/660/990 kbps.

Muud koodekid

Muid A2DP koodekeid laialdaselt ei kasutata. Nende tugi puudub peaaegu täielikult või on saadaval ainult teatud kõrvaklappide ja nutitelefonide mudelitel.
A2DP-s standarditud ATRAC-koodekit pole kunagi Bluetooth-koodekina kasutanud isegi Sony ise, Samsung HD, Samsung Scalable ja Samsung UHQ-BT koodekitel on edastamis- ja vastuvõtuseadmete tugi väga piiratud ning HWA LHDC on liiga uus ja toetab ainult kolme (?) seadmed.

Audioseadmete kodeki tugi

Mitte kõik tootjad ei avalda täpset teavet koodekite kohta, mida teatud juhtmeta kõrvaklapid, kõlarid, vastuvõtjad või saatjad toetavad. Mõnikord juhtub, et teatud koodeki tugi on mõeldud ainult edastamiseks, kuid mitte vastuvõtmiseks (kombineeritud saatjate-vastuvõtjate puhul), kuigi tootja deklareerib lihtsalt "toe" ilma märkusteta (oletan, et mõne kodeerija ja dekooderi eraldi litsentsimine koodekid on selles süüdi ). Odavaimates seadmetes ei pruugi deklareeritud aptX-i tuge üldse leida.

Kahjuks ei kuva enamiku operatsioonisüsteemide liidesed kusagil kasutatavat kodekit. Teave selle kohta on saadaval ainult Androidis, alates versioonist 8, ja macOS-ist. Kuid isegi nendes operatsioonisüsteemides kuvatakse ainult neid koodekeid, mida toetavad nii telefon/arvuti kui ka kõrvaklapid.

Kuidas saate teada, milliseid koodekeid teie seade toetab? Salvestage ja analüüsige liiklusmäge A2DP läbirääkimisparameetritega!
Seda saab teha Linuxis, macOS-is ja Androidis. Linuxis saate kasutada Wiresharki või hcidumpi, macOS-is Bluetooth Explorerit ja Androidis standardset Bluetooth HCI dump salvestamise funktsiooni, mis on saadaval arendaja tööriistades. Saate btsnoop-vormingus dump, mille saab laadida Wiresharki analüsaatorisse.
Обратите внимание: õige dump saab ainult ühendades telefoni/arvuti kõrvaklappide/kõlaritega (ükskõik kui naljakalt see ka ei kõlaks)! Kõrvaklapid saavad iseseisvalt telefoniga ühenduse luua, sel juhul küsivad nad telefonilt koodekite loendit ja mitte vastupidi. Õige dumpingu salvestamise tagamiseks ühendage esmalt seade lahti ja seejärel siduge oma telefon kõrvaklappidega väljavõtte salvestamise ajal.

Kasutage ebaolulise liikluse filtreerimiseks järgmist kuvafiltrit.

btavdtp.signal_id

Selle tulemusena peaksite nägema midagi sarnast:
Heli Bluetoothi ​​kaudu: maksimaalne teave profiilide, koodekite ja seadmete kohta

Kodeki üksikasjalike omaduste kuvamiseks võite klõpsata käsu GetCapabilities igal üksusel.
Heli Bluetoothi ​​kaudu: maksimaalne teave profiilide, koodekite ja seadmete kohta

Wireshark ei tea kõiki koodeki identifikaatoreid, seega tuleb mõned koodekid käsitsi dekrüpteerida, vaadates allolevat identifikaatorite tabelit:

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

Selleks, et prügimähiseid käsitsi mitte analüüsida, tegin teenuse, mis analüüsib kõike automaatselt: btcodecs.valdikss.org.ru

Kodekite võrdlus. Milline koodek on parem?

Igal kodekil on oma eelised ja puudused.
aptX ja aptX HD kasutavad kõvakodeeritud profiile, mida ei saa muuta ilma kodeerijat ja dekoodrit muutmata. Ei telefoni ega kõrvaklappide tootja ei saa muuta bitikiirust ega aptX-i kodeeringut. Kodeki omanik Qualcomm pakub viitekooderit teegi kujul. Need faktid on aptX-i tugevus – teate juba ette, millise kvaliteediga heli saate, ilma ühegi "aga"ta.

Seevastu SBC-l on palju konfigureeritavaid parameetreid, dünaamiline bitikiirus (kooder võib bitpooli parameetrit vähendada, kui raadio on hõivatud) ja sellel pole kõvakodeeritud profiile, vaid ainult soovitatavad keskmise kvaliteediga ja kõrge kvaliteediga. lisati A2DP spetsifikatsioonile 2003. aastal. “Kõrge kvaliteet” ei ole tänapäevaste standardite järgi enam nii kõrge ja enamik Bluetoothi ​​pinu ei võimalda kasutada parameetreid, mis on paremad kui “kvaliteetne” profiil, kuigi tehnilisi piiranguid selleks ei ole.
Bluetooth SIG-il ei ole raamatukoguna viite SBC kodeerijat ja tootjad rakendavad seda ise.
Need on SBC nõrkused – kunagi pole ette selge, millist helikvaliteeti konkreetselt seadmelt oodata. SBC suudab toota nii madala kui ka väga kõrge kvaliteediga heli, kuid viimane on kättesaamatu ilma Bluetoothi ​​virnade kunstlikke piiranguid keelamata või mööda hiilimata.

AAC-iga on olukord mitmetähenduslik: ühest küljest peaks koodek teoreetiliselt tootma originaalist eristamatut kvaliteeti, kuid praktikas SoundGuysi labori katsete põhjal erinevatel Android-seadmetel seda ei kinnitata. Tõenäoliselt on viga erinevates telefoni kiibikomplektides sisseehitatud madala kvaliteediga riistvaralistes helikooderites. AAC-i on mõttekas kasutada ainult Apple'i seadmetes ja Androidis piirduda aptX-i ja LDAC-iga.

Alternatiivseid koodekeid toetav riistvara kipub olema kvaliteetsem lihtsalt seetõttu, et väga odavate ja madala kvaliteediga seadmete puhul ei ole mõtet nende koodekite kasutamise eest litsentsitasusid maksta. Minu testides kõlab SBC kvaliteetsete seadmete puhul väga hästi.

Tegin veebiteenuse, mis kodeerib heli SBC, aptX ja aptX HD reaalajas otse brauseris. Sellega saate testida neid helikoodekeid ilma Bluetoothi ​​kaudu heli edastamata, mis tahes juhtmega kõrvaklappides, kõlarites ja oma lemmikmuusikas ning muuta ka kodeerimisparameetreid otse heli esitamise ajal:
btcodecs.valdikss.org.ru/sbc-encoder
Teenus kasutab brauseris käitamiseks BlueZ projekti SBC kodeerimisteeke ja ffmpeg libopenaptx, mis kompileeritakse WebAssemblyks ja JavaScriptiks C-st emscripteni kaudu. Kes võiks sellisest tulevikust unistada!

Siin näeb välja, kuidas:

Pange tähele, kuidas müratase muutub pärast 20 kHz erinevate koodekite puhul. Algne MP3-fail ei sisalda sagedusi üle 20 kHz.

Proovige koodekeid vahetada ja vaadake, kas kuulete erinevust originaali SBC 53 Joint Stereo (standardne ja kõige levinum profiil) ja aptX/aptX HD vahel.

Ma kuulen koodekite erinevust kõrvaklappides!

Inimesed, kes veebiteenuse kaudu testimise ajal koodekite erinevust ei kuule, väidavad, et kuulevad seda juhtmevabast kõrvaklappidest muusikat kuulates. Kahjuks pole see nali ega platseeboefekt: erinevus on tõesti kuuldav, kuid see ei ole tingitud erinevustest kodekid.

Valdav enamus juhtmeta vastuvõtuseadmetes kasutatavatest Bluetoothi ​​helikiibikomplektidest on varustatud digitaalse signaaliprotsessoriga (DSP), mis rakendab ekvalaiserit, kompanderit, stereolaiendit ja muid heli parandamiseks (või muutmiseks) mõeldud asju. Bluetooth-seadmete tootjad saavad konfigureerida DSP-d iga kodeki jaoks eraldi, ja koodekite vahel vahetades arvab kuulaja, et ta kuuleb koodekite töös erinevusi, kuigi tegelikult kuulab ta erinevaid DSP sätteid.

Heli Bluetoothi ​​kaudu: maksimaalne teave profiilide, koodekite ja seadmete kohta
DSP Kalimba helitöötluskonveier kiipides, mida toodab CSR/Qualcomm

Heli Bluetoothi ​​kaudu: maksimaalne teave profiilide, koodekite ja seadmete kohta
Aktiveerige iga koodeki ja väljundi jaoks erinevad DSP-funktsioonid

Mõnel esmaklassilisel seadmel on tarkvara, mis võimaldab kohandada DSP-sätteid, kuid enamik odavamaid kõrvaklappe seda ei tee ja kasutajad ei saa heli järeltöötlust käsitsi välja lülitada.

Seadmete funktsionaalsed omadused

A2DP standardi kaasaegne versioon on funktsioon "absoluutne helitugevuse reguleerimine". — seadme helitugevuse reguleerimine, kasutades AVRCP-protokolli spetsiaalseid käske, mis reguleerivad väljundastme võimendust, selle asemel, et helivoo helitugevust programmiliselt vähendada. Kui kõrvaklappide helitugevust muutes ei sünkroonita muudatust telefoni helitugevusega, siis teie kõrvaklapid või telefon seda funktsiooni ei toeta. Sel juhul on mõttekas kuulata muusikat telefonist alati maksimaalse helitugevusega, reguleerides tegelikku helitugevust kõrvaklappide nuppudega – sel juhul on signaali-müra suhe parem ja helikvaliteet peab olema ülalpool.
Tegelikkuses on kurbi olukordi. Minu SBC jaoks mõeldud RealForce OverDrive D1 kõrvaklappides on sisse lülitatud tugev kompander ja helitugevuse suurendamine suurendab vaiksete helide taset, samas kui valjude helide helitugevus ei muutu (signaal tihendatakse). Selle tõttu tuleb arvutis helitugevus umbes poole peale seada, sellisel juhul tihendusefekti praktiliselt pole.
Minu tähelepanekute kohaselt toetavad kõik lisakoodekiga kõrvaklapid absoluutset helitugevuse reguleerimise funktsiooni, ilmselt on see üks koodekite sertifitseerimise nõudeid.

Mõned kõrvaklappide tugi ühendada kaks seadet korraga. See võimaldab näiteks arvutist muusikat kuulata ja telefonist kõnesid vastu võtta. Siiski peaksite teadma, et selles režiimis on alternatiivsed koodekid keelatud ja kasutatakse ainult SBC-d.

AVDTP 1.3 Delay Reporting funktsioon võimaldab kõrvaklappidel edastada heli edastava seadmega viivituse. See võimaldab teil videofailide vaatamise ajal reguleerida heli sünkroonimist videoga: kui raadioedastusega on probleeme, ei jää heli videost maha, vaid vastupidi, videomängija aeglustab videot seni, kuni heli ja video sünkroonitakse uuesti.
Seda funktsiooni toetavad paljud kõrvaklapid, Android 9+ ja Linux koos versiooniga PulseAudio 12.0+. Ma ei ole teadlik selle funktsiooni toetamisest teistel platvormidel.

Kahesuunaline side Bluetoothi ​​kaudu. Hääleedastus.

Kõneedastuseks Bluetoothis kasutatakse sünkroonühendusele orienteeritud (SCO) - sünkroonedastust ühenduse eelneva läbirääkimisega. Režiim võimaldab teil edastada heli ja häält rangelt järjekorras, sümmeetrilise saatmis- ja vastuvõtukiirusega, ootamata edastamise ja pakettide uuesti saatmise kinnitust. See vähendab raadiokanali kaudu heli edastamise üldist viivitust, kuid seab tõsised piirangud ajaühikus edastatavate andmete hulgale ja mõjutab negatiivselt kvaliteeti.
Selle režiimi kasutamisel edastatakse nii häält kui heli sama kvaliteediga.
Kahjuks on 2019. aasta seisuga Bluetoothi ​​​​kõnekvaliteet endiselt halb ja on ebaselge, miks Bluetooth SIG sellega midagi ette ei võta.

CVSD

Põhiline CVSD kõnekoodek standarditi 2002. aastal ja seda toetavad kõik kahesuunalised Bluetooth-sideseadmed. See pakub heliedastust diskreetimissagedusega 8 kHz, mis vastab tavapärase traadiga telefoniteenuse kvaliteedile.

Selle koodeki salvestuse näide.

mSBC

Täiendav mSBC koodek standardiseeriti 2009. aastal ja 2010. aastal ilmusid juba seda kõne edastamiseks kasutavad kiibid. mSBC-d toetavad laialdaselt erinevad seadmed.
See pole iseseisev koodek, vaid tavaline A2DP standardi SBC, fikseeritud kodeerimisprofiiliga: 16 kHz, mono, bitpool 26.

Selle koodeki salvestuse näide.

Mitte geniaalne, kuid palju parem kui CVSD, kuid sellegipoolest on seda võrgusuhtluseks tüütu kasutada, eriti kui kasutate mängusiseseks suhtlemiseks kõrvaklappe – ka mängu heli edastatakse 16 kHz diskreetimissagedusega.

Ettevõte FastStreamCSR otsustas välja töötada idee SBC taaskasutamiseks. SCO-protokolli piirangutest ülesaamiseks ja suuremate bitikiiruste kasutamiseks läks CSR teist teed – nad tõid A2DP ühesuunalise heliedastusstandardi sisse kahesuunalise SBC-heli toe, standardiseeritud kodeerimisprofiilid ja nimetasid selle "FastStreamiks".

FastStream edastab kõlaritesse stereoheli sagedusel 44.1 või 48 kHz bitikiirusega 212 kbps ja mikrofonist heli edastamiseks kasutatakse monosagedust 16 kHz bitikiirusega 72 kbps (veidi parem kui mSBC). Sellised parameetrid sobivad palju paremini võrgumängudes suhtlemiseks - mängu heli ja vestluspartnerid on kvaliteetsed.

Selle koodeki salvestuse näide (+ heli mikrofonist, sama mis mSBC).

Ettevõte tuli välja huvitava karguga, kuid kuna see läheb vastuollu A2DP standardiga, on seda toetatud vaid osades firma saatjatest (mis töötavad USB-helikaardina, mitte Bluetooth-seadmena), kuid see ei tööta saada tuge Bluetoothi ​​virnades.kuigi FastStreami toega kõrvaklappide arv polegi nii väike.

Hetkel on FastStreami tugi operatsioonisüsteemis ainult paigana Linux PulseAudio jaoks arendajalt Pali Rohárilt, kes ei kuulu programmi põhiharusse.

aptX madal latentsus

Suureks üllatuseks toetab aptX Low Latency ka kahesuunalist heli, rakendades sama põhimõtet nagu FastStream.
Kodeki seda funktsiooni pole võimalik kuskil kasutada – madala latentsusega dekodeerimist ei toetata üheski OS-is ega üheski mulle teadaolevas Bluetoothi ​​pinus.

Bluetooth 5, klassikaline ja madala energiatarbega

Bluetoothi ​​spetsifikatsioonide ja versioonide ümber on olnud palju segadust, kuna sama kaubamärgi all on kaks ühildumatut standardit, mida mõlemat kasutatakse laialdaselt erinevatel eesmärkidel.

On kaks erinevat ühildumatut Bluetoothi ​​protokolli: Bluetooth Classic ja Bluetooth Low Energy (LE, tuntud ka kui Bluetooth Smart). On olemas ka kolmas protokoll, Bluetooth High Speed, kuid see pole laialt levinud ja seda ei kasutata koduseadmetes.

Alates Bluetooth 4.0-st puudutasid muudatused spetsifikatsioonis peamiselt Bluetooth Low Energy ja klassikaline versioon sai vaid väikeseid täiustusi.

Bluetooth 4.2 ja Bluetooth 5 vaheliste muudatuste loend:

9 MUUDATUST V4.2-LT 5.0-le

9.1 UUED FUNKTSIOONID

Bluetoothi ​​põhispetsifikatsiooni 5.0 väljalases tutvustatakse mitmeid uusi funktsioone. Peamised parendusvaldkonnad on järgmised:
• Slot Availability Mask (SAM)
• 2 Msym/s PHY LE jaoks
•LE Long Range
• Suure töötsükliga mitteühendatav reklaam
• LE reklaamilaiendid
• LE kanali valimise algoritm nr 2
9.1.1 CSA5-s lisatud funktsioonid – integreeritud versioonisse 5.0
• Suurem väljundvõimsus

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

Ainult üks muudatus mõjutas klassikalist versiooni Bluetooth 5 spetsifikatsiooni raames: need lisasid toe pesa saadavuse maski (SAM) tehnoloogiale, mis on loodud raadiosaadete eraldamise parandamiseks. Kõik muud muudatused mõjutavad ainult Bluetooth LE-d (ja ka suuremat väljundvõimsust).

Kõik Heliseadmed kasutavad ainult Bluetooth Classicut. Kõrvaklappide ja kõlarite ühendamine Bluetooth Low Energy kaudu on võimatu: LE abil heli edastamiseks pole standardit. Kvaliteetse heli edastamiseks kasutatav A2DP standard töötab ainult Bluetooth Classicu kaudu ja LE-s analoogi pole.

Järeldus - Bluetooth 5-ga heliseadmete ostmine ainult protokolli uue versiooni tõttu on mõttetu. Bluetooth 4.0/4.1/4.2 töötab heli edastamise kontekstis täpselt samamoodi.
Kui uute kõrvaklappide teadaandes mainitakse tänu Bluetooth 5-le kahekordistunud tööulatust ja vähenenud energiatarbimist, siis peaksite teadma, et nad kas ei saa sellest ise aru või eksitavad teid. Pole ka ime, sest isegi Bluetooth-kiipide tootjad on oma teadaannetes segaduses standardi uue versiooni erinevuste pärast ning mõned Bluetooth 5 kiibid toetavad viiendat versiooni ainult LE jaoks ja kasutavad 4.2 Classic jaoks.

Heli edastamise viivitus

Heli viivituse (lag) suurus sõltub paljudest teguritest: helivirnas, Bluetoothi ​​pinus ja juhtmevaba taasesitusseadmes endas oleva puhvri suurusest ning kodeki algoritmilisest viivitusest.

Lihtsate koodekite, nagu SBC, aptX ja aptX HD, latentsusaeg on väga väike, 3–6 ms, mida võib tähelepanuta jätta, kuid keerulised koodekid, nagu AAC ja LDAC, võivad põhjustada märgatavat viivitust. AAC algoritmiline latentsus sagedusel 44.1 kHz on 60 ms. LDAC – umbes 30 ms (lähtekoodi umbkaudse analüüsi põhjal. Võin eksida, aga mitte palju.)

Saadud latentsusaeg sõltub suuresti taasesitusseadmest, selle kiibist ja puhvrist. Testide käigus sain erinevatel seadmetel (SBC-koodekiga) 150–250 ms. Kui eeldame, et täiendavaid kodekeid aptX, AAC ja LDAC toetavad seadmed kasutavad kvaliteetseid komponente ja väikest puhvri suurust, saame järgmised tüüpilised latentsusajad:

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

Tuletan meelde: aptX Low Latency ei ole opsüsteemides toetatud, mistõttu väiksema latentsusajaga saab ainult saatja+vastuvõtja või saatja+kõrvaklapid/kõlar kombinatsiooniga ning kõik seadmed peavad seda koodekit toetama.

Bluetooth-seadme, sertifikaadi ja logoga seotud probleemid

Kuidas eristada kvaliteetset heliseadet odavast käsitööst? Välimuselt ennekõike!

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

  1. Karbil ja seadmel puudub sõna "Bluetooth", kõige sagedamini kasutatakse "Wireless" ja "BT"
  2. Bluetoothi ​​logo puudub Heli Bluetoothi ​​kaudu: maksimaalne teave profiilide, koodekite ja seadmete kohta karbil või seadmel
  3. Sinist vilkuvat LED-i pole

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

Vaatleme mitut seadet ja kasti neist:
Heli Bluetoothi ​​kaudu: maksimaalne teave profiilide, koodekite ja seadmete kohta

Heli Bluetoothi ​​kaudu: maksimaalne teave profiilide, koodekite ja seadmete kohta

Heli Bluetoothi ​​kaudu: maksimaalne teave profiilide, koodekite ja seadmete kohta

Need on kõik sertifitseerimata seadmed. Juhend võib sisaldada logo ja Bluetooth-tehnoloogia nimetust, kuid kõige tähtsam on, et need oleksid karbil ja/või seadmel endal.

Kui teie kõrvaklapid või kõlar ütleb "Ze bluetooth dewise on ühendatud edukalt", ei näita see ka nende kvaliteeti:

Järeldus

Kas Bluetooth võib juhtmega kõrvaklappe täielikult asendada? See on võimeline, kuid selle hinnaga on kehv kõne kvaliteet, suurenenud heli latentsus, mis võib mängudes tüütu olla, ja hulk patenteeritud koodekeid, mis nõuavad litsentsitasusid ja suurendavad nii nutitelefonide kui ka kõrvaklappide lõpphinda.

Alternatiivsete koodekite turustamine on väga tugev: aptX-i ja LDAC-i esitletakse kauaoodatud asendusena “aegunud ja halvale” SBC-le, mis pole sugugi nii halb, kui inimesed arvavad.

Nagu selgus, saab Bluetoothi ​​virnade kunstlikest piirangutest SBC bitikiirusel mööda minna, nii et SBC ei jää alla aptX HD-le. Võtsin initsiatiivi enda kätte ja tegin LineageOS-i püsivara jaoks paiga: Muudame Bluetoothi ​​pinu, et parandada heli ilma AAC, aptX ja LDAC koodekiteta kõrvaklappides

Lisateavet leiate veebisaitidelt Helipoisid и SoundExpert.

Boonus: SBC viitekooder, A2DP bitivoo teave ja testfailid. See fail postitati varem avalikult Bluetoothi ​​veebisaidile, kuid on nüüd saadaval ainult Bluetooth SIG-i liikmetele.

Allikas: www.habr.com

Lisa kommentaar