Audio prin Bluetooth: cât mai multe detalii posibil despre profiluri, codecuri și dispozitive

Audio prin Bluetooth: cât mai multe detalii posibil despre profiluri, codecuri și dispozitive

Datorită producției în masă a smartphone-urilor fără mufă audio de 3.5 mm, căștile wireless Bluetooth au devenit principala modalitate pentru mulți de a asculta muzică și de a comunica în modul căști.
Producătorii de dispozitive fără fir nu scriu întotdeauna specificații detaliate ale produsului, iar articolele despre audio Bluetooth de pe Internet sunt contradictorii, uneori incorecte, nu vorbesc despre toate caracteristicile și adesea copiază aceleași informații care nu corespund realității.
Să încercăm să înțelegem protocolul, capacitățile stivelor de sistem de operare Bluetooth, căști și difuzoare, codecuri Bluetooth pentru muzică și vorbire, aflăm ce afectează calitatea sunetului transmis și latența, aflați cum să colectați și să decodați informații despre codecuri acceptate și alte dispozitive capabilități.

TL; DR:

  • SBC - codec normal
  • Căștile au propriul egalizator și post-procesare pentru fiecare codec separat
  • aptX nu este la fel de bun pe cât se anunță
  • LDAC este o prostie de marketing
  • Calitatea apelurilor este încă slabă
  • Puteți încorpora codificatoare audio C în browser, compilându-le în WebAssembly prin emscripten și nu vor încetini prea mult.

Muzică prin Bluetooth

Componenta funcțională a Bluetooth este determinată de profiluri - specificații ale funcțiilor specifice. Streamingul de muzică prin Bluetooth utilizează un profil de transmisie audio unidirecțională A2DP de înaltă calitate. Standardul A2DP a fost adoptat în 2003 și nu s-a schimbat semnificativ de atunci.
În cadrul profilului sunt standardizate 1 codec obligatoriu de complexitate de calcul scăzută SBC, creat special pentru Bluetooth, și 3 suplimentar. De asemenea, este posibil să utilizați codecuri nedocumentate ale propriei implementări.

Din iunie 2019 suntem în benzile desenate xkcd cu 14 codecuri A2DP:

  • SBC ← standardizat în A2DP, acceptat de toate dispozitivele
  • MPEG-1/2 Layer 1/2/3 ← standardizat în A2DP: bine cunoscut MP3, folosit în televiziunea digitală MP2, și necunoscut MP1
  • MPEG-2/4 AAC ← standardizat în A2DP
  • ATTRAC ← codec vechi de la Sony, standardizat în A2DP
  • LDAC ← codec nou de la Sony
  • aptX ← codec din 1988
  • aptX-HD ← la fel ca aptX, doar cu opțiuni de codare diferite
  • aptX Latență scăzută ← codec complet diferit, fără implementare software
  • aptX Adaptive ← un alt codec de la Qualcomm
  • FastStream ← pseudo codec, modificare SBC bidirecțională
  • HWA LHDC ← codec nou de la Huawei
  • Samsung HD ← acceptat de 2 dispozitive
  • Samsung scalabil ← acceptat de 2 dispozitive
  • Samsung UHQ-BT ← acceptat de 3 dispozitive

De ce avem nevoie de codecuri, vă întrebați, când Bluetooth are EDR, care vă permite să transferați date la viteze de 2 și 3 Mbit/s, iar pentru PCM necomprimat pe două canale pe 16 biți, 1.4 Mbit/s este suficient?

Transfer de date prin Bluetooth

Există două tipuri de transfer de date în Bluetooth: Asynchronous Connection Less (ACL) pentru transferul asincron fără stabilirea conexiunii și Synchronous Connection Oriented (SCO), pentru transferul sincron cu negocierea preliminară a conexiunii.
Transmisia se realizează folosind o schemă de divizare în timp și selectând un canal de transmisie pentru fiecare pachet separat (Frequency-Hop/Time-Division-Duplex, FH/TDD), timp pentru care timpul este împărțit în intervale de 625 de microsecunde numite sloturi. Unul dintre dispozitive transmite în sloturi cu numere pare, celălalt în sloturi cu numere impare. Pachetul transmis poate ocupa 1, 3 sau 5 sloturi, în funcție de dimensiunea datelor și tipul de transmisie setat, în acest caz, transmisia de către un dispozitiv se efectuează în sloturi pare și impare până la sfârșitul transmisiei. În total, pot fi primite și trimise până la 1600 de pachete pe secundă, dacă fiecare dintre ele ocupă 1 slot, iar ambele dispozitive transmit și primesc ceva fără oprire.

2 și 3 Mbit/s pentru EDR, care pot fi găsite în anunțuri și pe site-ul Bluetooth, reprezintă rata maximă de transfer de canal a tuturor datelor în total (inclusiv anteturile tehnice ale tuturor protocoalelor în care datele trebuie încapsulate), în două direcții simultan. Viteza reală de transfer de date va varia foarte mult.

Pentru transmiterea muzicii se folosește o metodă asincronă, aproape întotdeauna folosind pachete precum 2-DH5 și 3-DH5, care transportă o cantitate maximă de date în modul EDR de 2 Mbit/s, respectiv 3 Mbit/s și ocupă 5 timpi. - sloturi de partajare.

Reprezentare schematică a transmisiei folosind 5 sloturi de către un dispozitiv și 1 slot de către altul (DH5/DH1):
Audio prin Bluetooth: cât mai multe detalii posibil despre profiluri, codecuri și dispozitive

Datorită principiului divizării în timp a undelor radio, suntem obligați să așteptăm un interval de timp de 625 de microsecunde după transmiterea unui pachet dacă al doilea dispozitiv nu ne transmite nimic sau transmite un pachet mic și mai mult timp dacă al doilea dispozitiv transmite în pachete mari. Dacă la telefon sunt conectate mai multe dispozitive (de exemplu, căști, ceasuri și o brățară de fitness), atunci timpul de transfer este împărțit între toate.

Necesitatea încapsulării audio în protocoalele speciale de transport L2CAP și AVDTP ia 16 octeți din cantitatea maximă posibilă de sarcină utilă audio transmisă.

