Silungisa isitaki se-Bluetooth ukuze sithuthukise umsindo kuma-headphone ngaphandle kwe-AAC, i-aptX ne-LDAC codec

Ngaphambi kokufunda lesi sihloko, kunconywa ukuthi ufunde isihloko esandulele: Umsindo nge-Bluetooth: imininingwane eminingi mayelana namaphrofayili, amakhodekhi namadivayisi

Abanye abasebenzisi bama-headphone angenantambo babika ikhwalithi yomsindo ephansi kanye nokuntuleka kwamafrikhwensi aphezulu uma usebenzisa i-codec ye-Bluetooth ye-SBC ejwayelekile, esekelwa yiwo wonke amadivayisi omsindo. Isincomo esivamile sokuthuthukisa umsindo ukuthenga amadivayisi nama-headphone asekela i-aptX ne-LDAC codec. Lawa makhodekhi adinga izinkokhelo zamalayisense, ngakho amadivayisi awasekelayo abiza kakhulu.

Kuvele ukuthi ikhwalithi ephansi ye-SBC ingenxa yemikhawulo yokwenziwa yezitaki ze-Bluetooth nezilungiselelo zamahedfoni, futhi lo mkhawulo ungadlula kunoma imaphi amadivaysi akhona ngokushintsha kwesoftware ku-smartphone noma ikhompuyutha.

I-Codec SBC

Ikhodekhi ye-SBC inamapharamitha amaningi ahlukene okuxoxiswane ngawo phakathi nesigaba sokusetha uxhumano. Phakathi kwazo:

  • Inombolo nohlobo lwamashaneli: I-Joint Stereo, i-Stereo, i-Dual Channel, i-Mono;
  • Inombolo yamabhendi okuvama: 4 noma 8;
  • Inombolo yamabhuloki ephaketheni: 4, 8, 12, 16;
  • I-algorithm yokusabalalisa izingcezu ngesikhathi sokulinganisa: Umsindo, i-SNR;
  • Inani eliphakeme nelincane lephuli yamabhithi asetshenziswa ngesikhathi sokulinganisa (i-bitpool): ngokuvamile ukusuka ku-2 ukuya ku-53.

Idivayisi yokukhipha amakhodi kufanele isekele noma iyiphi inhlanganisela yale mingcele. Isishumeki singase singasebenzisi yonke into.
Izitaki ze-Bluetooth ezikhona ngokuvamile zivumelana ngale phrofayela elandelayo: I-Joint Stereo, amabhendi angu-8, amabhlogo angu-16, Umsindo omkhulu, i-bitpool 2..53. Le phrofayela ifaka umsindo ongu-44.1 kHz nge-bitrate engu-328 kbps.
Ipharamitha ye-bitpool ithinta ngokuqondile i-bitrate ngaphakathi kwephrofayela eyodwa: uma iphezulu, i-bitrate ephezulu, ngakho-ke ikhwalithi.
Noma kunjalo, ipharamitha ye-bitpool ayiboshiwe kuphrofayela ethile; I-bitrate iphinde ithonywe kakhulu amanye amapharamitha: uhlobo lwamashaneli, inani lamabhendi amafrikhwensi, inani lamabhulokhi. Ungakwazi ukwandisa i-bitrate ngokungaqondile, ngokuvumelana namaphrofayili angewona ajwayelekile, ngaphandle kokushintsha i-bitpool.

Silungisa isitaki se-Bluetooth ukuze sithuthukise umsindo kuma-headphone ngaphandle kwe-AAC, i-aptX ne-LDAC codec

Ifomula yokubala i-bitrate ye-SBC

Isibonelo, Imodi Yeziteshi Ezikabili ihlanganisa iziteshi ngokuhlukana, isebenzisa yonke i-bitpool yesiteshi ngasinye. Ngokuphoqa idivayisi ukuthi isebenzise I-Dual Channel esikhundleni se-Joint Stereo, sithola cishe kabili i-bitrate enenani eliphezulu elifanayo le-bitpool: 617 kbps.
Ngokubona kwami, ukusetshenziswa kwenani le-bitpool elingaboshelwanga kuphrofayela esigabeni sokuxoxisana kuyiphutha esilinganisweni se-A2DP, okuholele ekukhawulweni kokwenziwa kwekhwalithi ye-SBC. Kungaba nengqondo ukuxoxisana nge-bitrate kune-bitpool.

