Aħna nimmodifikaw il-munzell Bluetooth biex intejbu l-ħoss fuq il-headphones mingħajr codecs AAC, aptX u LDAC

Qabel ma taqra dan l-artikolu, huwa rakkomandat li taqra l-artikolu preċedenti: Awdjo permezz tal-Bluetooth: dettalji massimi dwar profili, codecs u tagħmir

Xi utenti tal-headphones mingħajr fili jirrappurtaw kwalità fqira tal-ħoss u nuqqas ta 'frekwenzi għoljin meta jużaw il-codec standard SBC Bluetooth, li huwa appoġġjat mill-apparati awdjo kollha. Rakkomandazzjoni komuni għat-titjib tal-ħoss hija li tixtri apparat u headphones li jappoġġjaw codecs aptX u LDAC. Dawn il-codecs jeħtieġu ħlasijiet ta 'liċenzjar, għalhekk apparati li jappoġġjawhom jiswew aktar.

Jirriżulta li l-kwalità baxxa ta 'SBC hija dovuta għal limitazzjonijiet artifiċjali ta' stacks Bluetooth u settings tal-headphones, u din il-limitazzjoni tista 'tiġi evitata fuq kwalunkwe apparat eżistenti permezz ta' bidliet ta 'softwer għal smartphone jew kompjuter.

Codec SBC

Il-codec SBC għandu ħafna parametri differenti li huma nnegozjati matul il-fażi ta 'setup tal-konnessjoni. Fosthom:

  • Numru u tip ta 'kanali: Stereo Konġunt, Stereo, Dual Channel, Mono;
  • Numru ta 'meded ta' frekwenza: 4 jew 8;
  • Numru ta 'blokki fil-pakkett: 4, 8, 12, 16;
  • Algoritmu għad-distribuzzjoni tal-bits waqt il-kwantizzazzjoni: Loudness, SNR;
  • Il-valur massimu u minimu tal-ġabra ta 'bits użata waqt il-kwantizzazzjoni (bitpool): ġeneralment minn 2 sa 53.

L-apparat ta' dekodifikazzjoni għandu jappoġġja kwalunkwe kombinazzjoni ta' dawn il-parametri. L-encoder jista 'ma jimplimentax kollox.
Stacks eżistenti tal-Bluetooth tipikament jaqblu fuq il-profil li ġej: Stereo Konġunt, 8 meded, 16-il blokk, Loudness, bitpool 2..53. Dan il-profil jikkodifika awdjo ta' 44.1 kHz b'rata ta' bit ta' 328 kbps.
Il-parametru tal-bitpool jaffettwa direttament il-bitrate fi profil wieħed: iktar ma jkun għoli, iktar ikun għoli l-bitrate, u għalhekk il-kwalità.
Madankollu, il-parametru tal-bitpool mhuwiex marbut ma 'profil speċifiku; Il-bitrate hija wkoll influwenzata ħafna minn parametri oħra: tip ta 'kanali, numru ta' meded ta 'frekwenza, numru ta' blokki. Tista 'żżid il-bitrate indirettament, billi taqbel fuq profili mhux standard, mingħajr ma tbiddel il-bitpool.

Aħna nimmodifikaw il-munzell Bluetooth biex intejbu l-ħoss fuq il-headphones mingħajr codecs AAC, aptX u LDAC

Formula għall-kalkolu tal-bitrate SBC

Pereżempju, il-modalità Dual Channel tikkodifika l-kanali separatament, billi tuża l-bitpool kollu għal kull kanal. Billi ġġiegħel lill-apparat juża Dual Channel minflok Joint Stereo, niksbu kważi d-doppju tal-bitrate bl-istess valur massimu tal-bitpool: 617 kbps.
Fl-opinjoni tiegħi, l-użu ta 'valur bitpool mhux marbut ma' profil fl-istadju tan-negozjar huwa difett fl-istandard A2DP, li wassal għal limitazzjoni artifiċjali tal-kwalità SBC. Ikun aktar sens li tinnegozja bitrate aktar milli bitpool.

