Hoʻololi mākou i ka pūʻulu Bluetooth e hoʻomaikaʻi i ke kani ma nā headphone me ka ʻole o nā codec AAC, aptX a me LDAC

Ma mua o ka heluhelu ʻana i kēia ʻatikala, pono ʻoe e heluhelu i ka ʻatikala mua: Leo ma Bluetooth: nā kikoʻī kiʻekiʻe loa e pili ana i nā profiles, codecs a me nā mea hana

Ke hōʻike nei kekahi poʻe hoʻohana headphone kelepona i ka maikaʻi maikaʻi ʻole a me ka nele o nā alapine kiʻekiʻe i ka wā e hoʻohana ai i ka codec Bluetooth SBC maʻamau, i kākoʻo ʻia e nā mea leo leo āpau. ʻO kahi ʻōlelo maʻamau no ka hoʻomaikaʻi ʻana i ke kani ʻo ke kūʻai ʻana i nā mea hana a me nā headphone e kākoʻo ana i nā codec aptX a me LDAC. Pono kēia mau codecs i nā uku laikini, no laila ʻoi aku ka pipiʻi o nā mea kākoʻo iā lākou.

ʻIke ʻia ʻo ka haʻahaʻa haʻahaʻa o SBC ma muli o nā palena kūlohelohe o nā pūʻulu Bluetooth a me nā hoʻonohonoho headphone, a hiki ke kāpae ʻia kēia palena i nā mea i loaʻa ma o ka hoʻololi ʻana i nā polokalamu i kahi atamai a kamepiula paha.

Codec SBC

He nui nā ʻāpana like ʻole o ka codec SBC i kūkākūkā ʻia i ka wā o ka hoʻonohonoho hoʻonohonoho pili. Ma waena o lākou:

  • Ka helu a me ke ʻano o nā awāwa: Hui Pū ʻIa, Stereo, ʻAlua Channel, Mono;
  • Ka helu o nā kaha alapine: 4 a i ʻole 8;
  • Ka helu o nā poloka i loko o ka pūʻolo: 4, 8, 12, 16;
  • Algorithm no ka hāʻawi ʻana i nā bits i ka hoʻonui ʻana: Loudness, SNR;
  • ʻO ka nui a me ka liʻiliʻi loa o ka loko o nā bits i hoʻohana ʻia i ka quantization (bitpool): maʻamau mai 2 a 53.

Pono e kākoʻo ka mea hoʻokaʻawale i kēlā me kēia hui ʻana o kēia mau ʻāpana. ʻAʻole hiki i ka encoder ke hoʻokō i nā mea āpau.
ʻAe like nā pūʻulu Bluetooth e kū nei i kēia ʻaoʻao: Hui Pū ʻIa, 8 mau pūʻali, 16 poloka, Leo nui, bitpool 2..53. Hoʻopili kēia ʻaoʻao i ka leo 44.1 kHz ma kahi wikiwiki o 328 kbps.
Hoʻopili pololei ka ʻāpana bitpool i ka bitrate i loko o hoʻokahi ʻaoʻao: ʻoi aku ka kiʻekiʻe, ʻoi aku ka kiʻekiʻe o ka bitrate, a no laila ka maikaʻi.
Eia naʻe, ʻaʻole i hoʻopaʻa ʻia ka ʻāpana bitpool i kahi kikoʻī kikoʻī; Hoʻopili nui ʻia ka bitrate e nā ʻāpana ʻē aʻe: ke ʻano o nā kaha, ka helu o nā alapine, ka helu o nā poloka. Hiki iā ʻoe ke hoʻonui i ka bitrate me ka ʻole, ma ka ʻae ʻana i nā ʻaoʻao maʻamau ʻole, me ka hoʻololi ʻole i ka bitpool.

Hoʻololi mākou i ka pūʻulu Bluetooth e hoʻomaikaʻi i ke kani ma nā headphone me ka ʻole o nā codec AAC, aptX a me LDAC

Kumu no ka helu ʻana i ka bitrate SBC

No ka laʻana, hoʻopili kaʻawale ka mode Dual Channel i nā kahawai, me ka hoʻohana ʻana i ka bitpool holoʻokoʻa no kēlā me kēia kahawai. Ma ka hoʻoikaika ʻana i ka hāmeʻa e hoʻohana i ka Dual Channel ma kahi o Joint Stereo, loaʻa iā mākou ka aneane pālua i ka bitrate me ka nui o ka waiwai bitpool: 617 kbps.
I koʻu manaʻo, ʻo ka hoʻohana ʻana i kahi waiwai bitpool ʻaʻole i hoʻopaʻa ʻia i kahi ʻaoʻao ma ke kahua kūkākūkā he hewa ia i ka maʻamau A2DP, kahi i alakaʻi ʻia i kahi palena kūlohelohe o ka maikaʻi SBC. ʻOi aku ka maikaʻi o ke kūkākūkā ʻana i ka bitrate ma mua o ka bitpool.