Tip pachet
Numărul de sloturi
Max. numărul de octeți din pachet
Max. numărul de octeți de încărcare utilă A2DP
Max. Rata de biți a sarcinii utile A2DP

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 și 1429 kbps cu siguranță nu sunt suficiente pentru a transmite audio necomprimat în condiții reale, cu intervalul zgomotos de 2.4 GHz și nevoia de a transmite date de serviciu. EDR 3 Mbit/s necesită putere de transmisie și zgomot în aer, prin urmare, chiar și în modul 3-DH5, transmisia PCM confortabilă este imposibilă, vor exista întotdeauna întreruperi pe termen scurt și totul va funcționa doar la o distanță de o câțiva metri.
În practică, chiar și un flux audio de 990 kbit/s (LDAC 990 kbit/s) este dificil de transmis.

Să revenim la codecuri.

SBC

Codec necesar pentru toate dispozitivele care acceptă standardul A2DP. Cel mai bun și cel mai rău codec în același timp.

Frecvența de eșantionare
Adâncimea de biți
Rata de biți
Suport pentru codificare
Suport pentru decodare

16, 32, 44.1, 48 kHz
Bit 16
10-1500 kbps
Toate dispozitivele
Toate dispozitivele

SBC este un codec simplu și rapid din punct de vedere computațional, cu un model psihoacustic primitiv (se aplică doar mascarea sunetelor liniștite), folosind modularea adaptivă a codului de puls (APCM).
Specificația A2DP recomandă două profiluri pentru utilizare: Calitate medie și Calitate înaltă.
Audio prin Bluetooth: cât mai multe detalii posibil despre profiluri, codecuri și dispozitive

Codecul are multe setări care vă permit să controlați întârzierea algoritmică, numărul de eșantioane dintr-un bloc, algoritmul de distribuție a biților, dar aproape peste tot se folosesc aceiași parametri recomandați în specificație: Joint Stereo, 8 benzi de frecvență, 16 blocuri în un cadru audio, metoda de distribuție a biților de volum.
SBC acceptă modificarea dinamică a parametrului Bitpool, care afectează direct rata de biți. Dacă undele sunt înfundate, pachetele sunt pierdute sau dispozitivele sunt situate la distanțe mari, sursa audio poate reduce Bitpool până când comunicarea revine la normal.

Majoritatea producătorilor de căști setează valoarea maximă Bitpool la 53, ceea ce limitează rata de biți la 328 de kilobiți pe secundă atunci când se utilizează profilul recomandat.
Chiar dacă producătorul de căști a setat valoarea maximă a Bitpool peste 53 (se găsesc astfel de modele, de exemplu: Beats Solo³, JBL Everest Elite 750NC, Apple AirPods, găsite și pe unele receptoare și unități principale ale mașinii), atunci majoritatea sistemelor de operare nu vor permite utilizarea ratelor de biți crescute datorită limitei valorii interne stabilite în stivele Bluetooth.
În plus, unii producători setează valoarea maximă Bitpool la scăzută pentru unele dispozitive. De exemplu, pentru Bluedio T este 39, pentru Samsung Gear IconX este 37, ceea ce oferă o calitate slabă a sunetului.

Restricțiile artificiale din partea dezvoltatorilor de stive Bluetooth au apărut cel mai probabil din cauza incompatibilității unor dispozitive cu valori mari Bitpool sau profiluri atipice, chiar dacă au raportat suport pentru acestea și testări insuficiente în timpul certificării. A fost mai ușor pentru autorii stivelor Bluetooth să se limiteze la a conveni asupra profilului recomandat, mai degrabă decât să creeze baze de date cu dispozitive incorecte (deși acum fac acest lucru pentru alte funcții care funcționează incorect).

SBC alocă dinamic biți de cuantizare benzilor de frecvență pe o bază de la joasă la mare, cu greutăți diferite. Dacă toată rata de biți a fost folosită pentru frecvențele joase și medii, frecvențele înalte vor fi „decuplate” (va fi liniște în schimb).

Exemplu SBC 328 kbps. În partea de sus este originalul, în partea de jos este SBC-ul, comutând periodic între piese. Audio din fișierul video utilizează codecul de compresie fără pierderi FLAC. Folosirea FLAC într-un container mp4 nu este standardizată oficial, așa că nu este garantat că browserul dvs. îl va reda, dar ar trebui să funcționeze în cele mai recente versiuni de desktop Chrome și Firefox. Dacă nu aveți sunet, puteți descărca fișierul și îl puteți deschide într-un player video cu drepturi depline.
ZZ Top - Barbat Imbracat Ascutit

Spectrograma arată momentul comutării: SBC taie periodic sunetele silențioase peste 17.5 kHz și nu alocă deloc biți pentru banda de peste 20 kHz. Spectrograma completă este disponibilă făcând clic (1.7 MB).
Audio prin Bluetooth: cât mai multe detalii posibil despre profiluri, codecuri și dispozitive

Nu aud nicio diferență între original și SBC pe această piesă.

Să luăm ceva mai nou și să simulăm sunetul care s-ar obține folosind căștile Samsung Gear IconX cu Bitpool 37 (sus - semnalul original, mai jos - SBC 239 kbps, audio în FLAC).
Mindless Self Indulgence - Martor

Aud trosnet, efect stereo mai puțin și un sunet neplăcut de „bucăt” în frecvențele înalte ale vocii.

Deși SBC este un codec foarte flexibil, poate fi configurat pentru o latență scăzută, oferă o calitate audio excelentă la rate de biți ridicate (452+ kbps) și este destul de bun pentru majoritatea oamenilor la calitate înaltă standard (328 kbps), datorită faptului că standardul A2DP nu specifică profiluri fixe (ci oferă doar recomandări), dezvoltatorii de stive au stabilit restricții artificiale asupra Bitpool, parametrii audio transmis nu sunt afișați în interfața cu utilizatorul, iar producătorii de căști sunt liberi să își stabilească propriile setări și niciodată indicați valoarea Bitpool în specificațiile tehnice ale produsului, codecul a devenit faimos pentru calitatea scăzută a sunetului, deși aceasta nu este o problemă cu codecul ca atare.
Parametrul Bitpool afectează direct rata de biți doar într-un singur profil. Aceeași valoare Bitpool 53 poate da atât un bitrate de 328 kbps cu profilul High Quality recomandat, cât și 1212 kbps cu Dual Channel și 4 benzi de frecvență, motiv pentru care autorii OS, pe lângă restricțiile privind Bitpool, stabilesc o limită și pe Rata de biți. După cum văd eu, această situație a apărut din cauza unui defect în standardul A2DP: a fost necesar să se negocieze bitrate, nu Bitpool.