Lawa manani angaguquki e-Bitpool ne-Bitrate asuka kuthebula elinamanani anconyiwe ukuze asetshenziselwe umsindo wekhwalithi ephezulu. Kodwa isincomo akusona isizathu sokuzikhawulela kulawa magugu.

Silungisa isitaki se-Bluetooth ukuze sithuthukise umsindo kuma-headphone ngaphandle kwe-AAC, i-aptX ne-LDAC codec

Ukucaciswa kwe-A2DP v1.2, obekusebenza kusuka ngo-2007 kuya ku-2015, kudinga ukuthi zonke izisetshenziswa zokukhipha amakhodi zisebenze kahle ngama-bitrate afika ku-512 kbps:

Idekhoda ye-SNK izosekela wonke amanani e-bitpool angaba khona angaphumeleli eqinisweni lesilinganiso sebhithi esiphezulu. Le phrofayela ikhawulela isilinganiso sebhithi esiphezulu esitholakalayo sibe ngu-320kb/s ku-mono, kanye no-512kb/s kumamodi eziteshi ezimbili.

Enguqulweni entsha yokucaciswa akukho mkhawulo ku-bitrate. Kulinganiselwa ukuthi ama-headphone esimanje akhululwe ngemva kuka-2015 asekela i-EDR angasekela ama-bit rates afika ku-β‰ˆ730 kbps.

Ngesizathu esithile, izitaki ze-Linux (PulseAudio), Android, Blackberry kanye ne-macOS Bluetooth engizihlolile zinemikhawulo yokwenziwa enanini eliphakeme lepharamitha ye-bitpool, ethinta ngokuqondile umkhawulo we-bitrate. Kodwa lena akuyona inkinga enkulu kakhulu; cishe wonke ama-headphone abuye akhawulele inani eliphakeme le-bitpool ku-53.
Njengoba sengibonile, iningi lamadivayisi lisebenza kahle kusitaki se-Bluetooth esilungisiwe esine-bitrate engu-551 kbps, ngaphandle kokuphazamiseka noma ukuqhekeka. Kodwa i-bitrate enjalo ngeke ize ihambisane ngaphansi kwezimo ezijwayelekile, kuzitaki ezijwayelekile ze-Bluetooth.

Ukulungisa isitaki se-Bluetooth

Noma yisiphi isitaki se-Bluetooth esihambisana nezinga le-A2DP sinokusekelwa kwemodi Yeziteshi Ezikabili, kodwa akwenzeki ukusivula esixhumi esibonakalayo.

Ake sengeze ukuguqula kusixhumi esibonakalayo! Ngenze iziqephu ze-Android 8.1 ne-Android 9 ezengeza ukusekelwa okugcwele kwe-Dual Channel kusitaki, engeza imodi kumodi yokuguqula imenyu kumathuluzi e-dev, futhi ngiphathe ama-SBC anikwe amandla i-Dual Channel njengokungathi ayikhodekhi eyengeziwe njenge-aptX. , AAC, noma i-LDAC ( I-Android ibiza le HD Audio) ngokwengeza uphawu lokuhlola kuzilungiselelo zedivayisi ye-Bluetooth. Nansi indlela ebukeka ngayo:

Silungisa isitaki se-Bluetooth ukuze sithuthukise umsindo kuma-headphone ngaphandle kwe-AAC, i-aptX ne-LDAC codec

Patch ye-Android 9
Patch ye-Android 8.1

Uma ibhokisi lokuhlola lenziwe lasebenza, umsindo we-Bluetooth uqala ukudluliselwa nge-bitrate 551 kbps, uma ama-headphone asekela isivinini sokuxhuma esingu-3 Mbit/s, noma 452 kbps, uma ama-headphone asekela i-2 Mbit/s kuphela.

Lesi siqeshana sifakiwe kwamanye ama-firmware alandelayo:

  • LineageOS
  • Ukuvuselela Remix
  • crDroid

Avelaphi ama-551 kanye nama-452 kbit/s?