Loaʻa kēia mau waiwai Bitpool a me Bitrate mai kahi papaʻaina me nā waiwai i manaʻo ʻia no ka hoʻohana ʻana no ka leo kiʻekiʻe. Akā ʻaʻole ʻo ka ʻōlelo paipai he kumu e kaupalena ai iā ʻoe iho i kēia mau waiwai.

Hoʻololi mākou i ka pūʻulu Bluetooth e hoʻomaikaʻi i ke kani ma nā headphone me ka ʻole o nā codec AAC, aptX a me LDAC

ʻO ka ʻōlelo kikoʻī A2DP v1.2, i hana ʻia mai ka makahiki 2007 a hiki i ka makahiki 2015, pono e hana pono nā mea hoʻokaʻawale a pau me nā bitrates a hiki i 512 kbps:

Na ka decoder o ka SNK e kākoʻo i nā koina bitpool āpau i hiki ʻole ke ʻoi aku ma mua o ka nui o ka nui. Hoʻopili ʻia kēia ʻaoʻao i ka 320kb/s no ka mono, a me 512kb/s no nā ʻano ala ʻelua.

Ma ka mana hou o ka kikoʻī ʻaʻohe palena o ka bitrate. Ua manaʻo ʻia ua hoʻokuʻu ʻia nā headphone hou ma hope o 2015 e kākoʻo ana iā EDR ke kākoʻo i nā helu bit a hiki i ≈730 kbps.

No kekahi kumu, ʻo ka Linux (PulseAudio), Android, Blackberry a me macOS Bluetooth stacks aʻu i hoʻāʻo ai i nā palena kūlohelohe i ka nui o ka waiwai o ka bitpool parameter, e pili pono ana i ka bitrate kiʻekiʻe. Akā ʻaʻole kēia ka pilikia nui loa; kokoke i nā headphone āpau e kaupalena i ka waiwai bitpool kiʻekiʻe i 53.
E like me kaʻu i ʻike mua ai, hana maikaʻi ka hapa nui o nā hāmeʻa ma kahi hoʻonohonoho Bluetooth i hoʻololi ʻia me ka bitrate o 551 kbps, me ka ʻole o nā keakea a i ʻole nā ​​​​pahū. Akā, ʻaʻole e kūlike kēlā bitrate ma lalo o nā kūlana maʻamau, ma nā pūʻulu Bluetooth maʻamau.

Hoʻololi i ka pūʻulu Bluetooth

ʻO kēlā me kēia pūʻulu Bluetooth i kūpono me ka maʻamau A2DP he kākoʻo no ka mode Dual Channel, akā ʻaʻole hiki ke hoʻāla ʻia mai ka interface.

E hoʻohui kākou i kahi hoʻololi i ka interface! Ua hana au i nā pākuʻi no ka Android 8.1 a me ka Android 9 e hoʻohui i ke kākoʻo Dual Channel piha i ka waihona, hoʻohui i kahi mode i ke ʻano hoʻololi i ka papa kuhikuhi i nā mea hana dev, a mālama i nā SBC i hoʻohana ʻia ʻo Dual Channel me he mea lā he codec hou lākou e like me aptX , AAC, a i ʻole LDAC (Kahea ʻo Android i kēia HD Audio) ma ka hoʻohui ʻana i kahi kaha kaha i nā hoʻonohonoho hāmeʻa Bluetooth. Penei kona ano:

Hoʻololi mākou i ka pūʻulu Bluetooth e hoʻomaikaʻi i ke kani ma nā headphone me ka ʻole o nā codec AAC, aptX a me LDAC

Patch no ka Android 9
Patch no ka Android 8.1

Ke hoʻā ʻia ka pahu pahu, hoʻomaka ka leo Bluetooth e hoʻouna ʻia ma kahi bitrate 551 kbps, inā kākoʻo nā headphone i ka wikiwiki pili o 3 Mbit/s, a i ʻole 452 kbps, inā kākoʻo nā headphone i ka 2 Mbit/s.