Tabel de suport pentru capabilitățile SBC în diferite sisteme de operare:

ОС
Rate de eșantionare acceptate
Limita max. Bitpool
Limita max. Rata de biți
Rata de biți tipică
Ajustare dinamică Bitpool

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

Linux (BlueZ + PulseAudio)
16, 32, 44.1, 48 kHz
64 (pentru conexiuni de intrare), 53 (pentru conexiuni de ieșire)
Fara limita
328 kbps
✓*

MacOS High Sierra
44.1 кГц
64, implicit 53***
necunoscut
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
Fara limita
328 kbps

* Bitpool doar scade, dar nu crește automat, dacă condițiile de transfer se îmbunătățesc. Pentru a restabili Bitpool, trebuie să opriți redarea, așteptați câteva secunde și porniți din nou audio.
** Valoarea implicită depinde de setările stivei specificate la compilarea firmware-ului. În Android 8/8.1 frecvența este fie de numai 44.1 kHz, fie de 48 kHz, în funcție de setările din timpul compilării, în alte versiuni 44.1 kHz și 48 kHz sunt acceptate simultan.
*** Valoarea Bitpool poate fi mărită în programul Bluetooth Explorer.

aptX și aptX HD

aptX este un codec simplu și rapid din punct de vedere computațional, fără psihoacustică, care utilizează modularea codului de impuls diferenţial adaptiv (ADPCM). A apărut în jurul anului 1988 (data de depozit brevet din februarie 1988), înainte de Bluetooth, a fost folosit în principal în echipamentele audio profesionale fără fir. Deținut în prezent de Qualcomm, necesită licență și drepturi de autor. Din 2014: 6000 USD o singură dată și ≈1 USD per dispozitiv, pentru loturi de până la 10000 de dispozitive (sursă, p. 16).
aptX și aptX HD sunt același codec, cu profiluri de codare diferite.

Codecul are un singur parametru - selectarea frecvenței de eșantionare. Există, totuși, o alegere a numărului/modului de canale, dar în toate dispozitivele pe care le cunosc (70+ bucăți) este acceptat doar Stereo.

Codec
Frecvența de eșantionare
Adâncimea de biți
Rata de biți
Suport pentru codificare
Suport pentru decodare

aptX
16, 32, 44.1, 48 kHz
Bit 16
128 / 256 / 352 / 384 kbps (în funcție de rata de eșantionare)
Windows 10 (desktop și mobil), macOS, Android 4.4+/7*, Blackberry OS 10
Gamă largă de dispozitive audio (hardware)

* Versiunile de până la 7 necesită modificarea stivei Bluetooth. Codecul este acceptat numai dacă producătorul dispozitivului Android a licențiat codecul de la Qualcomm (dacă sistemul de operare are biblioteci de codificare).

aptX împarte audio în 4 benzi de frecvență și le cuantifică cu același număr de biți în mod constant: 8 biți pentru 0-5.5 kHz, 4 biți pentru 5.5-11 kHz, 2 biți pentru 11-16.5 kHz, 2 biți pentru 16.5-22 kHz ( cifre pentru rata de eșantionare 44.1 kHz).

Exemplu de sunet aptX (în partea de sus - semnalul original, în partea de jos - aptX, spectrograme doar ale canalelor din stânga, sunet în FLAC):

Înaltele au devenit puțin mai roșii, dar nu se auzea diferența.

Datorită distribuției fixe a biților de cuantizare, codecul nu poate „deplasa biții” la frecvențele care au cel mai mult nevoie de ele. Spre deosebire de SBC, aptX nu va „taia” frecvențele, ci le va adăuga zgomot de cuantizare, reducând intervalul dinamic al sunetului.

Nu trebuie presupus că utilizarea, de exemplu, a 2 biți pe bandă reduce intervalul dinamic la 12 dB: ADPCM permite până la 96 dB de interval dinamic chiar și atunci când se utilizează 2 biți de cuantizare, dar numai pentru un anumit semnal.
ADPCM stochează diferența numerică dintre eșantionul curent și următorul eșantion, în loc să stocheze valoarea absolută ca în PCM. Acest lucru vă permite să reduceți cerințele pentru numărul de biți necesari pentru a stoca aceleași (fără pierderi) sau aproape aceleași (cu o eroare de rotunjire relativ mică) informații. Pentru a reduce erorile de rotunjire, se folosesc tabele de coeficienți.
La crearea codecului, autorii au calculat coeficienții ADPCM pe un set de fișiere audio muzicale. Cu cât semnalul audio este mai aproape de setul de muzică pe care au fost construite mesele, cu atât aptX creează mai puține erori de cuantizare (zgomot).

Din această cauză, testele sintetice vor produce întotdeauna rezultate mai proaste decât muzica. Am făcut un exemplu sintetic special în care aptX arată rezultate slabe - o undă sinusoidală cu o frecvență de 12.4 kHz (sus - semnalul original, dedesubt - aptX. Audio în FLAC. Scădeți volumul!):

Graficul spectrului:
Audio prin Bluetooth: cât mai multe detalii posibil despre profiluri, codecuri și dispozitive

Zgomotele sunt clar audibile.

Cu toate acestea, dacă generați o undă sinusoidală cu o amplitudine mai mică, astfel încât să fie mai silențioasă, zgomotul va deveni și mai silențios, indicând o gamă dinamică largă:

Audio prin Bluetooth: cât mai multe detalii posibil despre profiluri, codecuri și dispozitive

Pentru a auzi diferența dintre melodia originală și cea comprimată, puteți inversa unul dintre semnale și puteți adăuga melodiile canal cu canal. Această abordare este, în general, incorectă și nu ar da rezultate sănătoase cu codecuri mai complexe, dar în special pentru ADPCM este destul de potrivită.
Diferența dintre original și aptX
Diferența pătratică medie a semnalelor este la nivelul de -37.4 dB, ceea ce nu este prea mult pentru o astfel de muzică comprimată.

aptX-HD

