{"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\/cs\/blog\/administrirovanie\/modifitsiruem-bluetooth-stek-dlya-uluchsheniya-zvuka-na-naushnikah-bez-kodekov-aac-aptx-i-ldac","title":{"rendered":"Modifikujeme Bluetooth stack pro zlep\u0161en\u00ed zvuku na sluch\u00e1tk\u00e1ch bez kodek\u016f AAC, aptX a LDAC","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>P\u0159ed p\u0159e\u010dten\u00edm tohoto \u010dl\u00e1nku se doporu\u010duje sezn\u00e1mit se s p\u0159edchoz\u00edm \u010dl\u00e1nkem: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/427997\/\">Audio p\u0159es Bluetooth: maxim\u00e1ln\u00ed podrobnosti o profilech, kodec\u00edch a za\u0159\u00edzen\u00edch<\/a><\/noindex><\/i><\/p>\n<p>N\u011bkte\u0159\u00ed u\u017eivatel\u00e9 bezdr\u00e1tov\u00fdch sluch\u00e1tek si st\u011b\u017euj\u00ed na n\u00edzkou kvalitu zvuku a nedostatek v\u00fd\u0161ek p\u0159i pou\u017e\u00edv\u00e1n\u00ed standardn\u00edho Bluetooth kodeku SBC, kter\u00fd podporuj\u00ed v\u0161echna audio za\u0159\u00edzen\u00ed. \u010cast\u00fdm doporu\u010den\u00edm pro zlep\u0161en\u00ed zvuku je zakoupen\u00ed za\u0159\u00edzen\u00ed a sluch\u00e1tek s podporou kodek\u016f aptX a LDAC. Tyto kodeky vy\u017eaduj\u00ed licen\u010dn\u00ed poplatky, tak\u017ee za\u0159\u00edzen\u00ed s jejich podporou jsou dra\u017e\u0161\u00ed.<\/p>\n<p>Ukazuje se, \u017ee n\u00edzk\u00e1 kvalita SBC je zp\u016fsobena um\u011bl\u00fdmi omezen\u00edmi Bluetooth sad a nastaven\u00ed sluch\u00e1tek, a toto omezen\u00ed lze obej\u00edt na jak\u00e9mkoli existuj\u00edc\u00edm za\u0159\u00edzen\u00ed zm\u011bnami v softwaru smartphonu nebo po\u010d\u00edta\u010de.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Kodek SBC<\/h2>\n<p>Kodek SBC m\u00e1 mnoho r\u016fzn\u00fdch parametr\u016f, kter\u00e9 se dohodnou b\u011bhem f\u00e1ze spojen\u00ed. Mezi nimi jsou:<\/p>\n<ul>\n<li>Po\u010det a typ kan\u00e1l\u016f: Joint Stereo, Stereo, Dual Channel, Mono;<\/li>\n<li>Po\u010det frekven\u010dn\u00edch p\u00e1sem: 4 nebo 8;<\/li>\n<li>Po\u010det blok\u016f v paketu: 4, 8, 12, 16;<\/li>\n<li>Algoritmus distribuce bit\u016f p\u0159i kvantov\u00e1n\u00ed: Loudness, SNR;<\/li>\n<li>Maxim\u00e1ln\u00ed a minim\u00e1ln\u00ed hodnota bitpoolu pou\u017e\u00edvan\u00e1 p\u0159i kvantov\u00e1n\u00ed: obvykle od 2 do 53.<\/li>\n<\/ul>\n<p>Dekoduj\u00edc\u00ed za\u0159\u00edzen\u00ed mus\u00ed podporovat jakoukoli kombinaci t\u011bchto parametr\u016f. K\u00f3duj\u00edc\u00ed za\u0159\u00edzen\u00ed nemus\u00ed implementovat v\u0161echny.<br \/>\nExistuj\u00edc\u00ed Bluetooth sady obvykle dohodnou n\u00e1sleduj\u00edc\u00ed profil: Joint Stereo, 8 p\u00e1sem, 16 blok\u016f, Loudness, bitpool 2..53. Tento profil k\u00f3duje audio 44.1 kHz s bitrate 328 kbit\/s.<br \/>\nParametr bitpool p\u0159\u00edmo ovliv\u0148uje bitrate v r\u00e1mci jednoho profilu: \u010d\u00edm je vy\u0161\u0161\u00ed, t\u00edm vy\u0161\u0161\u00ed je bitrate, a t\u00edm i kvalita.<br \/>\nParametr bitpool v\u0161ak nen\u00ed v\u00e1z\u00e1n na konkr\u00e9tn\u00ed profil; vliv na bitrate m\u00e1 tak\u00e9 do zna\u010dn\u00e9 m\u00edry dal\u0161\u00ed parametry: typ kan\u00e1l\u016f, po\u010det frekven\u010dn\u00edch p\u00e1sem, po\u010det blok\u016f. Bitrate lze zv\u00fd\u0161it nep\u0159\u00edmo prost\u0159ednictv\u00edm dohodnut\u00ed nestandardn\u00edch profil\u016f, ani\u017e by do\u0161lo ke zm\u011bn\u011b bitpoolu.<\/p>\n<p><img decoding=\"async\" alt=\"Modifikujeme Bluetooth stack pro zlep\u0161en\u00ed zvuku na sluch\u00e1tk\u00e1ch bez kodek\u016f AAC, aptX a LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/4836fdb65b1204173bd6e01ef2d0cc6c.svg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\n<i>Vzorec pro v\u00fdpo\u010det bitrate SBC<\/i><\/p>\n<p>\nNap\u0159\u00edklad re\u017eim Dual Channel k\u00f3duje kan\u00e1ly odd\u011blen\u011b, p\u0159i\u010dem\u017e vyu\u017e\u00edv\u00e1 cel\u00fd bitpool pro ka\u017ed\u00fd z kan\u00e1l\u016f. Kdy\u017e p\u0159inut\u00edme za\u0159\u00edzen\u00ed pou\u017e\u00edvat Dual Channel m\u00edsto Joint Stereo, z\u00edsk\u00e1me t\u00e9m\u011b\u0159 dvojn\u00e1sobn\u00fd bitrate p\u0159i stejn\u00e9 maxim\u00e1ln\u00ed hodnot\u011b bitpoolu: 617 kbit\/s.<br \/>\nPodle m\u00e9ho n\u00e1zoru pou\u017eit\u00ed hodnoty bitpool, kter\u00e1 nen\u00ed v\u00e1zan\u00e1 na profil, b\u011bhem sjedn\u00e1v\u00e1n\u00ed, je nedostatkem standardu A2DP, kter\u00fd vedl k um\u011bl\u00e9mu omezen\u00ed kvality SBC. Bylo by rozumn\u011bj\u0161\u00ed sjedn\u00e1vat bitrate, nikoli bitpool.<\/p>\n<p>Takov\u00e9 pevn\u00e9 hodnoty Bitpool a Bitrate vych\u00e1zej\u00ed z tabulky doporu\u010den\u00fdch hodnot pro pou\u017eit\u00ed s vysoce kvalitn\u00edm audioz\u00e1znamem. Ale doporu\u010den\u00ed nen\u00ed d\u016fvod, pro\u010d se omezovat pouze t\u011bmito hodnotami.<\/p>\n<p><img decoding=\"async\" alt=\"Modifikujeme Bluetooth stack pro zlep\u0161en\u00ed zvuku na sluch\u00e1tk\u00e1ch bez kodek\u016f AAC, aptX a LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/1076b610245c4bcb88e5812bdea27e60.svg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSpecifikace A2DP v1.2, kter\u00e1 byla aktivn\u00ed od roku 2007 do 2015, p\u0159edepsala v\u0161em dekod\u00e9r\u016fm spr\u00e1vn\u011b pracovat s bitraty a\u017e do 512 kbit\/s:<\/p>\n<blockquote><p>Dekod\u00e9r SNK mus\u00ed podporovat v\u0161echny mo\u017en\u00e9 hodnoty bitpool, kter\u00e9 nep\u0159esahuj\u00ed maxim\u00e1ln\u00ed bitrate. Tento profil omezuje dostupn\u00fd maxim\u00e1ln\u00ed bitrate na 320 kb\/s pro mono a 512 kb\/s pro dvoukan\u00e1lov\u00e9 re\u017eimy.<\/p><\/blockquote>\n<p>V nov\u00e9 verzi specifikace neexistuje \u017e\u00e1dn\u00e9 omezen\u00ed bitrate. P\u0159edpokl\u00e1d\u00e1 se, \u017ee modern\u00ed sluch\u00e1tka uveden\u00e1 na trh po roce 2015, kter\u00e1 podporuj\u00ed EDR, mohou podporovat bitraty a\u017e p\u0159ibli\u017en\u011b 730 kbit\/s.<\/p>\n<p>Z n\u011bjak\u00e9ho d\u016fvodu maj\u00ed ov\u011b\u0159en\u00e9 Bluetooth stacky Linuxu (PulseAudio), Androidu, Blackberry a macOS um\u011bl\u00e1 omezen\u00ed maxim\u00e1ln\u00ed hodnoty parametru bitpool, kter\u00fd p\u0159\u00edmo ovliv\u0148uje maxim\u00e1ln\u00ed bitrate. Ale to nen\u00ed nejv\u011bt\u0161\u00ed probl\u00e9m, t\u00e9m\u011b\u0159 v\u0161echna sluch\u00e1tka tak\u00e9 omezuj\u00ed maxim\u00e1ln\u00ed hodnotu bitpool na \u010d\u00edslo 53.<br \/>\nJak jsem ji\u017e zjistil, v\u011bt\u0161ina za\u0159\u00edzen\u00ed funguje skv\u011ble s modifikovan\u00fdm Bluetooth stackem s bitrate 551 kbit\/s, bez p\u0159eru\u0161en\u00ed a prask\u00e1n\u00ed. Ale takov\u00fd bitrate nikdy nebude sjedn\u00e1n za obvykl\u00fdch podm\u00ednek, na obvykl\u00fdch Bluetooth stackech.<\/p>\n<h2>Modifikujeme Bluetooth stack<\/h2>\n<p>V jak\u00e9mkoli Bluetooth stacku, kter\u00fd je kompatibiln\u00ed se standardem A2DP, existuje podpora re\u017eimu Dual Channel, ale aktivov\u00e1n\u00ed tohoto re\u017eimu z rozhran\u00ed nen\u00ed mo\u017en\u00e9.<\/p>\n<p>P\u0159idejme do rozhran\u00ed p\u0159ep\u00edna\u010d! U\u017eil jsem patche pro Android 8.1 a Android 9, kter\u00e9 p\u0159id\u00e1vaj\u00ed plnou podporu Dual Channel do stacku, p\u0159id\u00e1vaj\u00ed re\u017eim do menu pro p\u0159ep\u00edn\u00e1n\u00ed re\u017eim\u016f v n\u00e1stroji pro v\u00fdvoj\u00e1\u0159e a zpracov\u00e1vaj\u00ed SBC s podporou Dual Channel tak, jako by to byl dal\u0161\u00ed kodek, nap\u0159\u00edklad aptX, AAC nebo LDAC (Android to naz\u00fdv\u00e1 HD Audio), p\u0159id\u00e1vaj\u00edc\u00ed za\u0161krt\u00e1vac\u00ed pol\u00ed\u010dko do nastaven\u00ed Bluetooth za\u0159\u00edzen\u00ed. Takto to vypad\u00e1:<\/p>\n<p><img decoding=\"async\" alt=\"Modifikujeme Bluetooth stack pro zlep\u0161en\u00ed zvuku na sluch\u00e1tk\u00e1ch bez kodek\u016f AAC, aptX a 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 pro 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 pro Android 8.1<\/a><\/noindex><\/p>\n<p>Po aktivaci za\u0161krt\u00e1vac\u00edho pol\u00ed\u010dka se Bluetooth audio za\u010dne p\u0159en\u00e1\u0161et s bitrate <b>551 kbit\/s<\/b>, pokud sluch\u00e1tka podporuj\u00ed p\u0159ipojen\u00ed rychlost\u00ed 3 Mbit\/s, nebo <b>452 kbps<\/b>, pokud sluch\u00e1tka podporuj\u00ed pouze 2 Mbps.<\/p>\n<p>Tento patch je zahrnut v n\u00e1sleduj\u00edc\u00edch alternativn\u00edch firmwarech:<\/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>Odkud poch\u00e1zej\u00ed 551 a 452 kbps?<\/h2>\n<p>Technologie d\u011blen\u00ed kan\u00e1lu v Bluetooth je ur\u010dena k efektivn\u00edmu p\u0159enosu velk\u00fdch paket\u016f pevn\u00e9 velikosti. P\u0159enos dat prob\u00edh\u00e1 v intervalech, maxim\u00e1ln\u00ed po\u010det interval\u016f odes\u00edlan\u00fdch p\u0159i jednom p\u0159enosu je 5. Existuj\u00ed tak\u00e9 re\u017eimy p\u0159enosu, kter\u00e9 pou\u017e\u00edvaj\u00ed 1 nebo 3 intervaly, ale ne 2 nebo 4. V 5 intervalech je mo\u017en\u00e9 p\u0159en\u00e9st a\u017e 679 byt\u016f p\u0159i rychlosti p\u0159ipojen\u00ed 2 Mbps a a\u017e 1021 byt\u016f p\u0159i rychlosti 3 Mbps, a v 3 intervalech 367 a 552 byt\u016f.<\/p>\n<p><img decoding=\"async\" alt=\"Modifikujeme Bluetooth stack pro zlep\u0161en\u00ed zvuku na sluch\u00e1tk\u00e1ch bez kodek\u016f AAC, aptX a LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/c4596cb8ebdbaf2b57e201117e640f2f.svg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPokud chceme p\u0159en\u00e9st m\u00e9n\u011b dat ne\u017e 679 nebo 1021 byt\u016f, ale v\u00edce ne\u017e 367 nebo 552 byt\u016f, pak p\u0159enos st\u00e1le zabere 5 interval\u016f, p\u0159i\u010dem\u017e data budou p\u0159en\u00e1\u0161ena za stejn\u00fd \u010das, co\u017e sni\u017euje efektivitu p\u0159enosu.<\/p>\n<p><img decoding=\"async\" alt=\"Modifikujeme Bluetooth stack pro zlep\u0161en\u00ed zvuku na sluch\u00e1tk\u00e1ch bez kodek\u016f AAC, aptX a LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/c9b0645c78d41d7d3a9879930c091d2a.svg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSBC v re\u017eimu Dual Channel, na 44100 Hz audio s parametry Bitpool 38, 16 blok\u016f ve framu, 8 frekven\u010dn\u00edch p\u00e1sem, k\u00f3duje audio do fram\u016f o velikosti 164 byt\u016f, s bitrate 452 kbps.<br \/>\nAudio mus\u00ed b\u00fdt zakomponov\u00e1no do p\u0159enosov\u00fdch protokol\u016f L2CAP a AVDTP, kter\u00e9 spot\u0159ebov\u00e1vaj\u00ed 16 byt\u016f z u\u017eite\u010dn\u00e9ho audiovstupu.<\/p>\n<p><img decoding=\"async\" alt=\"Modifikujeme Bluetooth stack pro zlep\u0161en\u00ed zvuku na sluch\u00e1tk\u00e1ch bez kodek\u016f AAC, aptX a LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/2fd899e7b521497844e1354ae5f825eb.svg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Tak\u017ee do jedn\u00e9 Bluetooth p\u0159enosu se 5 intervaly lze vej\u00edt 4 audioframy:<\/p>\n<pre><code class=\"plaintext\">679 (EDR 2 Mbps DH5) - 4 (L2CAP) - 12 (AVDTP\/RTP) - 1 (z\u00e1hlav\u00ed SBC) - (164*4) = 6<\/code><\/pre>\n<p>\nVlo\u017eili jsme 11.7 ms audio dat do odes\u00edlan\u00e9ho paketu, kter\u00fd bude p\u0159enesen za 3.75 ms, a z\u016fstalo n\u00e1m 6 nevyu\u017eit\u00fdch byt\u016f v paketu.<br \/>\nPokud trochu zv\u00fd\u0161\u00edme bitpool, 4 audioframy u\u017e nebude mo\u017en\u00e9 zabalit do jednoho paketu. Budeme muset odes\u00edlat po 3 framech najednou, co\u017e sni\u017euje efektivitu p\u0159enosu, sni\u017euje mno\u017estv\u00ed p\u0159en\u00e1\u0161en\u00e9ho audia na jeden paket a rychleji povede k zakol\u00eds\u00e1n\u00ed audia p\u0159i \u0161patn\u00fdch r\u00e1diov\u00fdch podm\u00ednk\u00e1ch.<\/p>\n<p>Stejn\u00fdm zp\u016fsobem byl ur\u010den bitrate 551 kbps pro EDR 3 Mbps: s Bitpool 47, 16 bloky ve framu, 8 frekven\u010dn\u00edmi p\u00e1smy dost\u00e1v\u00e1me velikost framu 200 byt\u016f, p\u0159i bitrate 551 kbps. Do jednoho paketu se vejde 5 fram\u016f nebo 14.6 ms hudby.<\/p>\n<p>Algoritmus pro v\u00fdpo\u010det v\u0161ech parametr\u016f SBC je dost slo\u017eit\u00fd, snadno se v n\u011bm ztratit, kdy\u017e se po\u010d\u00edt\u00e1 ru\u010dn\u011b, a proto jsem vytvo\u0159il interaktivn\u00ed kalkula\u010dku pro pomoc z\u00e1jemc\u016fm: <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>Pro\u010d je to v\u0161echno pot\u0159eba?<\/h2>\n<p>Navzdory b\u011b\u017en\u00e9mu n\u00e1zoru na kvalitu zvuku kodeku aptX, m\u016f\u017ee v n\u011bkter\u00fdch souborech poskytovat hor\u0161\u00ed v\u00fdsledky ne\u017e SBC se standardn\u00ed bitovou rychlost\u00ed 328 kbit\/s.<\/p>\n<p>SBC dynamicky p\u0159id\u011bluje kvantiza\u010dn\u00ed bity pro frekven\u010dn\u00ed p\u00e1sma na principu \u201eod spodn\u00edho k vrchn\u00edmu\u201c. Pokud byl ve\u0161ker\u00fd bitov\u00fd tok pou\u017eit na n\u00edzk\u00e9 a st\u0159edn\u00ed frekvence, vrchn\u00ed frekvence budou \u201eod\u0159\u00edznuty\u201c (m\u00edsto toho bude ticho).<br \/>\naptX kvantizuje frekven\u010dn\u00ed p\u00e1sma jednotn\u00fdm po\u010dtem bit\u016f neust\u00e1le, co\u017e mu d\u00e1v\u00e1 konstantn\u00ed bitovou rychlost: 352 kbit\/s pro 44,1 kHz, 384 kbit\/s pro 48 kHz, a nem\u016f\u017ee \u201ep\u0159en\u00e9st bity\u201c na ty frekvence, kter\u00e9 je pot\u0159ebuj\u00ed nejv\u00edce. Na rozd\u00edl od SBC aptX ne\u201eod\u0159\u00edzne\u201c frekvence, ale p\u0159id\u00e1 do nich kvantiza\u010dn\u00ed \u0161um, \u010d\u00edm\u017e sni\u017euje dynamick\u00fd rozsah zvuku a n\u011bkdy p\u0159in\u00e1\u0161\u00ed charakteristick\u00e9 prask\u00e1n\u00ed. SBC naopak \u201eods\u00e1v\u00e1 detaily\u201c \u2014 odstra\u0148uje nejti\u0161\u0161\u00ed \u010d\u00e1sti.<br \/>\nPr\u016fm\u011brn\u011b, ve srovn\u00e1n\u00ed se SBC 328k, aptX vn\u00e1\u0161\u00ed m\u00e9n\u011b zkreslen\u00ed do hudby s \u0161irok\u00fdm frekven\u010dn\u00edm rozsahem, ale u hudby s \u00fazk\u00fdm frekven\u010dn\u00edm rozsahem a \u0161irok\u00fdm dynamick\u00fdm rozsahem ob\u010das v\u00edt\u011bz\u00ed SBC 328k.<\/p>\n<p>Pod\u00edvejme se na konkr\u00e9tn\u00ed p\u0159\u00edpad. Spektrogram nahr\u00e1vky hry na klav\u00edr:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/er\/nq\/rc\/ernqrcwa0ic5mqwopjg5zbu_fxm.png\"><img decoding=\"async\" alt=\"Modifikujeme Bluetooth stack pro zlep\u0161en\u00ed zvuku na sluch\u00e1tk\u00e1ch bez kodek\u016f AAC, aptX a LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/91247edc12764c6a4985e5a58ec1ad81.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Hlavn\u00ed energie le\u017e\u00ed v frekvenc\u00edch od 0 do 4 kHz, a pokra\u010duje a\u017e do 10 kHz.<br \/>\nSpektrogram souboru komprimovan\u00e9ho v aptX vypad\u00e1 n\u00e1sleduj\u00edc\u00edm zp\u016fsobem:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/dl\/bl\/do\/dlbldoq_rdrjykephl2ostfbafk.png\"><img decoding=\"async\" alt=\"Modifikujeme Bluetooth stack pro zlep\u0161en\u00ed zvuku na sluch\u00e1tk\u00e1ch bez kodek\u016f AAC, aptX a LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/aad46eb446ac9c5cffbd0ce8bd11e45b.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>A takto vypad\u00e1 SBC 328k.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/us\/3m\/ke\/us3mke0av1s_1ezkyk6ycq1g2vo.png\"><img decoding=\"async\" alt=\"Modifikujeme Bluetooth stack pro zlep\u0161en\u00ed zvuku na sluch\u00e1tk\u00e1ch bez kodek\u016f AAC, aptX a LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/1b879741ea109c10c9e94a9a17830fc6.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Je vid\u011bt, \u017ee SBC 328k ob\u010das zcela odpojuje rozsah nad 16 kHz a vyu\u017e\u00edv\u00e1 ve\u0161ker\u00fd dostupn\u00fd bitov\u00fd tok pro rozsahy pod touto hodnotou. Nicm\u00e9n\u011b, aptX vnesl v\u00edce zkreslen\u00ed do sly\u0161iteln\u00e9ho spektra frekvenc\u00ed, co\u017e lze vid\u011bt na vy\u010dten\u00e9m origin\u00e1ln\u00edm spektrogramu ze spektrogramu aptX (\u010d\u00edm jasn\u011bj\u0161\u00ed, t\u00edm v\u00edce zkreslen\u00ed):<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/ug\/-i\/5z\/ug-i5zpihrfnvumf9no_glecqna.png\"><img decoding=\"async\" alt=\"Modifikujeme Bluetooth stack pro zlep\u0161en\u00ed zvuku na sluch\u00e1tk\u00e1ch bez kodek\u016f AAC, aptX a LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/7820015a2ef3c7f97802de179f2201eb.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Zat\u00edmco SBC 328k m\u00e9n\u011b pokazil sign\u00e1l v rozsahu od 0 do 10 kHz, ostatn\u00ed \u2014 od\u0159\u00edzl:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/tf\/x8\/7z\/tfx87z8hpenx51spblrfvkc-ihe.png\"><img decoding=\"async\" alt=\"Modifikujeme Bluetooth stack pro zlep\u0161en\u00ed zvuku na sluch\u00e1tk\u00e1ch bez kodek\u016f AAC, aptX a LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/793e3011a6aa07f1750cf0a5cca204cf.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Bitrate 485k SBC sta\u010dilo, aby uchovalo cel\u00fd frekven\u010dn\u00ed rozsah, bez odpojov\u00e1n\u00ed p\u00e1sm\u016f.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/_c\/mc\/xy\/_cmcxyxwlf7u4tv-rbplwk5bmtu.png\"><img decoding=\"async\" alt=\"Modifikujeme Bluetooth stack pro zlep\u0161en\u00ed zvuku na sluch\u00e1tk\u00e1ch bez kodek\u016f AAC, aptX a LDAC\" src=\"\/wp-content\/uploads\/2019\/06\/27f215a26658b9b2bf3d852f4da96740.svg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>SBC 485k v t\u00e9to skladb\u011b v\u00fdrazn\u011b p\u0159evy\u0161uje aptX v rozsahu 0-15 kHz, a s men\u0161\u00edm, ale st\u00e1le patrn\u00fdm rozd\u00edlem \u2014 v 15-22 kHz (\u010d\u00edm tmav\u0161\u00ed, t\u00edm m\u00e9n\u011b zkreslen\u00ed):<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/e-\/qz\/h8\/e-qzh8azmingcbhvuwxj8iptuau.png\"><img decoding=\"async\" alt=\"Modifikujeme Bluetooth stack pro zlep\u0161en\u00ed zvuku na sluch\u00e1tk\u00e1ch bez kodek\u016f AAC, aptX a 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\">Archiv origin\u00e1ln\u00edho audia, SBC a aptX<\/a><\/noindex>.<\/p>\n<p>P\u0159epnut\u00edm na vysokobitratov\u00fd SBC z\u00edsk\u00e1te zvuk, kter\u00fd \u010dasto p\u0159ekon\u00e1v\u00e1 aptX, na jak\u00fdchkoli sluch\u00e1tk\u00e1ch. Na sluch\u00e1tk\u00e1ch podporuj\u00edc\u00edch p\u0159ipojen\u00ed EDR 3 Mbit\/s poskytuje bitrate 551 kbit\/s zvuk srovnateln\u00fd s aptX HD.<\/p>\n<h2>M\u016f\u017eete to je\u0161t\u011b vylep\u0161it?<\/h2>\n<p>V patchi pro Android je tak\u00e9 mo\u017enost pro dal\u0161\u00ed zv\u00fd\u0161en\u00ed bitrates pro za\u0159\u00edzen\u00ed EDR 2 Mbit\/s. Je mo\u017en\u00e9 zv\u00fd\u0161it bitrate z 452 kbit\/s na 595 kbit\/s, za cenu sn\u00ed\u017een\u00ed stability p\u0159enosu v komplikovan\u00fdch r\u00e1diov\u00fdch podm\u00ednk\u00e1ch.<br \/>\nSta\u010d\u00ed nastavit prom\u011bnnou persist.bluetooth.sbc_hd_higher_bitrate na hodnotu 1:<\/p>\n<pre><code class=\"plaintext\"># setprop persist.bluetooth.sbc_hd_higher_bitrate 1<\/code><\/pre>\n<p>\nPatch pro extr\u00e9mn\u00ed bitrate byl zat\u00edm p\u0159ijat pouze v LineageOS 15.1, nikoli v 16.0.<\/p>\n<h2>Kompatibilita se za\u0159\u00edzen\u00edmi<\/h2>\n<p>SBC Dual Channel podporuje prakticky v\u0161echna sluch\u00e1tka, reproduktory a automobilov\u00e9 autor\u00e1dia. Nen\u00ed divu \u2014 standard na\u0159izuje jeho podporu v jak\u00fdchkoli dekoduj\u00edc\u00edch za\u0159\u00edzen\u00edch. Existuje jen mal\u00e9 mno\u017estv\u00ed za\u0159\u00edzen\u00ed, na kter\u00fdch tento re\u017eim zp\u016fsobuje probl\u00e9my, ale to jsou ojedin\u011bl\u00e9 p\u0159\u00edpady.<br \/>\nPodrobn\u011bji o kompatibiln\u00edch za\u0159\u00edzen\u00edch se m\u016f\u017eete dozv\u011bd\u011bt na <noindex>4pda<\/noindex> nebo <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>Srovn\u00e1n\u00ed zvukov\u00fdch rozd\u00edl\u016f<\/h2>\n<p>Vytvo\u0159il jsem webovou slu\u017ebu, kter\u00e1 k\u00f3duje audio do SBC (tak\u00e9 aptX a aptX HD) v re\u00e1ln\u00e9m \u010dase p\u0159\u00edmo v prohl\u00ed\u017ee\u010di. D\u00edky n\u00ed m\u016f\u017eete porovn\u00e1vat zvuk r\u016fzn\u00fdch profil\u016f SBC a dal\u0161\u00edch kodek\u016f, bez skute\u010dn\u00e9ho p\u0159enosu audia p\u0159es Bluetooth, na jak\u00fdchkoli dr\u00e1tov\u00fdch sluch\u00e1tk\u00e1ch, reproduktorech, a va\u0161\u00ed obl\u00edben\u00e9 hudb\u011b, a tak\u00e9 m\u011bnit parametry k\u00f3dov\u00e1n\u00ed p\u0159\u00edmo b\u011bhem p\u0159ehr\u00e1v\u00e1n\u00ed audia.<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>Spojen\u00ed s v\u00fdvoj\u00e1\u0159i Android<\/h2>\n<p>Psali jsme mnoha v\u00fdvoj\u00e1\u0159\u016fm Bluetooth stacku z Googlu s prosbou o zv\u00e1\u017een\u00ed zahrnut\u00ed patch\u016f do hlavn\u00ed v\u011btve Android \u2014 AOSP, ale nedostal jsem ani jednu odpov\u011b\u010f. Moje patche v <noindex><a rel=\"nofollow\" href=\"https:\/\/android-review.googlesource.com\/q\/topic:bt-sbc-hd-dualchannel+(status:open%20OR%20status:merged)\">syst\u00e9mu pr\u00e1ce s patchem Gerrit pro Android<\/a><\/noindex> tak\u00e9 z\u016fstaly bez koment\u00e1\u0159\u016f od kohokoli zapojen\u00e9ho.<br \/>\nByl bych r\u00e1d, kdybych dostal pomoc p\u0159i spojen\u00ed s v\u00fdvoj\u00e1\u0159i z Googlu a p\u0159i zav\u00e1d\u011bn\u00ed SBC HD do Androidu. Patch v Gerritu je u\u017e zastaral\u00fd (to je jedna z prvn\u00edch reviz\u00ed), a j\u00e1 ho aktualizuji, pokud v\u00fdvoj\u00e1\u0159e zaj\u00edmaj\u00ed m\u00e9 zm\u011bny (nen\u00ed pro m\u011b snadn\u00e9 ho aktualizovat, nem\u00e1m kompatibiln\u00ed za\u0159\u00edzen\u00ed s Androidem Q).<\/p>\n<h2>Z\u00e1v\u011br<\/h2>\n<p>U\u017eivatel\u00e9 smartphon\u016f s firmwarem LineageOS, Resurrection Remix a crDroid mohou ji\u017e nyn\u00ed t\u011b\u017eit z vylep\u0161en\u00e9 kvality zvuku, sta\u010d\u00ed aktivovat mo\u017enost v nastaven\u00ed Bluetooth za\u0159\u00edzen\u00ed. U\u017eivatel\u00e9 Linuxu mohou tak\u00e9 z\u00edskat zv\u00fd\u0161en\u00fd bitrate SBC instalac\u00ed <noindex><a rel=\"nofollow\" href=\"https:\/\/lists.freedesktop.org\/archives\/pulseaudio-discuss\/2019-June\/031168.html\">patchu od Pali Roh\u00e1ra<\/a><\/noindex>, kter\u00fd mimo jin\u00e9 p\u0159id\u00e1v\u00e1 podporu kodek\u016f aptX, aptX HD a FastStream.<br \/>\n<br \/>Zdroj: <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.3 - 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\/cs\/blog\/administrirovanie\/modifitsiruem-bluetooth-stek-dlya-uluchsheniya-zvuka-na-naushnikah-bez-kodekov-aac-aptx-i-ldac\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\/cs\/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\udd47Modifikujeme Bluetooth z\u00e1sobn\u00edk pro zlep\u0161en\u00ed zvuku na sluch\u00e1tk\u00e1ch bez kodek\u016f AAC, aptX a LDAC | ProHoster","description":"P\u0159ed p\u0159e\u010dten\u00edm tohoto \u010dl\u00e1nku se doporu\u010duje sezn\u00e1mit se s p\u0159edchoz\u00edm \u010dl\u00e1nkem: Audio p\u0159es Bluetooth: co nejpodrobn\u011bji o profilech, kodec\u00edch a.","canonical_url":"https:\/\/prohoster.info\/cs\/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":"cs_CZ","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\/cs\/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\/cs\/wp-json\/wp\/v2\/posts\/35159","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=35159"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/35159\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=35159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=35159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=35159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}