Dawn il-valuri fissi ta’ Bitpool u Bitrate joriġinaw minn tabella b’valuri rakkomandati għall-użu għal awdjo ta’ kwalità għolja. Iżda rakkomandazzjoni mhix raġuni biex tillimita ruħek għal dawn il-valuri.

Aħna nimmodifikaw il-munzell Bluetooth biex intejbu l-ħoss fuq il-headphones mingħajr codecs AAC, aptX u LDAC

L-ispeċifikazzjoni A2DP v1.2, li kienet attiva mill-2007 sal-2015, teħtieġ li l-apparati kollha ta' dekodifikazzjoni jaħdmu b'mod korrett b'bitrates sa 512 kbps:

Id-decoder tal-SNK għandu jappoġġa l-valuri tal-bitpool kollha possibbli li ma jirriżultawx aktar mir-rata tal-bits massima. Dan il-profil jillimita r-rata tal-bit massima disponibbli għal 320kb/s għal mono, u 512kb/s għal modi b'żewġ kanali.

Fil-verżjoni l-ġdida tal-ispeċifikazzjoni m'hemm l-ebda limitu fuq il-bitrate. Huwa stmat li headphones moderni rilaxxati wara l-2015 li jappoġġjaw EDR jistgħu jappoġġjaw rati tal-bit sa ≈730 kbps.

Għal xi raġuni, il-munzelli tal-Linux (PulseAudio), Android, Blackberry u macOS Bluetooth li ttestjajt għandhom limiti artifiċjali fuq il-valur massimu tal-parametru tal-bitpool, li jaffettwa direttament il-bitrate massimu. Iżda din mhix l-akbar problema kważi l-headphones kollha jillimitaw ukoll il-valur massimu tal-bitpool għal 53.
Kif diġà rajt, il-biċċa l-kbira tal-apparati jaħdmu perfettament fuq stack Bluetooth modifikat b'bitrate ta '551 kbps, mingħajr interruzzjonijiet jew crackles. Iżda tali bitrate qatt mhu se jkun konsistenti taħt kundizzjonijiet normali, fuq stacks Bluetooth regolari.

Li timmodifika l-munzell tal-Bluetooth

Kwalunkwe munzell Bluetooth li huwa kompatibbli mal-istandard A2DP għandu appoġġ għall-modalità Dual Channel, iżda mhux possibbli li tiġi attivata mill-interface.

Ejja nżidu toggle mal-interface! Għamilt garża għal Android 8.1 u Android 9 li jżidu l-appoġġ sħiħ tal-Kanal Doppju mal-munzell, żid mod mal-menu ta' toggle tal-mod fl-għodod ta' dev, u nittratta SBCs li ppermettew għal Kanal Doppju bħallikieku kienu codec addizzjonali bħal aptX , AAC, jew LDAC (Android isejjaħ dan HD Audio) billi żżid marka ta' kontroll fis-settings tal-apparat Bluetooth. Dan huwa kif jidher:

Aħna nimmodifikaw il-munzell Bluetooth biex intejbu l-ħoss fuq il-headphones mingħajr codecs AAC, aptX u LDAC

Garża għal Android 9
Garża għal Android 8.1

Meta l-kaxxa ta' kontroll tkun attivata, l-awdjo Bluetooth jibda jiġi trażmess b'rata tal-bit 551 kbps, jekk il-headphones jappoġġjaw veloċità ta 'konnessjoni ta' 3 Mbit/s, jew 452 kbps, jekk il-headphones jappoġġjaw biss 2 Mbit/s.

Din il-garża hija inkluża fil-firmwares alternattivi li ġejjin:

  • LineageOS
  • Remix tal-Qawmien
  • crDroid

Minn fejn ġew 551 u 452 kbit/s?