aptX HD nu este un codec autonom - este un profil de codificare îmbunătățit al codecului aptX. Modificările au afectat numărul de biți alocați pentru codificarea intervalelor de frecvență: 10 biți pentru 0-5.5 kHz, 6 biți pentru 5.5-11 kHz, 4 biți pentru 11-16.5 kHz, 4 biți pentru 16.5-22 kHz (cifre pentru 44.1 kHz) .

Codec
Frecvența de eșantionare
Adâncimea de biți
Rata de biți
Suport pentru codificare
Suport pentru decodare

aptX-HD
16, 32, 44.1, 48 kHz
24 de biți
192 / 384 / 529 / 576 kbps (în funcție de rata de eșantionare)
Android 8+*
Unele dispozitive audio (hardware)

* Versiunile de până la 7 necesită modificarea stivei Bluetooth. Codecul este acceptat numai dacă producătorul dispozitivului Android a licențiat codecul de la Qualcomm (dacă sistemul de operare are biblioteci de codificare).

Mai puțin obișnuit decât aptX: se pare că necesită licențiere separată de la Qualcomm și taxe de licență separate.

Să repetăm ​​exemplul cu o undă sinusoidală la 12.4 kHz:
Audio prin Bluetooth: cât mai multe detalii posibil despre profiluri, codecuri și dispozitive

Mult mai bun decât aptX, dar încă puțin zgomotos.

aptX Latență scăzută

Un codec de la Qualcomm care nu are nimic în comun cu standardul aptX și aptX HD, judecând după informațiile limitate de la persoanele implicate în dezvoltarea lui. Proiectat pentru transmisia audio interactivă cu latență scăzută (filme, jocuri), unde întârzierea audio nu poate fi ajustată de software. Nu există implementări software cunoscute ale codificatoarelor și decodoarelor; acestea sunt acceptate exclusiv de transmițătoare, receptoare, căști și difuzoare, dar nu de smartphone-uri și computere.

Frecvența de eșantionare
Rata de biți
Suport pentru codificare
Suport pentru decodare

44.1 кГц
276/420 kbps
Unele transmițătoare (hardware)
Unele dispozitive audio (hardware)

AAC

AAC, sau Advanced Audio Coding, este un codec complex din punct de vedere computațional cu un model psihoacustic serios. Folosit pe scară largă pentru audio pe Internet, al doilea ca popularitate după MP3. Necesită licență și redevențe: 15000 USD o singură dată (sau 1000 USD pentru companiile cu mai puțin de 15 angajați) + 0.98 USD pentru primele 500000 de dispozitive (sursă).
Codecul este standardizat în cadrul specificațiilor MPEG-2 și MPEG-4 și, contrar concepției greșite obișnuite, nu aparține Apple.

Frecvența de eșantionare
Rata de biți
Suport pentru codificare
Suport pentru decodare

8 - 96 kHz
8 - 576 kbps (pentru stereo), 256 - 320 kbps (tipic pentru Bluetooth)
macOS, Android 7+*, iOS
Gamă largă de dispozitive audio (hardware)

* numai pe dispozitivele ai căror producători au plătit taxe de licență

iOS și macOS folosesc cel mai bun codificator AAC de la Apple pentru a oferi cea mai înaltă calitate audio posibilă. Android folosește al doilea codificator Fraunhofer FDK AAC de cea mai bună calitate, dar poate folosi diferite hardware încorporate în platformă (SoC) cu o calitate de codificare necunoscută. Conform testelor recente de pe site-ul SoundGuys, calitatea codificării AAC a diferitelor telefoane Android variază foarte mult:
Audio prin Bluetooth: cât mai multe detalii posibil despre profiluri, codecuri și dispozitive

Majoritatea dispozitivelor audio wireless au un bitrate maxim de 320 kbps pentru AAC, unele acceptă doar 256 kbps. Alte rate de biți sunt extrem de rare.
AAC oferă o calitate excelentă la rate de biți de 320 și 256 kbps, dar este supus pierderea codificării secvenţiale a conţinutului deja comprimat, cu toate acestea, este dificil să auziți diferențe față de originalul pe iOS la o rată de biți de 256 kbps chiar și cu mai multe codificări secvențiale; cu o singură codificare, de exemplu, MP3 320 kbps la AAC 256 kbps, pierderile pot fi neglijate.
Ca și în cazul altor codecuri Bluetooth, orice muzică este mai întâi decodificată și apoi codificată de codec. Când ascultați muzică în format AAC, aceasta este mai întâi decodificată de sistemul de operare, apoi codificată din nou în AAC pentru transmisie prin Bluetooth. Acest lucru este necesar pentru mixarea mai multor fluxuri audio, cum ar fi muzică și notificări de mesaje noi. iOS nu face excepție. Pe Internet puteți găsi multe afirmații că pe iOS muzica în format AAC nu este transcodificată atunci când este transmisă prin Bluetooth, ceea ce nu este adevărat.

MP1/2/3

Codecurile din familia MPEG-1/2 Part 3 constau din binecunoscutul și utilizat pe scară largă MP3, MP2 mai puțin obișnuit (folosit în principal în televiziunea digitală și radio) și MP1 complet necunoscut.

Vechile codecuri MP1 și MP2 nu sunt acceptate deloc: nu am găsit căști sau stivă Bluetooth care să le codifice sau să le decodeze.
Decodarea MP3 este acceptată de unele căști, dar codificarea nu este acceptată pe niciun sistem de operare modern. Se pare că stiva terță parte BlueSoleil pentru Windows poate codifica în MP3 dacă modificați manual fișierul de configurare, dar pentru mine instalarea lui duce la BSoD pe ​​Windows 10. Concluzie - codecul de fapt nu poate fi folosit pentru audio Bluetooth.
Anterior, în 2006-2008, înainte de răspândirea standardului A2DP în dispozitive, oamenii ascultau muzică MP3 pe căștile Nokia BH-501 prin programul MSI BluePlayer, care era disponibil pe Symbian și Windows Mobile. La acea vreme, arhitectura sistemului de operare a smartphone-urilor permitea accesul la multe funcții de nivel scăzut, iar pe Windows Mobile era chiar posibil să se instaleze stive Bluetooth de la terți.

Ultimul brevet al codecului MP3 a expirat, utilizarea codecului nu necesită taxe de licență din 23 aprilie 2017.

