{"id":35159,"date":"2019-10-31T22:02:38","date_gmt":"2019-10-31T19:02:38","guid":{"rendered":"https:\/\/prohoster.info\/blog\/modifitsiruem-bluetooth-stek-dlya-uluchsheniya-zvuka-na-naushnikah-bez-kodekov-aac-aptx-i-ldac\/"},"modified":"2019-10-31T22:02:38","modified_gmt":"2019-10-31T19:02:38","slug":"modifitsiruem-bluetooth-stek-dlya-uluchsheniya-zvuka-na-naushnikah-bez-kodekov-aac-aptx-i-ldac","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/modifitsiruem-bluetooth-stek-dlya-uluchsheniya-zvuka-na-naushnikah-bez-kodekov-aac-aptx-i-ldac","title":{"rendered":"Modific\u0103m stiva Bluetooth pentru a \u00eembun\u0103t\u0103\u021bi sunetul c\u0103\u0219tilor f\u0103r\u0103 codec-uri AAC, aptX \u0219i LDAC","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>\u00cenainte de a citi acest articol, se recomand\u0103 s\u0103 consulta\u021bi articolul anterior: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/427997\/\">Audio prin Bluetooth: tot ce trebuie s\u0103 \u0219ti\u021bi despre profile, codecuri \u0219i dispozitive<\/a><\/noindex><\/i><\/p>\n<p>Unii utilizatori de c\u0103\u0219ti wireless men\u021bioneaz\u0103 calitatea audio sc\u0103zut\u0103 \u0219i lipsa frecven\u021belor \u00eenalte atunci c\u00e2nd folosesc codec-ul standard Bluetooth SBC, care este acceptat de toate dispozitivele audio. O recomandare frecvent\u0103 pentru \u00eembun\u0103t\u0103\u021birea sunetului este achizi\u021bionarea de dispozitive \u0219i c\u0103\u0219ti care suport\u0103 codec-urile aptX \u0219i LDAC. Aceste codec-uri necesit\u0103 pl\u0103\u021bi de licen\u021b\u0103, a\u0219adar dispozitivele care le suport\u0103 sunt mai scumpe.<\/p>\n<p>Se pare c\u0103 calitatea sc\u0103zut\u0103 a SBC este cauzat\u0103 de limit\u0103rile artificiale ale stivelor Bluetooth \u0219i ale set\u0103rilor c\u0103\u0219tilor, iar aceast\u0103 limitare poate fi dep\u0103\u0219it\u0103 pe orice dispozitiv existent prin modific\u0103ri software ale smartphone-ului sau computerului.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Codec-ul SBC<\/h2>\n<p>Codec-ul SBC are o mul\u021bime de parametri diferi\u021bi care sunt conveni\u021bi \u00een etapa de conectare. Printre ace\u0219tia se num\u0103r\u0103:<\/p>\n<ul>\n<li>Num\u0103rul \u0219i tipul canalelor: Joint Stereo, Stereo, Dual Channel, Mono;<\/li>\n<li>Num\u0103rul de benzi de frecven\u021b\u0103: 4 sau 8;<\/li>\n<li>Num\u0103rul de blocuri din pachet: 4, 8, 12, 16;<\/li>\n<li>Algoritmul de distribu\u021bie a bitilor \u00een timpul cuantific\u0103rii: Loudness, SNR;<\/li>\n<li>Valoarea maxim\u0103 \u0219i minim\u0103 a pool-ului de bi\u021bi utilizat \u00een timpul cuantific\u0103rii (bitpool): de obicei, de la 2 la 53.<\/li>\n<\/ul>\n<p>Dispozitivul de decodare trebuie s\u0103 suporte orice combina\u021bie a acestor parametri. Dispozitivul de encodare poate s\u0103 nu implementeze toate.<br \/>\nStivele Bluetooth existente, \u00een general, conveneaz\u0103 urm\u0103torul profil: Joint Stereo, 8 benzi, 16 blocuri, Loudness, bitpool 2..53. Acest profil codeaz\u0103 audio de 44.1 kHz cu un bitrate de 328 kbps.<br \/>\nParametrul bitpool influen\u021beaz\u0103 direct bitrate-ul \u00een cadrul unui profil: cu c\u00e2t este mai mare, cu at\u00e2t este mai mare bitrate-ul \u0219i, prin urmare, \u0219i calitatea.<br \/>\nCu toate acestea, parametrul bitpool nu este legat de un profil specific; influen\u021ba asupra bitrate-ului este, de asemenea, semnificativ afectat\u0103 de al\u021bi parametri: tipul canalelor, num\u0103rul de benzi de frecven\u021b\u0103, num\u0103rul de blocuri. Se poate cre\u0219te bitrate-ul indirect prin convenirea unor profili non-standard, f\u0103r\u0103 a schimba bitpool.<\/p>\n<p><img decoding=\"async\" alt=\"Modific\u0103m stiva Bluetooth pentru a \u00eembun\u0103t\u0103\u021bi sunetul c\u0103\u0219tilor f\u0103r\u0103 codec-uri AAC, aptX \u0219i LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/4836fdb65b1204173bd6e01ef2d0cc6c.svg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\n<i>Formula de calcul a bitrate-ului SBC<\/i><\/p>\n<p>\nDe exemplu, modul Dual Channel codeaz\u0103 canalele separat, folosind \u00eentregul bitpool pentru fiecare dintre canale. For\u021b\u00e2nd dispozitivul s\u0103 utilizeze Dual Channel \u00een loc de Joint Stereo, vom ob\u021bine aproape dublul bitrate-ului cu aceea\u0219i valoare maxim\u0103 a bitpool-ului: 617 kbps.<br \/>\n\u00cen opinia mea, utilizarea unei valori de bitpool care nu este legat\u0103 de profil la etapa de negociere este o deficien\u021b\u0103 a standardului A2DP, care a dus la limitarea artificial\u0103 a calit\u0103\u021bii SBC. Ar fi fost mai \u00een\u021belept s\u0103 se negocieze bitrate-ul, nu bitpool-ul.<\/p>\n<p>Aceste valori fixe pentru Bitpool \u0219i Bitrate \u00ee\u0219i au originea \u00eentr-o tabel\u0103 cu valori recomandate pentru utilizarea \u00een audio de \u00eenalt\u0103 calitate. Dar o recomandare nu este un motiv pentru a te limita la aceste valori.<\/p>\n<p><img decoding=\"async\" alt=\"Modific\u0103m stiva Bluetooth pentru a \u00eembun\u0103t\u0103\u021bi sunetul c\u0103\u0219tilor f\u0103r\u0103 codec-uri AAC, aptX \u0219i LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/1076b610245c4bcb88e5812bdea27e60.svg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSpecifica\u021bia A2DP v1.2, care a fost activ\u0103 din 2007 p\u00e2n\u0103 \u00een 2015, prevede c\u0103 toate dispozitivele de decodare trebuie s\u0103 func\u021bioneze corect cu bitrate-uri de p\u00e2n\u0103 la 512 kbps:<\/p>\n<blockquote><p>Decodorul SNK trebuie s\u0103 suporte toate valorile posibile de bitpool care nu rezult\u0103 \u00eentr-o dep\u0103\u0219ire a bitrate-ului maxim. Acest profil limiteaz\u0103 bitrate-ul maxim disponibil la 320kbps pentru mono \u0219i 512kbps pentru moduri cu dou\u0103 canale.<\/p><\/blockquote>\n<p>\u00cen noua versiune a specifica\u021biei, limita de bitrate nu mai exist\u0103. Se presupune c\u0103 c\u0103\u0219tile moderne, lansate dup\u0103 2015 \u0219i care suport\u0103 EDR, pot sus\u021bine bitrate-uri de p\u00e2n\u0103 la \u2248730 kbps.<\/p>\n<p>Dintr-un anumit motiv, am constatat c\u0103 majoritatea stivelor Bluetooth verificate de mine \u00een Linux (PulseAudio), Android, Blackberry \u0219i macOS au limit\u0103ri artificiale ale valorii maxime a parametrului bitpool, care influen\u021beaz\u0103 direct bitrate-ul maxim. Dar aceasta nu este cea mai mare problem\u0103, aproape toate c\u0103\u0219tile limiteaz\u0103 de asemenea valoarea maxim\u0103 a bitpool-ului la 53.<br \/>\nA\u0219a cum m-am convins, majoritatea dispozitivelor func\u021bioneaz\u0103 perfect pe o stiv\u0103 Bluetooth modificat\u0103 cu un bitrate de 551 kbps, f\u0103r\u0103 \u00eentreruperi \u0219i zgomote. Dar un astfel de bitrate nu va fi niciodat\u0103 negociat \u00een condi\u021bii normale, pe stive Bluetooth obi\u0219nuite.<\/p>\n<h2>Modificarea stivei Bluetooth<\/h2>\n<p>\u00cen orice stiv\u0103 Bluetooth compatibil\u0103 cu standardul A2DP, exist\u0103 suport pentru modul Dual Channel, dar activarea sa prin interfa\u021b\u0103 nu este posibil\u0103.<\/p>\n<p>S\u0103 ad\u0103ug\u0103m un comutator \u00een interfa\u021b\u0103! Am realizat patch-uri pentru Android 8.1 \u0219i Android 9, care adaug\u0103 suport complet pentru Dual Channel \u00een stiv\u0103, adaug\u0103 modul \u00een meniul de comutare a modului \u00een instrumentele pentru dezvoltatori \u0219i proceseaz\u0103 SBC cu suport pentru Dual Channel ca \u0219i cum ar fi un codec suplimentar, precum aptX, AAC sau LDAC (Android nume\u0219te aceasta audio HD), ad\u0103ug\u00e2nd un bifeaz\u0103 \u00een set\u0103rile dispozitivului Bluetooth. Iat\u0103 cum arat\u0103:<\/p>\n<p><img decoding=\"async\" alt=\"Modific\u0103m stiva Bluetooth pentru a \u00eembun\u0103t\u0103\u021bi sunetul c\u0103\u0219tilor f\u0103r\u0103 codec-uri AAC, aptX \u0219i LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/5f14e2955f1dcaefa8ddc4b8fa413de1.svg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/review.lineageos.org\/q\/topic:bt-sbc-hd-dualchannel-pie+(status:open%20OR%20status:merged)\">Patch pentru Android 9<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/review.lineageos.org\/q\/topic:bt-sbc-hd-dualchannel+(status:open%20OR%20status:merged)\">Patch pentru Android 8.1<\/a><\/noindex><\/p>\n<p>C\u00e2nd bifezi, audio Bluetooth \u00eencepe s\u0103 fie transmis cu bitrate-ul <b>551 kbps<\/b>, dac\u0103 c\u0103\u0219tile suport\u0103 o conexiune la viteza de 3 Mbps, sau <b>452 kbit\/s<\/b>, dac\u0103 c\u0103\u0219tile suport\u0103 doar 2 Mbit\/s.<\/p>\n<p>Aceast\u0103 actualizare este inclus\u0103 \u00een urm\u0103toarele firmware alternative:<\/p>\n<ul>\n<li><b>LineageOS<\/b><\/li>\n<li><b>Resurrection Remix<\/b><\/li>\n<li><b>crDroid<\/b><\/li>\n<\/ul>\n<h2>De unde provin 551 \u0219i 452 kbit\/s?<\/h2>\n<p>Tehnologia de divizare a aerului \u00een Bluetooth este destinat\u0103 transmiterii eficiente a pachetelor mari de dimensiuni fixe. Tranzac\u021bia de date se efectueaz\u0103 pe sloturi, iar cea mai mare cantitate de sloturi trimise \u00eentr-o singur\u0103 transmisie este de 5. Exist\u0103, de asemenea, moduri de transmisie care folosesc 1 sau 3 sloturi, dar nu 2 sau 4. \u00cen 5 sloturi, se pot transmite p\u00e2n\u0103 la 679 de octe\u021bi la viteza de conectare de 2 Mbit\/s \u0219i p\u00e2n\u0103 la 1021 de octe\u021bi la viteza de 3 Mbit\/s, iar \u00een 3 sloturi - 367 \u0219i 552 de octe\u021bi, respectiv.<\/p>\n<p><img decoding=\"async\" alt=\"Modific\u0103m stiva Bluetooth pentru a \u00eembun\u0103t\u0103\u021bi sunetul c\u0103\u0219tilor f\u0103r\u0103 codec-uri AAC, aptX \u0219i LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/c4596cb8ebdbaf2b57e201117e640f2f.svg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDac\u0103 dorim s\u0103 transmitem mai pu\u021bine date dec\u00e2t 679 sau 1021 de octe\u021bi, dar mai mult dec\u00e2t 367 sau 552 de octe\u021bi, transmiterea va dura tot 5 sloturi, iar datele vor fi transmise \u00een acela\u0219i timp, ceea ce reduce eficien\u021ba transmisiei.<\/p>\n<p><img decoding=\"async\" alt=\"Modific\u0103m stiva Bluetooth pentru a \u00eembun\u0103t\u0103\u021bi sunetul c\u0103\u0219tilor f\u0103r\u0103 codec-uri AAC, aptX \u0219i LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/c9b0645c78d41d7d3a9879930c091d2a.svg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSBC \u00een modul Dual Channel, pe audio de 44100 Hz cu parametrii Bitpool 38, 16 blocuri \u00een cadru, 8 benzi de frecven\u021b\u0103, codific\u0103 audio \u00een cadre de dimensiune 164 de octe\u021bi, cu un bit rate de 452 kbits.<br \/>\nAudio trebuie s\u0103 fie \u00eencapsulat \u00een protocoalele de transmisie L2CAP \u0219i AVDTP, care iau 16 octe\u021bi din sarcina util\u0103 audio.<\/p>\n<p><img decoding=\"async\" alt=\"Modific\u0103m stiva Bluetooth pentru a \u00eembun\u0103t\u0103\u021bi sunetul c\u0103\u0219tilor f\u0103r\u0103 codec-uri AAC, aptX \u0219i LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/2fd899e7b521497844e1354ae5f825eb.svg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Astfel, \u00eentr-o transmisie Bluetooth cu 5 sloturi, reu\u0219im s\u0103 \u00eencadram 4 cadre audio:<\/p>\n<pre><code class=\"plaintext\">679 (EDR 2 Mbit\/s DH5) - 4 (L2CAP) - 12 (AVDTP\/RTP) - 1 (antet SBC) - (164*4) = 6<\/code><\/pre>\n<p>\nAm \u00eencadrat 11.7 ms de date audio \u00een pachetul trimis, care va fi transmis \u00een 3.75 ms, \u0219i ne-au r\u0103mas 6 octe\u021bi neutiliza\u021bi \u00een pachet.<br \/>\nDac\u0103 ridic\u0103m pu\u021bin bitpool-ul, 4 cadre audio deja nu vor putea fi \u00eempachetate \u00eentr-un singur pachet. Va trebui s\u0103 trimitem c\u00e2te 3 cadre deodat\u0103, ceea ce reduce eficien\u021ba transmisiei, reduce cantitatea de audio transmis\u0103 \u00eentr-un singur pachet \u0219i va duce mai repede la \u00eentreruperi audio \u00een condi\u021bii proaste de radio.<\/p>\n<p>\u00cen acela\u0219i mod a fost stabilit bit rate-ul de 551 kbit\/s pentru EDR 3 Mbit\/s: cu Bitpool 47, 16 blocuri \u00een cadru, 8 benzi de frecven\u021b\u0103, dimensiunea cadrului devine 200 de octe\u021bi, la un bit rate de 551 kbit\/s. \u00centr-un pachet se \u00eencadreaz\u0103 5 cadre sau 14.6 ms de muzic\u0103.<\/p>\n<p>Algoritmul de calcul al tuturor parametrilor SBC este destul de complex, se poate u\u0219or confunda dac\u0103 se calculeaz\u0103 manual, a\u0219a c\u0103 am realizat un calculator interactiv pentru cei interesa\u021bi: <noindex><a rel=\"nofollow\" href=\"https:\/\/btcodecs.valdikss.org.ru\/sbc-bitrate-calculator\/\">btcodecs.valdikss.org.ru\/sbc-bitrate-calculator<\/a><\/noindex><\/p>\n<h2>De ce este necesar tot acest lucru?<\/h2>\n<p>Contrar opiniilor generale despre calitatea sunetului codec-ului aptX, \u00een anumite fi\u0219iere acesta poate oferi rezultate mai slabe dec\u00e2t SBC cu un bit rate standard de 328 kbit\/s.<\/p>\n<p>SBC aloc\u0103 dinamic bi\u021bi de cuantizare pentru benzile de frecven\u021b\u0103, func\u021bion\u00e2nd pe principiul \u201ede la cele inferioare c\u0103tre cele superioare\u201d. Dac\u0103 tot bit rate-ul este utilizat pentru frecven\u021bele joase \u0219i medii, frecven\u021bele \u00eenalte vor fi \u201et\u0103iate\u201d (\u00een locul acestora va fi lini\u0219te).<br \/>\naptX cuantizeaz\u0103 benzile de frecven\u021b\u0103 cu aceea\u0219i cantitate de bi\u021bi constant, ceea ce \u00eei confer\u0103 un bit rate fix: 352 kbit\/s pentru 44.1 kHz, 384 kbit\/s pentru 48 kHz, \u0219i nu poate \u201etransfera bi\u021bi\u201d c\u0103tre frecven\u021bele care au cea mai mare nevoie de ei. Spre deosebire de SBC, aptX nu va \u201et\u0103ia\u201d frecven\u021bele, ci va ad\u0103uga zgomote de cuantizare \u00een acestea, reduc\u00e2nd gama dinamic\u0103 a audio \u0219i adesea aduc\u00e2nd zama caracteristice de pocnituri. SBC \u201econsume detalii\u201d \u2013 elimin\u0103 cele mai silen\u021bioase por\u021biuni.<br \/>\n\u00cen medie, comparativ cu SBC 328k, aptX introduce mai pu\u021bine distorsiuni \u00een muzica cu un interval larg de frecven\u021be, dar la muzica cu un interval restr\u00e2ns de frecven\u021be \u0219i un interval dinamic larg, SBC 328k c\u00e2teodat\u0103 c\u00e2\u0219tig\u0103.<\/p>\n<p>S\u0103 analiz\u0103m un caz specific. Spectrograma unui \u00eenregistr\u0103ri de pian:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/er\/nq\/rc\/ernqrcwa0ic5mqwopjg5zbu_fxm.png\"><img decoding=\"async\" alt=\"Modific\u0103m stiva Bluetooth pentru a \u00eembun\u0103t\u0103\u021bi sunetul c\u0103\u0219tilor f\u0103r\u0103 codec-uri AAC, aptX \u0219i LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/91247edc12764c6a4985e5a58ec1ad81.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Energia principal\u0103 se afl\u0103 \u00een frecven\u021bele de la 0 la 4 kHz \u0219i continu\u0103 p\u00e2n\u0103 la 10 kHz.<br \/>\nSpectrograma fi\u0219ierului comprimat \u00een aptX arat\u0103 astfel:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/dl\/bl\/do\/dlbldoq_rdrjykephl2ostfbafk.png\"><img decoding=\"async\" alt=\"Modific\u0103m stiva Bluetooth pentru a \u00eembun\u0103t\u0103\u021bi sunetul c\u0103\u0219tilor f\u0103r\u0103 codec-uri AAC, aptX \u0219i LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/aad46eb446ac9c5cffbd0ce8bd11e45b.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Iat\u0103 cum arat\u0103 SBC 328k.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/us\/3m\/ke\/us3mke0av1s_1ezkyk6ycq1g2vo.png\"><img decoding=\"async\" alt=\"Modific\u0103m stiva Bluetooth pentru a \u00eembun\u0103t\u0103\u021bi sunetul c\u0103\u0219tilor f\u0103r\u0103 codec-uri AAC, aptX \u0219i LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/1b879741ea109c10c9e94a9a17830fc6.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Se observ\u0103 c\u0103 SBC 328k a dezactivat periodic complet gama de frecven\u021be de peste 16 kHz \u0219i a consumat \u00eentregul bit rate disponibil pentru benzile inferioare acestei valori. Totu\u0219i, aptX a introdus mai multe distorsiuni \u00een spectrul de frecven\u021be perceput de urechea uman\u0103, ceea ce poate fi observat pe spectrograma original\u0103 sc\u0103zut\u0103 din spectrograma aptX (cu c\u00e2t este mai str\u0103lucitor, cu at\u00e2t mai multe distorsiuni):<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/ug\/-i\/5z\/ug-i5zpihrfnvumf9no_glecqna.png\"><img decoding=\"async\" alt=\"Modific\u0103m stiva Bluetooth pentru a \u00eembun\u0103t\u0103\u021bi sunetul c\u0103\u0219tilor f\u0103r\u0103 codec-uri AAC, aptX \u0219i LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/7820015a2ef3c7f97802de179f2201eb.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>\u00cen timp ce SBC 328k a deteriorat mai pu\u021bin semnalul \u00een banda de frecven\u021be de la 0 la 10 kHz, restul a fost t\u0103iat:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/tf\/x8\/7z\/tfx87z8hpenx51spblrfvkc-ihe.png\"><img decoding=\"async\" alt=\"Modific\u0103m stiva Bluetooth pentru a \u00eembun\u0103t\u0103\u021bi sunetul c\u0103\u0219tilor f\u0103r\u0103 codec-uri AAC, aptX \u0219i LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/793e3011a6aa07f1750cf0a5cca204cf.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Bit rate-ul de 485k SBC a fost suficient pentru a p\u0103stra \u00eentreaga gam\u0103 de frecven\u021be, f\u0103r\u0103 a dezactiva benzile.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/_c\/mc\/xy\/_cmcxyxwlf7u4tv-rbplwk5bmtu.png\"><img decoding=\"async\" alt=\"Modific\u0103m stiva Bluetooth pentru a \u00eembun\u0103t\u0103\u021bi sunetul c\u0103\u0219tilor f\u0103r\u0103 codec-uri AAC, aptX \u0219i LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/27f215a26658b9b2bf3d852f4da96740.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>SBC 485k \u00een aceast\u0103 compozi\u021bie \u00eel dep\u0103\u0219e\u0219te semnificativ pe aptX \u00een banda de frecven\u021be 0-15 kHz, \u0219i cu o diferen\u021b\u0103 mai mic\u0103, dar totu\u0219i semnificativ\u0103, \u00een 15-22 kHz (cu c\u00e2t este mai \u00eenchis, cu at\u00e2t mai pu\u021bine distorsiuni):<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/e-\/qz\/h8\/e-qzh8azmingcbhvuwxj8iptuau.png\"><img decoding=\"async\" alt=\"Modific\u0103m stiva Bluetooth pentru a \u00eembun\u0103t\u0103\u021bi sunetul c\u0103\u0219tilor f\u0103r\u0103 codec-uri AAC, aptX \u0219i LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/b65c37703ee677f561929ba714ed19ec.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/files.catbox.moe\/kpx711.zip\">Arhiva audio original\u0103, SBC \u0219i aptX<\/a><\/noindex>.<\/p>\n<p>Schimb\u00e2nd la SBC cu bit rate \u00eenalt, ve\u021bi ob\u021bine un sunet adesea superior aptX, pe orice c\u0103\u0219ti. Pe c\u0103\u0219tile care suport\u0103 conectivitatea EDR 3 mbit\/s, bit rate-ul de 551 kbit\/s ofer\u0103 sunet comparabil cu aptX HD.<\/p>\n<h2>Se poate \u0219i mai mult?<\/h2>\n<p>\u00cen patch-ul pentru Android exist\u0103 \u0219i o op\u021biune pentru cre\u0219terea \u0219i mai mare a bitrate-ului pentru dispozitivele EDR de 2 Mbps. Bitrate-ul poate fi crescut de la 452 kbps la 595 kbps, cu pre\u021bul unei stabilit\u0103\u021bi mai reduse a transmisiei \u00een condi\u021bii radio dificile.<br \/>\nEste suficient s\u0103 seta\u021bi variabila persist.bluetooth.sbc_hd_higher_bitrate la valoarea 1:<\/p>\n<pre><code class=\"plaintext\"># setprop persist.bluetooth.sbc_hd_higher_bitrate 1<\/code><\/pre>\n<p>\nPatch-ul pentru bitrate extrem a fost acceptat p\u00e2n\u0103 acum numai \u00een LineageOS 15.1, dar nu \u0219i \u00een 16.0.<\/p>\n<h2>Compatibilitate cu dispozitivele<\/h2>\n<p>SBC Dual Channel este suportat de aproape toate c\u0103\u0219tile, boxele \u0219i sistemele auto de head-unit. Nu este de mirare - standardul prevede suportul s\u0103u \u00een orice dispozitiv de decodare. Exist\u0103 un num\u0103r mic de dispozitive la care acest mod cauzeaz\u0103 probleme, dar acestea sunt cazuri izolate.<br \/>\nPentru mai multe detalii despre dispozitivele compatibile, pute\u021bi consulta <noindex>4pda<\/noindex> sau <noindex><a rel=\"nofollow\" href=\"https:\/\/forum.xda-developers.com\/android\/software-hacking\/improve-bluetooth-audio-quality-t3832615\">xda-developers<\/a><\/noindex>.<\/p>\n<h2>Compararea diferen\u021belor de sunet<\/h2>\n<p>Am realizat un serviciu web care codific\u0103 audio \u00een SBC (dar \u0219i \u00een aptX \u0219i aptX HD) \u00een timp real, direct \u00een browser. Cu ajutorul s\u0103u, ve\u021bi putea compara sunetul diferitelor profiluri SBC \u0219i altecodecuri, f\u0103r\u0103 a transmite efectiv audio prin Bluetooth, pe orice c\u0103\u0219ti sau boxe cu fir \u0219i muzica dvs. preferat\u0103, precum \u0219i s\u0103 modifica\u021bi parametrii de codificare \u00een timpul red\u0103rii audio.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/btcodecs.valdikss.org.ru\/sbc-encoder\/\">btcodecs.valdikss.org.ru\/sbc-encoder<\/a><\/noindex><\/p>\n<h2>Contact cu dezvoltatorii Android<\/h2>\n<p>Am scris multor dezvoltatori ai stack-ului Bluetooth de la Google, solicit\u00e2ndu-le s\u0103 ia \u00een considerare includerea patch-urilor \u00een ramura principal\u0103 Android - AOSP, dar nu am primit niciun r\u0103spuns. Patch-urile mele \u00een <noindex><a rel=\"nofollow\" href=\"https:\/\/android-review.googlesource.com\/q\/topic:bt-sbc-hd-dualchannel+(status:open%20OR%20status:merged)\">sistemul de lucru cu patch-uri Gerrit pentru Android<\/a><\/noindex> de asemenea, au r\u0103mas f\u0103r\u0103 comentarii din partea celor implica\u021bi.<br \/>\nA\u0219 fi bucuros dac\u0103 a\u0219 putea fi ajutat \u00een contactul cu dezvoltatorii de la Google \u0219i \u00een implementarea SBC HD \u00een Android. Patch-ul din gerrit este deja \u00eenvechit (este una dintre reviziile timpurii), \u0219i \u00eel voi actualiza dac\u0103 dezvoltatorii sunt interesa\u021bi de modific\u0103rile mele (nu este u\u0219or s\u0103 \u00eel actualizez, nu am dispozitive compatibile cu Android Q).<\/p>\n<h2>Concluzie<\/h2>\n<p>Utilizatorii de smartphone-uri cu ROM-uri LineageOS, Resurrection Remix \u0219i crDroid se pot bucura deja de calitate audio \u00eembun\u0103t\u0103\u021bit\u0103, este suficient s\u0103 activese op\u021biunea \u00een set\u0103rile dispozitivului Bluetooth. Utilizatorii Linux pot ob\u021bine, de asemenea, un bitrate SBC crescut, prin instalarea <noindex><a rel=\"nofollow\" href=\"https:\/\/lists.freedesktop.org\/archives\/pulseaudio-discuss\/2019-June\/031168.html\">patch-ului de la Pali Roh\u00e1r<\/a><\/noindex>, care, printre altele, adaug\u0103 suport pentru codec-urile aptX, aptX HD \u0219i FastStream.<br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/455316\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0451\u0439: \u0410\u0443\u0434\u0438\u043e \u0447\u0435\u0440\u0435\u0437 Bluetooth: \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044f\u0445, \u043a\u043e\u0434\u0435\u043a\u0430\u0445 \u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0431\u0435\u0441\u043f\u0440\u043e\u0432\u043e\u0434\u043d\u044b\u0445 \u043d\u0430\u0443\u0448\u043d\u0438\u043a\u043e\u0432 \u043e\u0442\u043c\u0435\u0447\u0430\u044e\u0442 \u043d\u0438\u0437\u043a\u043e\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0432\u0443\u043a\u0430 \u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u043a \u0432\u044b\u0441\u043e\u043a\u0438\u0445 \u0447\u0430\u0441\u0442\u043e\u0442 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e Bluetooth-\u043a\u043e\u0434\u0435\u043a\u0430 SBC, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u0432\u0441\u0435 \u0430\u0443\u0434\u0438\u043e\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u0427\u0430\u0441\u0442\u043e\u0439 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0435\u0439 \u0434\u043b\u044f \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0437\u0432\u0443\u043a\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043a\u0443\u043f\u043a\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0438 \u043d\u0430\u0443\u0448\u043d\u0438\u043a\u043e\u0432 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u043a\u043e\u0434\u0435\u043a\u043e\u0432 aptX \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35159","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0451\u0439: \u0410\u0443\u0434\u0438\u043e \u0447\u0435\u0440\u0435\u0437 Bluetooth: \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044f\u0445, \u043a\u043e\u0434\u0435\u043a\u0430\u0445 \u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/modifitsiruem-bluetooth-stek-dlya-uluchsheniya-zvuka-na-naushnikah-bez-kodekov-aac-aptx-i-ldac\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043c Bluetooth-\u0441\u0442\u0435\u043a \u0434\u043b\u044f \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0437\u0432\u0443\u043a\u0430 \u043d\u0430 \u043d\u0430\u0443\u0448\u043d\u0438\u043a\u0430\u0445 \u0431\u0435\u0437 \u043a\u043e\u0434\u0435\u043a\u043e\u0432 AAC, aptX \u0438 LDAC | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0451\u0439: \u0410\u0443\u0434\u0438\u043e \u0447\u0435\u0440\u0435\u0437 Bluetooth: \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044f\u0445, \u043a\u043e\u0434\u0435\u043a\u0430\u0445 \u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/modifitsiruem-bluetooth-stek-dlya-uluchsheniya-zvuka-na-naushnikah-bez-kodekov-aac-aptx-i-ldac\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:02:38+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:02:38+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Modific\u0103m stiva Bluetooth pentru a \u00eembun\u0103t\u0103\u021bi sunetul c\u0103\u0219tilor f\u0103r\u0103 codecuri AAC, aptX \u0219i LDAC | ProHoster","description":"\u00cenainte de a citi acest articol, este recomandat s\u0103 parcurge\u021bi articolul anterior: Audio prin Bluetooth: informa\u021bii detaliate despre profile, codecuri \u0219i.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/modifitsiruem-bluetooth-stek-dlya-uluchsheniya-zvuka-na-naushnikah-bez-kodekov-aac-aptx-i-ldac","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043c Bluetooth-\u0441\u0442\u0435\u043a \u0434\u043b\u044f \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0437\u0432\u0443\u043a\u0430 \u043d\u0430 \u043d\u0430\u0443\u0448\u043d\u0438\u043a\u0430\u0445 \u0431\u0435\u0437 \u043a\u043e\u0434\u0435\u043a\u043e\u0432 AAC, aptX \u0438 LDAC | ProHoster","og:description":"\u041f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0451\u0439: \u0410\u0443\u0434\u0438\u043e \u0447\u0435\u0440\u0435\u0437 Bluetooth: \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044f\u0445, \u043a\u043e\u0434\u0435\u043a\u0430\u0445 \u0438.","og:url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/modifitsiruem-bluetooth-stek-dlya-uluchsheniya-zvuka-na-naushnikah-bez-kodekov-aac-aptx-i-ldac","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:02:38+00:00","article:modified_time":"2019-10-31T19:02:38+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35159","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 22:08:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:47:35","updated":"2026-01-21 22:08:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/35159","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=35159"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/35159\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=35159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=35159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=35159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}