Hoʻokomo ʻia kēia patch i nā firmwares hou aʻe:

  • LineageOS
  • Uluwehi Remix
  • crDroid

No hea mai ka 551 a me 452 kbit/s?

Hoʻolālā ʻia ka ʻenehana kaʻana like ea Bluetooth e hoʻouna pono i nā ʻeke nui paʻa. Loaʻa ka hoʻoili ʻikepili i nā slots, ʻo ka helu nui loa o nā slot i hoʻouna ʻia i hoʻokahi hoʻoili ʻana he 5. Aia kekahi mau ʻano hoʻololi e hoʻohana ana i ka 1 a i ʻole 3 slots, akā ʻaʻole 2 a i ʻole 4. Ma nā slot 5 hiki iā ʻoe ke hoʻololi a hiki i 679 bytes i ka wikiwiki pili. o 2 Mbit/s a hiki i 1021 bytes ma ka māmā holo o 3 Mbit/s, a ma 3 - 367 a me 552 bytes.

Hoʻololi mākou i ka pūʻulu Bluetooth e hoʻomaikaʻi i ke kani ma nā headphone me ka ʻole o nā codec AAC, aptX a me LDAC

Inā makemake mākou e hoʻoili i nā ʻikepili liʻiliʻi ma mua o 679 a i ʻole 1021 bytes, akā ʻoi aku ma mua o 367 a i ʻole 552 bytes, e lawe mau ana ka hoʻoili ʻana i nā 5 slots a e hoʻoili ʻia ka ʻikepili i ka manawa like, e hōʻemi ana i ka pono o ka hoʻoili.

Hoʻololi mākou i ka pūʻulu Bluetooth e hoʻomaikaʻi i ke kani ma nā headphone me ka ʻole o nā codec AAC, aptX a me LDAC

SBC ma Dual Channel mode, ma 44100 Hz leo me Bitpool 38 mau palena, 16 poloka no ke kiʻi, 8 alapinepine, hoʻopili i ka leo i 164 byte mau papa, me ka bitrate o 452 kbps.
Pono e hoʻopili ʻia ka leo ma L2CAP a me AVDTP hoʻoili protocols, e lawe i 16 bytes mai ka uku leo.

Hoʻololi mākou i ka pūʻulu Bluetooth e hoʻomaikaʻi i ke kani ma nā headphone me ka ʻole o nā codec AAC, aptX a me LDAC

No laila, hiki i hoʻokahi hoʻoili Bluetooth me 5 mau mākia ke hoʻokomo i nā papa leo 4:

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

Hoʻokomo mākou i 11.7 ms o ka ʻikepili leo i loko o ka ʻeke e hoʻouna ʻia ana, e hoʻouna ʻia i 3.75 ms, a loaʻa iā mākou he 6 bytes i hoʻohana ʻole ʻia i loko o ka ʻeke.
Inā hoʻokiʻekiʻe liʻiliʻi ʻoe i ka bitpool, ʻaʻole hiki ke hoʻopaʻa hou i 4 mau pahu leo ​​i hoʻokahi pūʻolo. Pono ʻoe e hoʻouna i 3 mau kiʻi i ka manawa, e hōʻemi ana i ka maikaʻi o ka hoʻouna ʻana, e hoʻemi i ka nui o nā leo i hoʻouna ʻia i kēlā me kēia kiʻi, a e alakaʻi koke i ke kani ʻana o ka leo i nā kūlana lekiō maikaʻi ʻole.

Ma ke ala like, ua koho ʻia kahi bitrate o 551 kbit/s no EDR 3 Mbit/s: me Bitpool 47, 16 mau poloka i kēlā me kēia kiʻi, 8 mau alapine, ʻo ka nui o ke kiʻi he 200 bytes, me ka bitrate o 551 kbit/s. Loaʻa i hoʻokahi pūʻolo 5 mau papa a i ʻole 14.6 ms o ke mele.

He paʻakikī loa ka algorithm no ka helu ʻana i nā ʻāpana SBC āpau, hiki iā ʻoe ke huikau inā helu lima ʻoe, no laila ua hana wau i kahi calculator interactive e kōkua i ka poʻe hoihoi: btcodecs.valdikss.org.ru/sbc-bitrate-calculator

No ke aha e pono ai kēia mau mea?

Kūlike ʻole i ka manaʻo nui e pili ana i ka maikaʻi o ka leo o ka codec aptX, ma kekahi mau faila hiki ke hoʻopuka i nā hopena ʻoi aku ka maikaʻi ma mua o SBC me ka bitrate maʻamau o 328 kbps.