Dacă se ia drept măsură cel mai longeviv brevet menționat în referințele menționate mai sus, atunci tehnologia MP3 a devenit fără brevet în Statele Unite pe 16 aprilie 2017, când a expirat brevetul american 6,009,399, deținut și administrat de Technicolor.

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

Frecvența de eșantionare
Rata de biți
Suport pentru codificare
Suport pentru decodare

16 - 48 kHz
8 - 320 kbps
Nu este acceptat nicăieri
Unele dispozitive audio (hardware)

LDAC

Un codec „Hi-Res” nou și promovat activ de la Sony, care acceptă rate de eșantionare de până la 96 kHz și 24 de biți, cu rate de biți de până la 990 kbps. Este promovat ca un codec audiofil, ca înlocuitor pentru codecurile Bluetooth existente. Are funcția de ajustare adaptivă a ratei de biți, în funcție de condițiile de transmisie radio.

codificator LDAC (libldac) este inclus în pachetul standard Android, astfel încât codificarea este acceptată pe orice smartphone Android începând cu versiunea 8 a sistemului de operare. Nu există decodoare software disponibile gratuit, specificația codecului nu este disponibilă publicului larg, cu toate acestea, la prima vedere asupra codificatorului, structura internă a codecului este similară cu ATRAC9 - Codecul Sony utilizat în PlayStation 4 și Vita: ambele funcționează în domeniul frecvenței, folosesc o transformare cosinus discretă (MDCT) și compresie folosind algoritmul Huffman.

Suportul LDAC este asigurat aproape exclusiv de căștile de la Sony. Capacitatea de a decoda LDAC se găsește uneori pe căști și DAC-uri de la alți producători, dar foarte rar.

Frecvența de eșantionare
Rata de biți
Suport pentru codificare
Suport pentru decodare

44.1 - 96 kHz
303/606/909 kbit/s (pentru 44.1 și 88.2 kHz), 330/660/990 kbit/s (pentru 48 și 96 kHz)
Android 8 +
Unele căști Sony și unele dispozitive de la alți producători (hardware)

Comercializarea LDAC ca codec Hi-Res dăunează componentei sale tehnice: este stupid să cheltuiți rata de biți pentru a transmite frecvențe inaudibile de urechea umană și pentru a crește adâncimea de biți, în timp ce nu este suficient să transmiteți calitatea CD (44.1/16) fără pierderi. . Din fericire, codecul are două moduri de funcționare: transmisie audio CD și transmisie audio Hi-Res. În primul caz, numai 44.1 kHz/16 biți sunt transmise prin aer.

Deoarece un decodor LDAC software nu este disponibil gratuit, este imposibil să testați codecul fără dispozitive suplimentare care decodifică LDAC. Conform rezultatelor testului LDAC pe un DAC cu suportul acestuia, pe care inginerii SoundGuys.com l-au conectat printr-o ieșire digitală și au înregistrat sunetul de ieșire pe semnalele de testare, LDAC 660 și 990 kbps în modul de calitate CD oferă un semnal de transmisie. raportul de zgomot puțin mai bun decât cel al aptX HD.

Audio prin Bluetooth: cât mai multe detalii posibil despre profiluri, codecuri și dispozitive
Sursa: www.soundguys.com/ldac-ultimate-bluetooth-guide-20026

LDAC acceptă, de asemenea, rate de biți dinamice în afara profilurilor stabilite - de la 138 kbps la 990 kbps, dar din câte îmi pot da seama, Android folosește doar profilurile standardizate 303/606/909 și 330/660/990 kbps.

Alte codecuri

Alte codecuri A2DP nu sunt utilizate pe scară largă. Suportul lor este fie aproape complet absent, fie disponibil doar pe anumite modele de căști și smartphone-uri.
Codecul ATRAC standardizat în A2DP nu a fost niciodată folosit ca codec Bluetooth chiar și de către Sony înșiși, codecurile Samsung HD, Samsung Scalable și Samsung UHQ-BT au suport foarte limitat de la dispozitivele de transmitere și recepție, iar HWA LHDC este prea nou și acceptă doar trei (?) dispozitive.

Suport codec pentru dispozitive audio

Nu toți producătorii publică informații exacte despre codecurile care sunt acceptate de anumite căști, difuzoare, receptoare sau transmițătoare fără fir. Uneori se întâmplă ca suportul pentru un anumit codec să fie doar pentru transmisie, dar nu și pentru recepție (relevant pentru emițătoare-receptoare combinate), deși producătorul pur și simplu declară „suport”, fără note (presupun că licențierea separată a codificatoarelor și decodorelor unora codecurile sunt de vină pentru asta). În cele mai ieftine dispozitive, este posibil să nu găsiți deloc suportul declarat pentru aptX.

Din păcate, interfețele majorității sistemelor de operare nu afișează codecul folosit nicăieri. Informațiile despre acest lucru sunt disponibile numai în Android, începând cu versiunea 8, și macOS. Cu toate acestea, chiar și în aceste sisteme de operare, vor fi afișate numai acele codecuri care sunt acceptate atât de telefon/computer, cât și de căști.

Cum poți afla ce codecuri acceptă dispozitivul tău? Înregistrați și analizați descărcarea de trafic cu parametrii de negociere A2DP!
Acest lucru se poate face pe Linux, macOS și Android. Pe Linux puteți folosi Wireshark sau hcidump, pe macOS puteți utiliza Bluetooth Explorer, iar pe Android puteți utiliza funcția standard de salvare a dumpului Bluetooth HCI, care este disponibilă în instrumentele pentru dezvoltatori. Veți primi un dump în format btsnoop, care poate fi încărcat în analizorul Wireshark.
Nota: o descărcare corectă poate fi obținută numai prin conectarea de la telefon/computer la căști/difuzoare (indiferent cât de amuzant ar suna)! Căștile pot stabili independent o conexiune cu telefonul, caz în care vor solicita o listă de codecuri de pe telefon, și nu invers. Pentru a vă asigura că este înregistrată descărcarea corectă, mai întâi deconectați dispozitivul și apoi asociați telefonul cu căștile în timp ce înregistrați descărcarea.

Utilizați următorul filtru de afișare pentru a filtra traficul irelevant:

btavdtp.signal_id

Ca rezultat, ar trebui să vedeți ceva similar cu acesta:
Audio prin Bluetooth: cât mai multe detalii posibil despre profiluri, codecuri și dispozitive