It-teknoloġija tal-kondiviżjoni tal-arja Bluetooth hija mfassla biex tittrasmetti b'mod effiċjenti pakketti kbar ta 'daqs fiss. It-trasferiment tad-dejta jseħħ fi slots, l-akbar numru ta 'slots mibgħuta fi trasferiment wieħed huwa 5. Hemm ukoll modi ta' trasferiment li jużaw 1 jew 3 slots, iżda mhux 2 jew 4. F'5 slots tista 'tittrasferixxi sa 679 bytes b'veloċità ta' konnessjoni ta' 2 Mbit/s u sa 1021 bytes b'veloċità ta' 3 Mbit/s, u 3 - 367 u 552 bytes, rispettivament.

Aħna nimmodifikaw il-munzell Bluetooth biex intejbu l-ħoss fuq il-headphones mingħajr codecs AAC, aptX u LDAC

Jekk irridu tittrasferixxi inqas data minn 679 jew 1021 bytes, iżda aktar minn 367 jew 552 bytes, it-trasferiment xorta se jieħu 5 slots u d-data tiġi trasferita fl-istess ħin, li jnaqqas l-effiċjenza tat-trasferiment.

Aħna nimmodifikaw il-munzell Bluetooth biex intejbu l-ħoss fuq il-headphones mingħajr codecs AAC, aptX u LDAC

SBC fil-modalità Dual Channel, f'awdjo 44100 Hz b'parametru Bitpool 38, 16-il blokka għal kull qafas, 8 firxiet ta 'frekwenza, jikkodifika awdjo f'frejms ta' 164 byte, b'bitrate ta '452 kbps.
L-awdjo għandu jkun inkapsulat fi protokolli ta 'trasferiment L2CAP u AVDTP, li jieħdu 16-il byte mit-tagħbija tal-awdjo.

Aħna nimmodifikaw il-munzell Bluetooth biex intejbu l-ħoss fuq il-headphones mingħajr codecs AAC, aptX u LDAC

Għalhekk, trażmissjoni waħda Bluetooth b'5 slots tista' takkomoda 4 frejms tal-awdjo:

679 (EDR 2 mbit/s DH5) - 4 (L2CAP) - 12 (AVDTP/RTP) - 1 (заголовок SBC) - (164*4) = 6

Aħna noqogħdu 11.7 ms ta 'dejta tal-awdjo fil-pakkett li qed jintbagħat, li se jiġi trażmess fi 3.75 ms, u fadal 6 bytes mhux użati fil-pakkett.
Jekk tgħolli ftit il-bitpool, ma jkunx aktar possibbli li jiġu ppakkjati 4 frejms tal-awdjo f'pakkett wieħed. Int ser ikollok tibgħat 3 frejms kull darba, li jnaqqas l-effiċjenza tat-trażmissjoni, inaqqas l-ammont ta 'awdjo trażmess għal kull qafas, u se jwassal aktar malajr għal stuttering awdjo f'kundizzjonijiet tar-radju ħżiena.

Bl-istess mod, ntgħażlet bitrate ta '551 kbit/s għal EDR 3 Mbit/s: b'Bitpool 47, 16-il blokka għal kull qafas, 8 firxiet ta' frekwenza, id-daqs tal-frekwenzi huwa 200 bytes, b'bitrate ta '551 kbit/s. Pakkett wieħed fih 5 frames jew 14.6 ms ta' mużika.

L-algoritmu għall-kalkolu tal-parametri SBC kollha huwa pjuttost kumpless, tista 'faċilment titħawwad jekk tgħodd manwalment, għalhekk għamilt kalkulatur interattiv biex ngħin lil dawk interessati: btcodecs.valdikss.org.ru/sbc-bitrate-calculator

Għaliex dan kollu huwa meħtieġ?

Kuntrarjament għat-twemmin popolari dwar il-kwalità tal-ħoss tal-codec aptX, fuq xi fajls jista 'jipproduċi riżultati agħar minn SBC b'bitrate standard ta' 328 kbps.