Ubuchwepheshe bokwabelana komoya be-Bluetooth buklanyelwe ukudlulisa ngempumelelo amaphakethe amakhulu anosayizi ongashintshi. Ukudluliswa kwedatha kwenzeka ezikhaleni, inombolo enkulu yezikhala ezithunyelwe ngokudluliswa okukodwa ngu-5. Kukhona futhi izindlela zokudlulisa ezisebenzisa izikhala ezi-1 noma ezi-3, kodwa hhayi ezi-2 noma ezi-4. Ezikhaleni ezingu-5 ungadlulisela kufika ku-679 bytes ngesivinini sokuxhuma. ka-2 Mbit/s futhi kufika ku-1021 byte ngesivinini esingu-3 Mbit/s, futhi ku-3 - 367 no-552 bytes, ngokulandelana.

Silungisa isitaki se-Bluetooth ukuze sithuthukise umsindo kuma-headphone ngaphandle kwe-AAC, i-aptX ne-LDAC codec

Uma sifuna ukudlulisa idatha encane kunamabhayithi angu-679 noma angu-1021, kodwa ngaphezu kwamabhayithi angu-367 noma angu-552, ukudluliswa kusazothatha izikhala ezi-5 futhi idatha izodluliswa ngesikhathi esifanayo, okunciphisa ukusebenza kahle kokudlulisa.

Silungisa isitaki se-Bluetooth ukuze sithuthukise umsindo kuma-headphone ngaphandle kwe-AAC, i-aptX ne-LDAC codec

I-SBC kumodi ye-Dual Channel, kumsindo ongu-44100 Hz namapharamitha we-Bitpool 38, amabhulokhi angu-16 kuhlaka ngalunye, izigaba zokuvama eziyi-8, ifaka umsindo kumafreyimu angama-164 byte, nge-bitrate engu-452 kbps.
Umsindo kufanele uhlanganiswe ku-L2CAP kanye ne-AVDTP yezivumelwano zokudlulisa, ezithatha amabhayithi angu-16 ekulayisheni okulalelwayo.

Silungisa isitaki se-Bluetooth ukuze sithuthukise umsindo kuma-headphone ngaphandle kwe-AAC, i-aptX ne-LDAC codec

Ngakho-ke, ukudluliswa kwe-Bluetooth okukodwa okunama-slots angu-5 kungakwazi ukufaka amafreyimu omsindo angu-4:

679 (EDR 2 mbit/s DH5) - 4 (L2CAP) - 12 (AVDTP/RTP) - 1 (Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ SBC) - (164*4) = 6

Sifaka u-11.7 ms wedatha yomsindo ephaketheni elithunyelwayo, elizodluliselwa ngo-3.75 ms, futhi sisele namabhayithi angu-6 angasetshenzisiwe ephaketheni.
Uma uphakamisa i-bitpool kancane, ngeke kusakwazi ukupakisha amafreyimu omsindo angu-4 kuphakheji eyodwa. Kuzodingeka ukuthi uthumele amafreyimu angu-3 ngesikhathi, okunciphisa ukusebenza kahle kokudlulisela, kunciphisa inani lomsindo odluliswayo ngokuthumela ngakunye, futhi kuzoholela ngokushesha ekungingizani komsindo ezimweni ezimbi zomsakazo.

Ngendlela efanayo, i-bitrate engu-551 kbit/s ikhethelwe i-EDR 3 Mbit/s: ene-Bitpool 47, amabhulokhi angu-16 uzimele ngamunye, ububanzi befrikhwensi angu-8, usayizi wozimele ungamabhayithi angu-200, ne-bitrate engu-551 kbit/s. Iphakheji elilodwa liqukethe amafreyimu angu-5 noma 14.6 ms omculo.

I-algorithm yokubala yonke imingcele ye-SBC iyinkimbinkimbi impela, ungadideka kalula uma ubala mathupha, ngakho ngenze isibali esisebenzisanayo ukusiza labo abathanda: btcodecs.valdikss.org.ru/sbc-bitrate-calculator

Kungani kudingeka konke lokhu?