Puteți face clic pe fiecare element din comanda GetCapabilities pentru a vedea caracteristicile detaliate ale codecului.
Audio prin Bluetooth: cât mai multe detalii posibil despre profiluri, codecuri și dispozitive

Wireshark nu cunoaște toți identificatorii de codec, așa că unele codecuri vor trebui decriptate manual, uitându-se la tabelul de identificatori de mai jos:

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

Pentru a nu analiza manual depozitele, am realizat un serviciu care va analiza totul automat: btcodecs.valdikss.org.ru

Comparație de codecuri. Care codec este mai bun?

Fiecare codec are propriile sale avantaje și dezavantaje.
aptX și aptX HD folosesc profile hard-coded care nu pot fi schimbate fără modificarea codificatorului și decodorului. Nici producătorul telefonului, nici producătorul căștilor nu pot modifica rata de biți sau factorii de codificare aptX. Proprietarul codecului, Qualcomm, oferă un codificator de referință sub forma unei biblioteci. Aceste fapte reprezintă puterea aptX - știți dinainte ce calitate a sunetului veți obține, fără niciun „dar”.

SBC, în schimb, are mulți parametri configurabili, rata de biți dinamică (encoderul poate reduce parametrul pool-ului de biți dacă undele sunt ocupate) și nu are profile hard-coded, doar „calitate medie” și „calitate înaltă” recomandate care au fost adăugat la specificația A2DP în anul 2003. „Calitate înaltă” nu mai este atât de ridicată în conformitate cu standardele actuale, iar majoritatea stack-urilor Bluetooth nu vă permit să utilizați parametrii mai bine decât profilul „de înaltă calitate”, deși nu există restricții tehnice pentru acest lucru.
Bluetooth SIG nu are un codificator SBC de referință ca bibliotecă, iar producătorii îl implementează ei înșiși.
Acestea sunt punctele slabe ale SBC - nu este niciodată clar în prealabil la ce calitate a sunetului să vă așteptați de la un anumit dispozitiv. SBC poate produce atât sunet de calitate scăzută, cât și de foarte înaltă calitate, dar acesta din urmă este de neatins fără dezactivarea sau ocolirea limitărilor artificiale ale stivelor Bluetooth.

Situația cu AAC este ambiguă: pe de o parte, teoretic, codecul ar trebui să producă o calitate care nu se poate distinge de original, dar în practică, judecând după testele laboratorului SoundGuys pe diferite dispozitive Android, acest lucru nu este confirmat. Cel mai probabil, vina este a codificatoarelor audio hardware de calitate scăzută încorporate în diferite chipset-uri ale telefonului. Este logic să utilizați AAC numai pe dispozitivele Apple și pe Android pentru a-l limita la aptX și LDAC.

Hardware-ul care acceptă codecuri alternative tinde să fie de calitate superioară, pur și simplu pentru că pentru dispozitive foarte ieftine, de calitate scăzută, nu are sens să plătiți taxe de licență pentru a utiliza acele codecuri. În testele mele, SBC sună foarte bine pe echipamente de calitate.

Am realizat un serviciu web care codifică audio în SBC, aptX și aptX HD în timp real, chiar în browser. Cu acesta, puteți testa aceste codecuri audio fără a transmite efectiv audio prin Bluetooth, pe orice căști cu fir, difuzoare și muzica preferată și, de asemenea, puteți modifica direct parametrii de codificare în timpul redării audio:
btcodecs.valdikss.org.ru/sbc-encoder
Serviciul folosește bibliotecile de codare SBC din proiectul BlueZ și libopenaptx din ffmpeg, care sunt compilate în WebAssembly și JavaScript din C, prin emscripten, pentru a rula în browser. Cine ar putea visa la un asemenea viitor!

Iată cum arată:

Observați cum se modifică nivelul de zgomot după 20 kHz pentru diferite codecuri. Fișierul MP3 original nu conține frecvențe peste 20 kHz.

Încercați să comutați codecuri și vedeți dacă auziți diferența dintre originalul, SBC 53 Joint Stereo (profilul standard și cel mai comun) și aptX/aptX HD.

Aud diferența dintre codecuri în căști!

Oamenii care nu aud diferența dintre codecuri în timpul testării prin intermediul unui serviciu web susțin că o aud atunci când ascultă muzică pe căști fără fir. Din păcate, aceasta nu este o glumă sau un efect placebo: diferența este cu adevărat audibilă, dar nu este cauzată de diferențe codecuri.

Marea majoritate a chipset-urilor audio Bluetooth utilizate în dispozitivele de recepție fără fir sunt echipate cu un procesor de semnal digital (DSP), care implementează un egalizator, un compander, un expander stereo și alte lucruri menite să îmbunătățească (sau să schimbe) sunetul. Producătorii de echipamente Bluetooth pot configura DSP pentru fiecare codec separat, iar atunci când comută între codecuri, ascultătorul va crede că aude o diferență în funcționarea codec-urilor, când în realitate ascultă diferite setări DSP.

Audio prin Bluetooth: cât mai multe detalii posibil despre profiluri, codecuri și dispozitive
Conducta de procesare audio DSP Kalimba în cipuri fabricate de CSR/Qualcomm

Audio prin Bluetooth: cât mai multe detalii posibil despre profiluri, codecuri și dispozitive
Activați diferite funcții DSP pentru fiecare codec și ieșiți separat

Unele dispozitive premium vin cu software care vă permite să personalizați setările DSP, dar majoritatea căștilor mai ieftine nu, iar utilizatorii nu pot dezactiva manual postprocesarea audio.

Caracteristicile funcționale ale dispozitivelor

Versiunea modernă a standardului A2DP are Funcția „control absolut al volumului”. — controlul volumului dispozitivului folosind comenzi speciale ale protocolului AVRCP, care reglează câștigul etapei de ieșire, în loc să reducă programatic volumul fluxului audio. Dacă atunci când schimbați volumul la căști, modificarea nu se sincronizează cu volumul telefonului, atunci căștile sau telefonul nu acceptă această funcție. În acest caz, este logic să ascultați întotdeauna muzică cu volum maxim pe telefon, ajustând volumul real cu butoanele căștilor - în acest caz, raportul semnal-zgomot va fi mai bun și calitatea audio trebuie să fie de mai sus.
În realitate, există situații triste. Pe căștile mele RealForce OverDrive D1 pentru SBC, un compander puternic este pornit, iar creșterea volumului duce la o creștere a nivelului sunetelor silentioase, în timp ce volumul sunetelor puternice nu se modifică (semnalul este comprimat). Din această cauză, trebuie să setați volumul de pe computer la aproximativ jumătate, caz în care practic nu există efect de compresie.
Conform observațiilor mele, toate căștile cu codecuri suplimentare acceptă funcția de control absolut al volumului, se pare că aceasta este una dintre cerințele pentru certificarea codecului.