L-SBC jalloka b'mod dinamiku bits ta' kwantizzazzjoni għal meded ta' frekwenza fuq bażi minn baxx għal għoli. Jekk il-bitrate kollha ntużat għall-frekwenzi baxxi u medji, il-frekwenzi għoljin ikunu "maqtugħa" (minflok se jkun hemm silenzju).
aptX jikkwantizza meded ta 'frekwenza bl-istess numru ta' bits il-ħin kollu, u huwa għalhekk li għandu bitrate kostanti: 352 kbps għal 44.1 kHz, 384 kbps għal 48 kHz, u ma jistax "jiċċaqlaq bit-bit" għal dawk il-frekwenzi li l-aktar jeħtieġuhom . B'differenza mill-SBC, aptX mhux se "tnaqqas" il-frekwenzi, iżda se jżidilhom ħoss ta 'kwantizzazzjoni, inaqqas il-firxa dinamika tal-awdjo, u xi kultant jintroduċi crackling karatteristika. SBC "jiekol dettalji" - jarmi l-aktar żoni kwieti.
Bħala medja, meta mqabbel mal-SBC 328k, aptX jintroduċi inqas distorsjoni fil-mużika b'firxa wiesgħa ta 'frekwenza, iżda f'mużika b'firxa ta' frekwenza dejqa u firxa dinamika wiesgħa, l-SBC 328k kultant jirbaħ.

Ejja nikkunsidraw każ speċjali. Spettrogramma ta' reġistrazzjoni ta' daqq tal-pjanu:
Aħna nimmodifikaw il-munzell Bluetooth biex intejbu l-ħoss fuq il-headphones mingħajr codecs AAC, aptX u LDAC

L-enerġija ewlenija tinsab fi frekwenzi minn 0 sa 4 kHz, u tkompli sa 10 kHz.
L-ispettrogramma ta' fajl ikkompressat f'aptX tidher bħal din:
Aħna nimmodifikaw il-munzell Bluetooth biex intejbu l-ħoss fuq il-headphones mingħajr codecs AAC, aptX u LDAC

U hekk jidher SBC 328k.
Aħna nimmodifikaw il-munzell Bluetooth biex intejbu l-ħoss fuq il-headphones mingħajr codecs AAC, aptX u LDAC

Wieħed jista 'jara li l-SBC 328k perjodikament itfi kompletament il-medda 'l fuq minn 16 kHz, u qatta' l-bitrate disponibbli kollha fuq firxiet taħt dan il-valur. Madankollu, aptX introduċa aktar distorsjoni fl-ispettru tal-frekwenza li jinstema' mill-widna tal-bniedem, kif jidher fl-ispettrogramma oriġinali mnaqqsa mill-ispettrogramma aptX (aktar ma jkun qawwi, aktar distorsjoni):
Aħna nimmodifikaw il-munzell Bluetooth biex intejbu l-ħoss fuq il-headphones mingħajr codecs AAC, aptX u LDAC

Filwaqt li l-SBC 328k ħassru s-sinjal inqas fil-medda minn 0 sa 10 kHz, u aqta 'l-bqija:
Aħna nimmodifikaw il-munzell Bluetooth biex intejbu l-ħoss fuq il-headphones mingħajr codecs AAC, aptX u LDAC

Il-bitrate ta '485k tal-SBC kienet biżżejjed biex tippreserva l-firxa kollha ta' frekwenza, mingħajr il-meded ta 'diżattivazzjoni.
Aħna nimmodifikaw il-munzell Bluetooth biex intejbu l-ħoss fuq il-headphones mingħajr codecs AAC, aptX u LDAC

SBC 485k huwa ferm qabel aptX fuq din il-binarju fil-medda ta '0-15 kHz, u b'differenza iżgħar, iżda xorta notevoli - f'15-22 kHz (aktar ma skur, inqas distorsjoni):
Aħna nimmodifikaw il-munzell Bluetooth biex intejbu l-ħoss fuq il-headphones mingħajr codecs AAC, aptX u LDAC

Arkivju tal-awdjo oriġinali, SBC u aptX.