Ngokuphambene nenkolelo evamile mayelana nekhwalithi yomsindo ye-aptX codec, kwamanye amafayela ingaveza imiphumela emibi kune-SBC ene-bitrate evamile engu-328 kbps.

I-SBC inika amandla amabhithi wokulinganisa kumabhendi wefrikhwensi ngokwesisekelo esiphansi ukuya phezulu. Uma yonke i-bitrate isetshenziswe kumafrikhwensi aphansi naphakathi, amaza aphezulu "azonqunywa" (kuyoba nokuthula esikhundleni salokho).
I-aptX ilinganisa amabhendi efrikhwensi ngenani elifanayo lamabhithi ngaso sonke isikhathi, yingakho ine-bitrate engaguquki: 352 kbps ye-44.1 kHz, 384 kbps ngo-48 kHz, futhi ayikwazi "ukushintsha kancane" kulawo mafrikhwensi awadinga kakhulu. . Ngokungafani ne-SBC, i-aptX ngeke β€œisike” amaza, kodwa izongeza umsindo wokulinganisa kuwo, inciphise ububanzi obuguquguqukayo bomsindo, futhi ngezinye izikhathi yethule ukuqhekeka kwesici. I-SBC "idla imininingwane" - ilahla izindawo ezithule kakhulu.
Ngokwesilinganiso, uma kuqhathaniswa ne-SBC 328k, i-aptX yethula ukuhlanekezela okuncane emculweni onobubanzi befrikhwensi, kodwa emculweni onobubanzi obuncane befrikhwensi nobubanzi obuguquguqukayo, i-SBC 328k kwesinye isikhathi iyawina.

Ake sicabangele icala elikhethekile. I-Spectrogram yokuqoshwa kwepiyano edlalayo:
Silungisa isitaki se-Bluetooth ukuze sithuthukise umsindo kuma-headphone ngaphandle kwe-AAC, i-aptX ne-LDAC codec

Amandla amakhulu atholakala kumafrikhwensi asuka ku-0 kuye ku-4 kHz, futhi aqhubeka aze afike ku-10 kHz.
I-spectrogram yefayela elicindezelwe ku-aptX ibonakala kanje:
Silungisa isitaki se-Bluetooth ukuze sithuthukise umsindo kuma-headphone ngaphandle kwe-AAC, i-aptX ne-LDAC codec

Futhi yile ndlela i-SBC 328k ebukeka ngayo.
Silungisa isitaki se-Bluetooth ukuze sithuthukise umsindo kuma-headphone ngaphandle kwe-AAC, i-aptX ne-LDAC codec

Kuyabonakala ukuthi i-SBC 328k ivamise ukucisha ngokuphelele ububanzi obungaphezulu kuka-16 kHz, futhi yachitha yonke i-bitrate etholakalayo kububanzi obungaphansi kwaleli nani. Kodwa-ke, i-aptX yethule ukuhlanekezela okwengeziwe ku-spectrum yefrikhwensi ezwakala endlebeni yomuntu, njengoba kungabonwa ku-spectrogram yasekuqaleni ekhishiwe ku-aptX spectrogram (ekhanya kakhulu, ihlanekezela kakhulu):
Silungisa isitaki se-Bluetooth ukuze sithuthukise umsindo kuma-headphone ngaphandle kwe-AAC, i-aptX ne-LDAC codec

Ngenkathi i-SBC 328k yonakalise isignali kancane ebangeni ukusuka ku-0 kuye ku-10 kHz, futhi yanqamula okunye:
Silungisa isitaki se-Bluetooth ukuze sithuthukise umsindo kuma-headphone ngaphandle kwe-AAC, i-aptX ne-LDAC codec

I-bitrate engu-485k ye-SBC yayanele ukugcina lonke ibanga lefrikhwensi, ngaphandle kokukhubaza amabhendi.
Silungisa isitaki se-Bluetooth ukuze sithuthukise umsindo kuma-headphone ngaphandle kwe-AAC, i-aptX ne-LDAC codec

I-SBC 485k iphambili kakhulu kune-aptX kule threkhi ebangeni elingu-0-15 kHz, inomehluko omncane kodwa osabonakala ongu-15-22 kHz (okuyoba mnyama ukuhlanekezela okuncane):
Silungisa isitaki se-Bluetooth ukuze sithuthukise umsindo kuma-headphone ngaphandle kwe-AAC, i-aptX ne-LDAC codec