Suport pentru unele căști conectarea a două dispozitive în același timp. Acest lucru vă permite, de exemplu, să ascultați muzică de pe computer și să primiți apeluri de pe telefon. Cu toate acestea, ar trebui să știți că în acest mod codecurile alternative sunt dezactivate și este utilizat numai SBC.

AVDTP 1.3 Funcția de raportare întârziere permite căștilor să comunice întârzierea dispozitivului de transmisie la care sunetul este redat efectiv. Acest lucru vă permite să ajustați sincronizarea audio cu video în timp ce vizualizați fișiere video: dacă există probleme cu transmisia radio, sunetul nu va rămâne în urma videoclipului, ci, dimpotrivă, videoclipul va fi încetinit de playerul video până la audio și video sunt din nou sincronizate.
Funcția este acceptată de multe căști, Android 9+ și Linux cu PulseAudio 12.0+. Nu cunosc suportul pentru această funcție pe alte platforme.

Comunicare bidirecțională prin Bluetooth. Transmisie vocală.

Pentru transmisia vocală în Bluetooth, se utilizează Synchronous Connection Oriented (SCO) - transmisie sincronă cu negocierea prealabilă a conexiunii. Modul vă permite să transmiteți sunetul și vocea strict în ordine, cu viteze de trimitere și recepție simetrice, fără a aștepta confirmarea transmisiei și retrimiterea pachetelor. Acest lucru reduce întârzierea generală a transmisiei audio pe canalul radio, dar impune restricții serioase asupra cantității de date transmise pe unitatea de timp și afectează negativ calitatea.
Când se utilizează acest mod, atât vocea, cât și audio sunt transmise cu aceeași calitate.
Din păcate, din 2019, calitatea vocii prin Bluetooth este încă slabă și nu este clar de ce Bluetooth SIG nu face nimic în acest sens.

CVSD

Codecul de vorbire CVSD de bază a fost standardizat în 2002 și este acceptat de toate dispozitivele de comunicare Bluetooth bidirecționale. Oferă transmisie audio cu o frecvență de eșantionare de 8 kHz, ceea ce corespunde calității telefoniei cu fir convenționale.

Un exemplu de înregistrare în acest codec.

mSBC

Codecul suplimentar mSBC a fost standardizat în 2009, iar în 2010 au apărut deja cipuri care îl folosesc pentru transmisia vocală. mSBC este acceptat pe scară largă de diverse dispozitive.
Acesta nu este un codec independent, ci un SBC obișnuit din standardul A2DP, cu un profil de codare fix: 16 kHz, mono, bitpool 26.

Un exemplu de înregistrare în acest codec.

Nu genial, dar mult mai bun decât CVSD, dar este totuși enervant de folosit pentru comunicarea online, mai ales când folosești căști pentru a comunica în joc - sunetul jocului va fi transmis și la o rată de eșantionare de 16 kHz.

Compania FastStreamCSR a decis să dezvolte ideea de a utiliza SBC. Pentru a ocoli limitările protocolului SCO și a utiliza rate de biți mai mari, CSR a mers pe o altă cale - au introdus suport pentru audio SBC bidirecțional în standardul de transmisie audio unidirecțională A2DP, profiluri de codificare standardizate și l-au numit „FastStream”.

FastStream transmite audio stereo la 44.1 sau 48 kHz cu un bitrate de 212 kbps către difuzoare, iar mono, 16 kHz, cu un bitrate de 72 kbps este folosit pentru a transmite audio de la microfon (puțin mai bun decât mSBC). Astfel de parametri sunt mult mai potriviți pentru comunicarea în jocurile online - sunetul jocului și interlocutorii vor fi de înaltă calitate.

Un exemplu de înregistrare în acest codec (+ sunet de la microfon, la fel ca mSBC).

Compania a venit cu o cârjă interesantă, dar datorită faptului că contrazice standardul A2DP, este acceptată doar de unele dintre transmițătoarele companiei (care funcționează ca placă audio USB, nu dispozitiv Bluetooth), dar nu primiți suport în stive Bluetooth.deși numărul de căști cu suport FastStream nu este atât de mic.

În prezent, suportul FastStream în sistemul de operare este doar ca un patch pentru Linux PulseAudio de la dezvoltatorul Pali Rohár, care nu este inclus în ramura principală a programului.

aptX Latență scăzută

Spre surprinderea ta, aptX Low Latency acceptă și audio bidirecțional, implementând același principiu ca FastStream.
Nu este posibil să utilizați această caracteristică a codecului oriunde - nu există suport pentru decodarea cu latență scăzută în orice sistem de operare sau în orice stivă Bluetooth cunoscută de mine.

Bluetooth 5, clasic și cu energie redusă

A existat multă confuzie în legătură cu specificațiile și versiunile Bluetooth din cauza prezenței a două standarde incompatibile sub aceeași marcă, ambele fiind utilizate pe scară largă în scopuri diferite.

Există două protocoale Bluetooth diferite, incompatibile: Bluetooth Classic și Bluetooth Low Energy (LE, cunoscut și sub numele de Bluetooth Smart). Există și un al treilea protocol, Bluetooth High Speed, dar nu este larg răspândit și nu este folosit în dispozitivele de uz casnic.

Începând cu Bluetooth 4.0, modificările în specificație au vizat în principal Bluetooth Low Energy, iar versiunea Classic au primit doar îmbunătățiri minore.

Lista modificărilor între Bluetooth 4.2 și Bluetooth 5:

9 MODIFICĂRI DE LA v4.2 LA 5.0

9.1 NOI CARACTERISTICI