Hoʻokaʻawale ikaika ka SBC i nā bit quantization i nā alapine ma ke kumu haʻahaʻa a kiʻekiʻe. Inā hoʻohana ʻia ka bitrate a pau no nā alapine haʻahaʻa a me waena, e "ʻoki ʻia" nā alapine kiʻekiʻe (ʻo ia ka hāmau).
Hoʻohālikelike ʻo aptX i nā kaha alapine me ka helu like o nā bits i nā manawa a pau, ʻo ia ke kumu he bitrate mau: 352 kbps no 44.1 kHz, 384 kbps no 48 kHz, a ʻaʻole hiki iā ia ke "bit-shift" i kēlā mau alapine e pono ai iā lākou. . ʻAʻole e like me SBC, ʻaʻole e "ʻoki" aptX i nā alapine, akā e hoʻohui i ka leo quantization iā lākou, e hōʻemi ana i ke ʻano ikaika o ka leo, a i kekahi manawa e hoʻolauna i kahi ʻano pahū. SBC "ʻai i nā kikoʻī" - hoʻolei i nā wahi mālie loa.
Ma ka awelika, i hoʻohālikelike ʻia me ka SBC 328k, hoʻolauna ʻo aptX i ka liʻiliʻi o ka distortion i ke mele me kahi ākea ākea, akā i ke mele me kahi alapine haiki a me kahi ākea ākea ākea, lanakila ka SBC 328k i kekahi manawa.

E noʻonoʻo kākou i kahi hihia kūikawā. Spectrogram o kahi hoʻokani pila piano:
Hoʻololi mākou i ka pūʻulu Bluetooth e hoʻomaikaʻi i ke kani ma nā headphone me ka ʻole o nā codec AAC, aptX a me LDAC

Aia ka ikehu nui i nā alapine mai 0 a 4 kHz, a hoʻomau a hiki i 10 kHz.
ʻO ka spectrogram o kahi faila i hoʻopaʻa ʻia ma aptX e like me kēia:
Hoʻololi mākou i ka pūʻulu Bluetooth e hoʻomaikaʻi i ke kani ma nā headphone me ka ʻole o nā codec AAC, aptX a me LDAC

A ʻo kēia ke ʻano o SBC 328k.
Hoʻololi mākou i ka pūʻulu Bluetooth e hoʻomaikaʻi i ke kani ma nā headphone me ka ʻole o nā codec AAC, aptX a me LDAC

Hiki ke ʻike ʻia ua hoʻopau loa ka SBC 328k i ka laulā ma luna o 16 kHz, a ua hoʻohana i nā bitrate āpau i loaʻa ma nā pae ma lalo o kēia waiwai. Eia nō naʻe, ua hoʻokomo ʻo aptX i ka ʻokoʻa i loko o ke alapine alapine i hiki ke lohe ʻia i ka pepeiao o ke kanaka, e like me ka mea i ʻike ʻia ma ke kikoʻī kumu mua i unuhi ʻia mai ka spectrogram aptX (ʻo ka ʻoi aku ka mālamalama, ʻoi aku ka ʻoi aku o ka distortion):
Hoʻololi mākou i ka pūʻulu Bluetooth e hoʻomaikaʻi i ke kani ma nā headphone me ka ʻole o nā codec AAC, aptX a me LDAC

ʻOiai ua hoʻopau ka SBC 328k i ka hōʻailona liʻiliʻi ma ka laulā mai 0 a 10 kHz, a ʻoki i ke koena:
Hoʻololi mākou i ka pūʻulu Bluetooth e hoʻomaikaʻi i ke kani ma nā headphone me ka ʻole o nā codec AAC, aptX a me LDAC

Ua lawa ka 485k bitrate o ka SBC no ka mālama ʻana i ka laina alapine holoʻokoʻa, me ka ʻole o ka hoʻopau ʻana i nā kaula.
Hoʻololi mākou i ka pūʻulu Bluetooth e hoʻomaikaʻi i ke kani ma nā headphone me ka ʻole o nā codec AAC, aptX a me LDAC

ʻOi aku ka nui o ka SBC 485k ma mua o ka aptX ma kēia ala ma ka laulā 0-15 kHz, me kahi ʻokoʻa liʻiliʻi akā ʻike mau ʻia o 15-22 kHz (ʻo ka ʻeleʻele ka liʻiliʻi o ka distortion):
Hoʻololi mākou i ka pūʻulu Bluetooth e hoʻomaikaʻi i ke kani ma nā headphone me ka ʻole o nā codec AAC, aptX a me LDAC