Ingobo yomlando yomsindo wangempela, i-SBC ne-aptX.

Ngokushintshela ku-SBC ene-bitrate ephezulu, uzothola umsindo ovame ukuhlula i-aptX kunoma iyiphi i-headphone. Kuma-headphone asekela uxhumano lwe-3 Mbps EDR, i-bitrate engu-551 kbps ikhiqiza umsindo ofana ne-aptX HD.

Ungakwazi yini ukwenza okwengeziwe?

Isiqeshana se-Android sihlanganisa nenketho yokwandisa i-bitrate kumadivayisi angu-2 Mbps EDR. Ungakwazi ukukhulisa i-bitrate isuke ku-452 kbit/s iye ku-595 kbit/s, ngezindleko zokunciphisa ukuzinza kokudlulisela ezimweni ezinzima zomsakazo.
Kwanele ukusetha okuguquguqukayo kwe-persist.bluetooth.sbc_hd_higher_bitrate ukuze kube ngu-1:

# setprop persist.bluetooth.sbc_hd_higher_bitrate 1

I-bitrate patch eyedlulele kuze kube manje yamukelwe kuphela ku-LineageOS 15.1, kodwa hhayi ku-16.0.

Ukuhambisana Kwedivayisi

I-SBC Dual Channel isekelwa cishe yiwo wonke ama-headphone, izipikha namayunithi ekhanda lemoto. Lokhu akumangalisi - izinga lidinga ukwesekwa kwalo kunoma imaphi amadivaysi okukhipha amakhodi. Kunenombolo encane yamadivayisi lapho le modi idala izinkinga, kodwa lezi yizimo ezingazodwa.
Imininingwane eyengeziwe mayelana namadivayisi ahambisanayo ingatholakala kokuthi 4pda noma Abaxhasi be-xda.

Ukuqhathanisa umehluko wemisindo

Ngenze isevisi yewebhu ehlanganisa umsindo ku-SBC (kanye ne-aptX ne-aptX HD) ngesikhathi sangempela, khona kanye esipheqululini. Ngayo, ungaqhathanisa umsindo wamaphrofayili e-SBC ahlukene namanye ama-codec, ngaphandle kokudlulisa umsindo nge-Bluetooth, kunoma imaphi ama-headphone anentambo, izipikha, nomculo wakho owuthandayo, futhi ushintshe nemingcele yombhalo wekhodi ngokuqondile ngenkathi udlala umsindo.
btcodecs.valdikss.org.ru/sbc-encoder

Xhumana Nonjiniyela be-Android

Ngibhalele abathuthukisi besitaki be-Bluetooth abaningi kwa-Google ngibacela ukuthi bacabangele ukufaka amapheshana egatsheni eliyinhloko le-Android - i-AOSP, kodwa abatholanga impendulo eyodwa. Iziqephu zami zingenile Gerrit patch system for Android futhi uhlale ngaphandle kokuphawula kunoma ubani ohilelekile.
Ngingajabula uma ngingathola usizo lokuxhumana nonjiniyela bakwa-Google nokuletha i-SBC HD ku-Android. I-patch in gerrit isiphelelwe yisikhathi (lokhu kungenye yezibuyekezo zakuqala), futhi ngizoyibuyekeza uma abathuthukisi bethanda izinguquko zami (akulula kimi ukuyibuyekeza, anginawo amadivayisi ahambisana ne-Android Q ).

isiphetho

Abasebenzisi bama-smartphone ane-LineageOS, i-Resurrection Remix ne-crDroid firmware bangajabulela ikhwalithi yomsindo ethuthukisiwe njengamanje, vele wenze kusebenze inketho kuzilungiselelo zedivayisi ye-Bluetooth. Abasebenzisi be-Linux bangathola futhi i-bitrate ye-SBC eyengeziwe ngokufaka isiqephu esivela ku-Pali Rohar, okuthi, phakathi kwezinye izinto, ingeze ukusekelwa kwe-aptX, i-aptX HD namakhodi e-FastStream.

Source: www.habr.com

Engeza amazwana