Mai multe funcții noi sunt introduse în versiunea 5.0 a specificației de bază Bluetooth. Principalele domenii de îmbunătățire sunt:
• Slot Availability Mask (SAM)
• 2 Msym/s PHY pentru LE
•LE Long Range
• Publicitate neconectabilă cu ciclu de lucru ridicat
• Extensii de publicitate LE
• Algoritmul LE Channel Selection #2
9.1.1 Caracteristici adăugate în CSA5 - Integrat în v5.0
• Putere de ieșire mai mare

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

O singură modificare a afectat versiunea Classic în cadrul specificației Bluetooth 5: au adăugat suport pentru tehnologia Slot Availability Mask (SAM), concepută pentru a îmbunătăți separarea transmisiilor radio. Toate celelalte modificări afectează numai Bluetooth LE (și puterea de ieșire mai mare de asemenea).

toate Dispozitivele audio folosesc numai Bluetooth Classic. Este imposibil să conectați căști și difuzoare prin Bluetooth Low Energy: nu există un standard pentru transmiterea audio folosind LE. Standardul A2DP, folosit pentru transmiterea audio de înaltă calitate, funcționează numai prin Bluetooth Classic și nu există analogic în LE.

Concluzie - achiziționarea de dispozitive audio cu Bluetooth 5 doar datorită noii versiuni a protocolului este inutilă. Bluetooth 4.0/4.1/4.2 în contextul transmisiei audio va funcționa exact la fel.
Dacă anunțul noilor căști menționează o rază de funcționare dublată și un consum redus de energie datorită Bluetooth 5, atunci trebuie să știți că acestea fie nu înțeleg singuri, fie vă induc în eroare. Nu e de mirare, pentru că până și producătorii de cipuri Bluetooth în anunțurile lor sunt confuzi cu privire la diferențele dintre noua versiune a standardului, iar unele cipuri Bluetooth 5 acceptă a cincea versiune doar pentru LE și folosesc 4.2 pentru Classic.

Întârziere transmisie audio

Cantitatea de întârziere (lag) în audio depinde de mulți factori: dimensiunea buffer-ului din stiva audio, în stiva Bluetooth și în dispozitivul de redare fără fir în sine și întârzierea algoritmică a codecului.

Latența codecurilor simple precum SBC, aptX și aptX HD este foarte mică, de 3-6 ms, ceea ce poate fi neglijat, dar codecurile complexe precum AAC și LDAC pot provoca întârzieri vizibile. Latența algoritmică AAC pentru 44.1 kHz este de 60 ms. LDAC - aproximativ 30 ms (pe baza unei analize aproximative a codului sursă. Aș putea greși, dar nu prea mult.)

Latența rezultată depinde în mare măsură de dispozitivul de redare, chipset-ul și bufferul acestuia. În timpul testelor, am primit o propagare de la 150 la 250 ms pe diferite dispozitive (cu codecul SBC). Dacă presupunem că dispozitivele care acceptă codecuri suplimentare aptX, AAC și LDAC folosesc componente de înaltă calitate și o dimensiune mică a memoriei tampon, obținem următoarele latențe tipice:

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

Permiteți-mi să vă reamintesc: aptX Low Latency nu este acceptat în sistemele de operare, motiv pentru care o latență mai mică poate fi obținută doar cu o combinație emițător+receptor sau transmițător+căști/difuzor, iar toate dispozitivele trebuie să accepte acest codec.

Probleme cu dispozitivul Bluetooth, certificarea și logo-ul

Cum să distingem un dispozitiv audio de înaltă calitate de o ambarcațiune ieftină? În aparență, în primul rând!

Pentru căști, difuzoare și receptoare chinezești ieftine:

  1. Cuvântul „Bluetooth” lipsește pe cutie și pe dispozitiv, „Wireless” și „BT” sunt cel mai des folosite
  2. Sigla Bluetooth lipsește Audio prin Bluetooth: cât mai multe detalii posibil despre profiluri, codecuri și dispozitive pe cutie sau dispozitiv
  3. Niciun LED albastru intermitent

Absența acestor elemente indică faptul că dispozitivul nu a fost certificat, ceea ce înseamnă că este potențial de calitate scăzută și problematic. De exemplu, căștile Bluedio nu sunt certificate Bluetooth și nu respectă pe deplin specificația A2DP. Nu ar fi trecut de certificare.

Să luăm în considerare mai multe dispozitive și cutii din ele:
Audio prin Bluetooth: cât mai multe detalii posibil despre profiluri, codecuri și dispozitive

Audio prin Bluetooth: cât mai multe detalii posibil despre profiluri, codecuri și dispozitive

Audio prin Bluetooth: cât mai multe detalii posibil despre profiluri, codecuri și dispozitive

Toate acestea sunt dispozitive necertificate. Instrucțiunile pot conține o siglă și numele tehnologiei Bluetooth, dar cel mai important lucru este că acestea sunt pe cutie și/sau pe dispozitiv în sine.

Dacă căștile sau difuzorul spun „Ze bluetooth dewise este conectat cu succes”, acest lucru nu indică nici calitatea lor:

Concluzie

Poate Bluetooth să înlocuiască complet căștile și căștile cu fir? Este capabil, dar cu prețul unei calități slabe a apelurilor, al unei latențe audio crescute care poate fi enervantă în jocuri și al unei multitudini de codecuri proprietare care necesită taxe de licență și cresc costul final atât pentru smartphone-uri, cât și pentru căști.

Comercializarea codec-urilor alternative este foarte puternică: aptX și LDAC sunt prezentate ca un înlocuitor mult așteptat pentru SBC-ul „învechit și prost”, care nu este nici pe departe atât de rău pe cât cred oamenii că este.

După cum s-a dovedit, limitările artificiale ale stivelor Bluetooth asupra ratei de biți SBC pot fi ocolite, astfel încât SBC să nu fie inferior aptX HD. Am luat inițiativa în propriile mâini și am făcut un patch pentru firmware-ul LineageOS: Modificăm stiva Bluetooth pentru a îmbunătăți sunetul la căști fără codecuri AAC, aptX și LDAC

Mai multe informații pot fi găsite pe site-urile web Băieți de sunet и SoundExpert.

bonus: Codificator de referință SBC, informații de flux de biți A2DP și fișiere de testare. Acest fișier era postat public pe site-ul web Bluetooth, dar acum este disponibil numai pentru membrii Bluetooth SIG.

Sursa: www.habr.com

Adauga un comentariu