Billi taqleb għal SBC b'rata ta 'bits għolja, ikollok awdjo li ħafna drabi jegħleb l-aptX fuq kwalunkwe headphone. Fuq headphones li jappoġġaw konnettività EDR ta '3 Mbps, bitrate ta' 551 kbps jipproduċi ħoss komparabbli ma 'aptX HD.

Tista 'tagħmel saħansitra aktar?

Il-garża ta 'Android tinkludi wkoll għażla biex tkompli tiżdied il-bitrate għal apparati EDR ta' 2 Mbps. Tista 'żżid il-bitrate minn 452 kbit/s għal 595 kbit/s, bl-ispiża li titnaqqas l-istabbiltà tat-trażmissjoni f'kundizzjonijiet tar-radju diffiċli.
Huwa biżżejjed li tissettja l-varjabbli persistent.bluetooth.sbc_hd_higher_bitrate għal 1:

# setprop persist.bluetooth.sbc_hd_higher_bitrate 1

Il-garża tal-bitrate estrema s'issa ġiet adottata biss f'LineageOS 15.1, iżda mhux f'16.0.

Kompatibilità tal-Apparat

SBC Dual Channel huwa appoġġjat minn kważi l-headphones, il-kelliema u l-unitajiet tar-ras tal-karozzi kollha. Dan mhux ta 'b'xejn - l-istandard jeħtieġ l-appoġġ tiegħu fi kwalunkwe apparat ta' dekodifikazzjoni. Hemm numru żgħir ta 'apparati li fuqhom dan il-mod jikkawża problemi, iżda dawn huma każijiet iżolati.
Aktar dettalji dwar apparati kompatibbli jistgħu jinstabu fuq 4pda jew xda-iżviluppaturi.

Tqabbil tad-differenzi tal-ħoss

Għamilt servizz tal-web li jikkodifika l-awdjo għal SBC (kif ukoll aptX u aptX HD) f'ħin reali, eżatt fil-browser. Magħha, tista 'tqabbel il-ħoss ta' profili SBC differenti u codecs oħra, mingħajr ma fil-fatt tittrasmetti awdjo permezz tal-Bluetooth, fuq kwalunkwe headphones bil-fili, kelliema, u l-mużika favorita tiegħek, u wkoll tibdel il-parametri ta 'kodifikazzjoni direttament waqt li tilgħab l-awdjo.
btcodecs.valdikss.org.ru/sbc-encoder

Ikkuntattja lill-Iżviluppaturi tal-Android

Jien ktibt lil ħafna żviluppaturi tal-munzell tal-Bluetooth fuq Google u staqsejthom biex jikkunsidraw li jinkludu garża fil-fergħa ewlenija tal-Android - AOSP, iżda ma rċevejtx tweġiba waħda. Irqajja tiegħi ġewwa Sistema ta 'garża Gerrit għal Android baqg[u wkoll bla kumment minn xi [add involut.
Inkun kuntent jekk nista 'nikseb xi għajnuna biex nagħmel kuntatt mal-iżviluppaturi ta' Google u nġib SBC HD għal Android. Il-garża f'gerrit hija diġà skaduta (din hija waħda mir-reviżjonijiet bikrija), u se naġġornaha jekk l-iżviluppaturi jkunu interessati fil-bidliet tiegħi (mhux faċli għalija li naġġornaha, m'għandix apparat kompatibbli ma' Android Q ).

Konklużjoni

Utenti ta 'smartphones b'LineageOS, Resurrection Remix u firmware crDroid jistgħu jgawdu kwalità tal-ħoss imtejba bħalissa, sempliċement attiva l-għażla fis-settings tal-apparat Bluetooth. L-utenti tal-Linux jistgħu wkoll jiksbu żieda fil-bitrate SBC billi jinstallaw garża minn Pali Rohar, li, fost affarijiet oħra, iżid appoġġ għall-codecs aptX, aptX HD u FastStream.

Sors: www.habr.com

Żid kumment