Waihona o ka leo kumu, SBC a me aptX.

Ma ka hoʻololi ʻana i kahi SBC kiʻekiʻe-bitrate, e loaʻa iā ʻoe ka leo e paʻi pinepine i ka aptX ma kekahi headphone. Ma nā headphone e kākoʻo ana i ka hoʻohui ʻana o 3 Mbps EDR, ʻo ka bitrate o 551 kbps e hoʻopuka i ke kani e like me aptX HD.

Hiki iā ʻoe ke hana hou aku?

Aia pū ka Android patch i kahi koho e hoʻonui hou i ka bitrate no nā polokalamu 2 Mbps EDR. Hiki iā ʻoe ke hoʻonui i ka bitrate mai 452 kbit/s a i 595 kbit/s, ma ke kumu kūʻai e hōʻemi i ka paʻa o ka hoʻouna ʻana i nā kūlana lekiō paʻakikī.
Ua lawa ka hoʻonoho ʻana i ka hoʻololi persist.bluetooth.sbc_hd_higher_bitrate i ka 1:

# setprop persist.bluetooth.sbc_hd_higher_bitrate 1

Ua hoʻohana wale ʻia ka patch bitrate loa i LineageOS 15.1, akā ʻaʻole ma 16.0.

Mea Hoʻohālikelike

Kākoʻo ʻia ʻo SBC Dual Channel e nā poʻo poʻo āpau, nā ʻōlelo a me nā ʻāpana poʻo kaʻa. ʻAʻole kēia he mea kupanaha - pono ka maʻamau i kāna kākoʻo i nā polokalamu decoding. Aia kekahi helu liʻiliʻi o nā hāmeʻa e hoʻopilikia ai kēia ʻano, akā he mau manawa kaʻawale kēia.
Hiki ke loaʻa nā kikoʻī hou aʻe e pili ana i nā hāmeʻa kūpono ma 4pda ai ole ia, xda-papahana.

Hoʻohālikelike i nā ʻokoʻa kani

Ua hana au i kahi lawelawe pūnaewele e hoʻopili ai i ka leo iā SBC (a me aptX a me aptX HD) i ka manawa maoli, pololei ma ka polokalamu kele pūnaewele. Me ia, hiki iā ʻoe ke hoʻohālikelike i ke kani o nā ʻaoʻao SBC ʻē aʻe a me nā codec ʻē aʻe, me ka ʻole o ka hoʻouna ʻana i ka leo ma o Bluetooth, ma nā headphone uea, nā mea haʻiʻōlelo, a me kāu mele punahele, a hoʻololi pū i nā ʻāpana hoʻopili pololei i ka wā e pāʻani ana i ka leo.
btcodecs.valdikss.org.ru/sbc-encoder

Hoʻokaʻaʻike i nā mea hoʻomohala Android

Ua kākau au i nā mea hoʻomohala Bluetooth he nui ma Google e noi ana iā lākou e noʻonoʻo e hoʻokomo i nā pā i ka lālā Android nui - AOSP, akā ʻaʻole i loaʻa kahi pane. ʻO kaʻu mau pā i loko ʻO Gerrit patch system no ka Android noho pū ʻia me ka ʻole o ka ʻōlelo a kekahi i pili.
E hauʻoli wau inā hiki iaʻu ke loaʻa i ke kōkua i ka launa pū ʻana me nā mea hoʻomohala ma Google a lawe mai iā SBC HD i ka Android. ʻO ka patch i loko o ka gerrit ua kahiko loa (ʻo ia kekahi o nā hoʻoponopono mua), a e hōʻano hou wau inā makemake nā mea hoʻomohala i kaʻu mau hoʻololi (ʻaʻole maʻalahi iaʻu e hoʻonui, ʻaʻohe oʻu mau polokalamu kūpono me Android Q. ).

hopena

Hiki i nā mea hoʻohana o nā smartphones me LineageOS, Resurrection Remix a me crDroid firmware ke leʻaleʻa i ka maikaʻi o ke kani i kēia manawa, e hoʻāla wale i ke koho i nā hoʻonohonoho hāmeʻa Bluetooth. Hiki i nā mea hoʻohana Linux ke hoʻonui i ka bitrate SBC ma ke kau ʻana patch mai Pali Rohar, ka mea, ma waena o nā mea ʻē aʻe, hoʻohui i ke kākoʻo no aptX, aptX HD a me FastStream codecs.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka