Bluetooth orqali audio: profillar, kodeklar va qurilmalar haqida maksimal ma'lumot

Bluetooth orqali audio: profillar, kodeklar va qurilmalar haqida maksimal ma'lumot

3.5 mm audio uyasi bo'lmagan smartfonlarning ommaviy ishlab chiqarilishi tufayli simsiz Bluetooth eshitish vositalari ko'pchilik uchun musiqa tinglash va eshitish vositasi rejimida muloqot qilishning asosiy usuliga aylandi.
Simsiz qurilmalar ishlab chiqaruvchilari har doim ham mahsulotning batafsil tavsiflarini yozmaydilar va Internetdagi Bluetooth audio haqidagi maqolalar bir-biriga zid, ba'zan noto'g'ri, barcha xususiyatlar haqida gapirmaydilar va ko'pincha haqiqatga mos kelmaydigan bir xil ma'lumotlarni ko'chirib olishadi.
Keling, protokolni, Bluetooth OS steklari, naushniklar va karnaylarning imkoniyatlarini, musiqa va nutq uchun Bluetooth kodeklarini tushunishga harakat qilaylik, uzatiladigan tovush sifatiga va kechikishga nima ta'sir qilishini bilib olaylik, qo'llab-quvvatlanadigan kodeklar va boshqa qurilmalar haqida ma'lumot to'plash va dekodlashni o'rganamiz. qobiliyatlar.

TP; DR:

  • SBC - oddiy kodek
  • Eshitish vositalarida har bir kodek uchun alohida ekvalayzer va keyingi ishlov berish mavjud
  • aptX reklama qilinganidek yaxshi emas
  • LDAC - bu marketing bema'niligi
  • Qo'ng'iroqlar sifati hali ham yomon
  • Siz C audio kodlovchilarini emscripten orqali WebAssembly-ga kompilyatsiya qilish orqali brauzeringizga joylashtirishingiz mumkin va ular sekinlashmaydi.

Bluetooth orqali musiqa

Bluetooth-ning funktsional komponenti profillar bilan belgilanadi - muayyan funktsiyalarning spetsifikatsiyalari. Bluetooth musiqa oqimi yuqori sifatli A2DP bir tomonlama audio uzatish profilidan foydalanadi. A2DP standarti 2003 yilda qabul qilingan va o'shandan beri sezilarli darajada o'zgarmagan.
Profilda Bluetooth uchun maxsus yaratilgan past hisoblash murakkabligidagi 1 ta majburiy kodek va 3 ta qo'shimcha standartlashtirilgan. O'zingizning dasturingizning hujjatsiz kodeklaridan foydalanish ham mumkin.

2019 yil iyun oyidan boshlab biz xkcd komiksida 14 ta A2DP kodeklari bilan:

  • SBC ← A2DP-da standartlashtirilgan, barcha qurilmalar tomonidan qo'llab-quvvatlanadi
  • MPEG-1/2 Layer 1/2/3 ← A2DP da standartlashtirilgan: yaxshi ma'lum MP3, raqamli televidenieda ishlatiladi MP2, va noma'lum MP1
  • MPEG-2/4 AAC ← A2DP da standartlashtirilgan
  • ATTRAC ← Sony-dan eski kodek, A2DP-da standartlashtirilgan
  • LDAC ← Sony-dan yangi kodek
  • aptX ← 1988 yildagi kodek
  • aptXHD ← aptX bilan bir xil, faqat turli xil kodlash variantlari bilan
  • aptX past kechikish ← butunlay boshqa kodek, dasturiy ta'minot amalga oshirilmagan
  • aptX moslashuvchan ← Qualcomm'dan boshqa kodek
  • Tez oqim ← psevdokodek, ikki tomonlama SBC modifikatsiyasi
  • HWA LHDC ← Huawei'dan yangi kodek
  • Samsung HD ← 2 ta qurilma tomonidan qoΚ»llab-quvvatlanadi
  • Samsung Scalable ← 2 ta qurilma tomonidan qoΚ»llab-quvvatlanadi
  • Samsung UHQ-BT ← 3 ta qurilma tomonidan qoΚ»llab-quvvatlanadi

Nima uchun bizga umuman kodeklar kerak, deb so'rayapsizmi, Bluetooth-da ma'lumotlarni 2 va 3 Mbit/s tezlikda uzatish imkonini beruvchi EDR mavjud va siqilmagan ikki kanalli 16-bitli PCM uchun 1.4 Mbit/s yetarlimi?

Bluetooth orqali ma'lumotlarni uzatish

Bluetooth-da ma'lumotlarni uzatishning ikki turi mavjud: ulanishni o'rnatmasdan asinxron uzatish uchun Asinxron ulanish Less (ACL) va dastlabki ulanish muzokaralari bilan sinxron uzatish uchun Sinxron ulanishga yo'naltirilgan (SCO).
Uzatish vaqtni taqsimlash sxemasi yordamida va har bir paket uchun alohida (Frequency-Hop/Time-Division-Duplex, FH/TDD) uzatish kanalini tanlash yordamida amalga oshiriladi, bu vaqt uchun slotlar deb ataladigan 625 mikrosekundlik intervallarga bo'linadi. Qurilmalardan biri juft raqamli slotlarda, ikkinchisi toq raqamli uyalarda uzatadi. Uzatilgan paket ma'lumotlarning hajmiga va o'rnatilgan uzatish turiga qarab 1, 3 yoki 5 slotni egallashi mumkin, bu holda bitta qurilma orqali uzatish uzatish tugaguniga qadar juft va toq slotlarda amalga oshiriladi. Hammasi bo'lib soniyada 1600 tagacha paketlarni qabul qilish va jo'natish mumkin, agar ularning har biri 1 slotni egallasa va ikkala qurilma ham biror narsani to'xtovsiz uzatadi va qabul qilsa.

E'lonlarda va Bluetooth veb-saytida topish mumkin bo'lgan EDR uchun 2 va 3 Mbit / s - bu barcha ma'lumotlarning (shu jumladan, ma'lumotlar inkapsulatsiyasi kerak bo'lgan barcha protokollarning texnik sarlavhalari) ikki yo'nalishda maksimal kanal uzatish tezligi. bir vaqtning o'zida. Haqiqiy ma'lumotlarni uzatish tezligi juda katta farq qiladi.

Musiqani uzatish uchun deyarli har doim 2-DH5 va 3-DH5 kabi paketlardan foydalangan holda asinxron usul qo'llaniladi, ular EDR rejimida mos ravishda 2 Mbit / s va 3 Mbit / s ma'lumotlarning maksimal hajmini o'z ichiga oladi va 5 vaqtni egallaydi. - uyalar almashish.

Bir qurilma tomonidan 5 slot va boshqa qurilma tomonidan 1 slot yordamida uzatishning sxematik ko'rinishi (DH5/DH1):
Bluetooth orqali audio: profillar, kodeklar va qurilmalar haqida maksimal ma'lumot

Efir to'lqinlarining vaqt bo'linishi printsipi tufayli, agar ikkinchi qurilma bizga hech narsa uzatmasa yoki kichik paketni uzatsa, paketni uzatgandan so'ng biz 625 mikrosekundlik vaqt oralig'ini kutishga majbur bo'lamiz va agar ikkinchi qurilma uzatsa ko'proq vaqt. katta paketlarda. Agar telefonga bir nechta qurilmalar (masalan, naushniklar, soatlar va fitnes bilaguzuk) ulangan bo'lsa, uzatish vaqti ularning barchasi o'rtasida taqsimlanadi.

L2CAP va AVDTP maxsus transport protokollarida audioni inkapsulyatsiya qilish zarurati uzatiladigan audio yukining mumkin bo'lgan maksimal hajmidan 16 baytni oladi.

Paket turi
Slotlar soni
Maks. paketdagi baytlar soni
Maks. A2DP foydali yukining baytlari soni
Maks. A2DP foydali yuk bit tezligi

2-DH3
3
367
351
936 kbps

3-DH3
3
552
536
1429 kbps

2-DH5
5
679
663
1414 kbps

3-DH5
5
1021
1005
2143 kbps

1414 va 1429 kbps, albatta, shovqinli 2.4 gigagertsli diapazon va xizmat ma'lumotlarini uzatish zarurati bilan siqilmagan ovozni real sharoitda uzatish uchun etarli emas. EDR 3 Mbit/s uzatish quvvati va havodagi shovqinni talab qiladi, shuning uchun hatto 3-DH5 rejimida ham qulay PCM uzatish mumkin emas, har doim qisqa muddatli uzilishlar bo'ladi va hamma narsa faqat bir masofada ishlaydi. bir necha metr.
Amalda, hatto 990 kbit/s audio oqimini ham (LDAC 990 kbit/s) uzatish qiyin.

Keling, kodeklarga qaytaylik.

SBC

A2DP standartini qo'llab-quvvatlaydigan barcha qurilmalar uchun kodek talab qilinadi. Bir vaqtning o'zida eng yaxshi va eng yomon kodek.

Namuna olish chastotasi
Bit chuqurligi
Bit tezligi
Kodlashni qo'llab-quvvatlash
Dekodlashni qo'llab-quvvatlash

16, 32, 44.1, 48 kHz
16 bit
10-1500 kbps
Barcha qurilmalar
Barcha qurilmalar

SBC oddiy va hisoblash tez kodek bo'lib, ibtidoiy psixoakustik modelga ega (faqat jim tovushlarni maskalash qo'llaniladi), adaptiv impuls kodini modulyatsiyasidan (APCM) foydalanadi.
A2DP spetsifikatsiyasi foydalanish uchun ikkita profilni tavsiya qiladi: O'rta sifat va yuqori sifat.
Bluetooth orqali audio: profillar, kodeklar va qurilmalar haqida maksimal ma'lumot

Kodekda algoritmik kechikishni, blokdagi namunalar sonini, bitni taqsimlash algoritmini boshqarishga imkon beruvchi ko'plab sozlamalar mavjud, ammo deyarli hamma joyda spetsifikatsiyada tavsiya etilgan bir xil parametrlar qo'llaniladi: Qo'shma Stereo, 8 chastota diapazoni, 16 blok audio ramka, Loudness bit tarqatish usuli.
SBC Bitpool parametrining dinamik o'zgarishini qo'llab-quvvatlaydi, bu esa bit tezligiga bevosita ta'sir qiladi. Agar havo to'lqinlari tiqilib qolsa, paketlar yo'qolsa yoki qurilmalar uzoq masofalarda joylashgan bo'lsa, audio manbai aloqa normal holatga qaytguncha Bitpoolni kamaytirishi mumkin.

Ko'pgina minigarnituralar ishlab chiqaruvchilari Bitpoolning maksimal qiymatini 53 ga o'rnatadilar, bu tavsiya etilgan profildan foydalanganda bit tezligini soniyasiga 328 kilobitgacha cheklaydi.
Eshitish vositalarini ishlab chiqaruvchisi Bitpoolning maksimal qiymatini 53 dan yuqori o'rnatgan bo'lsa ham (bunday modellar mavjud, masalan: Beats SoloΒ³, JBL Everest Elite 750NC, Apple AirPods, shuningdek, ba'zi qabul qiluvchilar va avtomobil bosh bloklarida mavjud), ko'pchilik OS ruxsat bermaydi. Bluetooth steklarida o'rnatilgan ichki qiymat chegarasi tufayli ortib borayotgan bit tezligidan foydalanish.
Bundan tashqari, ba'zi ishlab chiqaruvchilar ba'zi qurilmalar uchun maksimal Bitpool qiymatini past qilib qo'yishadi. Masalan, Bluedio T uchun bu 39, Samsung Gear IconX uchun 37, bu yomon ovoz sifatini beradi.

Bluetooth steklarini ishlab chiquvchilar tomonidan sun'iy cheklovlar, ehtimol, katta Bitpool qiymatlari yoki atipik profillarga ega bo'lgan ba'zi qurilmalarning mos kelmasligi, hatto ular ularni qo'llab-quvvatlaganliklari va sertifikatlash paytida etarli darajada sinovdan o'tkazilmaganligi sababli paydo bo'lgan. Bluetooth steklari mualliflari uchun noto'g'ri qurilmalarning ma'lumotlar bazalarini yaratish o'rniga, tavsiya etilgan profilga rozi bo'lish bilan cheklanish osonroq edi (garchi hozir ular buni boshqa noto'g'ri ishlaydigan funktsiyalar uchun qilishsa ham).

SBC kvantlash bitlarini chastota diapazonlariga pastdan yuqoriga qarab, turli og'irliklarga ega dinamik ravishda taqsimlaydi. Agar barcha bit tezligi past va o'rta chastotalar uchun ishlatilgan bo'lsa, yuqori chastotalar "kesiladi" (o'rniga sukunat bo'ladi).

Misol SBC 328 kbps. Yuqorida asl nusxa, pastki qismida vaqti-vaqti bilan treklar o'rtasida almashinadigan SBC joylashgan. Video fayldagi audio FLAC yo'qotishsiz siqish kodekidan foydalanadi. FLAC-ni mp4 konteynerida ishlatish rasman standartlashtirilmagan, shuning uchun brauzeringiz uni o'ynashiga kafolat berilmaydi, lekin u ish stoli Chrome va Firefox-ning so'nggi versiyalarida ishlashi kerak. Agar sizda ovoz bo'lmasa, faylni yuklab olishingiz va uni to'liq huquqli video pleerda ochishingiz mumkin.
ZZ Top - O'tkir kiyingan odam

Spektrogramma almashtirish momentini ko'rsatadi: SBC vaqti-vaqti bilan 17.5 kHz dan yuqori jim tovushlarni kesadi va 20 kHz dan yuqori diapazon uchun hech qanday bit ajratmaydi. To'liq spektrogramma (1.7 MB) tugmasini bosish orqali mavjud.
Bluetooth orqali audio: profillar, kodeklar va qurilmalar haqida maksimal ma'lumot

Ushbu trekda asl va SBC o'rtasida hech qanday farq eshitmayapman.

Keling, yangiroq narsani olaylik va Bitpool 37 (yuqorida - asl signal, quyida - SBC 239 kbps, FLAC-dagi audio) bilan Samsung Gear IconX minigarnituralari yordamida olinadigan audioni taqlid qilaylik.
Aqlsiz o'z-o'zini sevish - guvoh

Men vokalning yuqori chastotalarida xirillash, kamroq stereo effekt va yoqimsiz "chaqirlash" tovushini eshitaman.

SBC juda moslashuvchan kodek bo'lsa-da, uni past kechikish uchun sozlash mumkin, yuqori bit tezligida (452+ kbps) mukammal audio sifatini ta'minlaydi va standart yuqori sifatda (328 kbps) ko'pchilik uchun juda yaxshi, chunki bu A2DP standarti qattiq profillarni belgilamaydi (faqat tavsiyalar beradi), stek ishlab chiquvchilari Bitpool-da sun'iy cheklovlar o'rnatdilar, uzatiladigan audio parametrlari foydalanuvchi interfeysida ko'rsatilmaydi va eshitish vositalarini ishlab chiqaruvchilar o'zlarining sozlamalarini o'rnatishlari mumkin va hech qachon mahsulotning texnik xususiyatlarida Bitpool qiymatini ko'rsating, kodek past ovoz sifati bilan mashhur bo'ldi, garchi bu kodek bilan bog'liq muammo emas.
Bitpool parametri faqat bitta profil ichidagi bit tezligiga bevosita ta'sir qiladi. Bitpool 53 ning bir xil qiymati tavsiya etilgan yuqori sifatli profil bilan 328 kbps bit tezligini, ikki kanalli va 1212 chastota diapazoni bilan 4 kbps ni berishi mumkin, shuning uchun OS mualliflari Bitpool-dagi cheklovlarga qo'shimcha ravishda cheklovni o'rnatadilar. Bit tezligi. Ko'rib turganimdek, bu holat A2DP standartidagi nuqson tufayli yuzaga keldi: Bitpool emas, balki bit tezligi bo'yicha muzokara qilish kerak edi.

Turli xil operatsion tizimlarda SBC imkoniyatlarini qo'llab-quvvatlash jadvali:

OS
Qo'llab-quvvatlanadigan namuna olish stavkalari
Maksimal chegara. Bitpool
Maksimal chegara. Bit tezligi
Oddiy bit tezligi
Bitpool dinamik sozlash

Windows 10
44.1 kHz
53
512 kbps
328 kbps
βœ“*

Linux (BlueZ + PulseAudio)
16, 32, 44.1, 48 kHz
64 (kiruvchi ulanishlar uchun), 53 (chiqish aloqalari uchun)
Cheklov yo'q
328 kbps
βœ“*

Makros Oliy Sierra
44.1 kHz
64, standart 53***
Noma'lum
328 kbps
βœ—

Android 4.4-9
44.1/48 kHz**
53
328 kbps
328 kbps
βœ—

Android 4.1-4.3.1
44.1, 48 kHz**
53
229 kbps
229 kbps
βœ—

Blackberry OS 10
48 kHz
53
Cheklov yo'q
328 kbps
βœ—

* Bitpool faqat pasayadi, lekin uzatish shartlari yaxshilansa, avtomatik ravishda ko'paymaydi. Bitpool-ni qayta tiklash uchun siz ijroni to'xtatishingiz, bir necha soniya kutib turishingiz va audioni qayta boshlashingiz kerak.
** Standart qiymat proshivkani kompilyatsiya qilishda ko'rsatilgan stek sozlamalariga bog'liq. Android 8/8.1 da chastota atigi 44.1 kHz yoki 48 kHz, kompilyatsiya vaqtidagi sozlamalarga qarab, boshqa versiyalarda bir vaqtning o'zida 44.1 kHz va 48 kHz quvvatlanadi.
*** Bitpool qiymatini Bluetooth Explorer dasturida oshirish mumkin.

aptX va aptX HD

aptX - bu moslashuvchan differensial impuls kodini modulyatsiyasidan foydalangan holda, psixoakustikasiz oddiy va hisoblash tez kodek (ADPCM). Taxminan 1988 yilda paydo bo'lgan (foydalanish sanasi Patent 1988 yil fevral), Bluetoothdan oldin u asosan professional simsiz audio uskunalarda ishlatilgan. Hozirda Qualcomm kompaniyasiga tegishli, litsenziya va royalti talab qiladi. 2014 yil holatiga ko'ra: 6000 1 tagacha qurilma partiyasi uchun bir martalik 10000 dollar va har bir qurilma uchun β‰ˆ$XNUMX (manba, 16-bet).
aptX va aptX HD bir xil kodek bo'lib, turli xil kodlash profillariga ega.

Kodek faqat bitta parametrga ega - namuna olish chastotasini tanlash. Biroq, kanallar soni/rejimi tanlovi mavjud, lekin menga ma'lum bo'lgan barcha qurilmalarda (70+ dona) faqat Stereo qo'llab-quvvatlanadi.

Kodek
Namuna olish chastotasi
Bit chuqurligi
Bit tezligi
Kodlashni qo'llab-quvvatlash
Dekodlashni qo'llab-quvvatlash

aptX
16, 32, 44.1, 48 kHz
16 bit
128/256/352/384 kbps (namuna olish tezligiga qarab)
Windows 10 (ish stoli va mobil), macOS, Android 4.4+/7*, Blackberry OS 10
Ovozli qurilmalarning keng assortimenti (apparat)

* 7 tagacha versiyalar Bluetooth stekini o'zgartirishni talab qiladi. Kodek faqat Android qurilmasi ishlab chiqaruvchisi Qualcomm'dan kodek litsenziyalangan bo'lsa (OTda kodlash kutubxonalari bo'lsa) qo'llab-quvvatlanadi.

aptX audioni 4 chastota diapazoniga ajratadi va ularni doimiy ravishda bir xil sonli bitlar bilan kvantlaydi: 8-0 kHz uchun 5.5 bit, 4-5.5 kHz uchun 11 bit, 2-11 kHz uchun 16.5 bit, 2-16.5 kHz uchun 22 bit ( namuna olish tezligi uchun raqamlar 44.1 kHz).

AptX audiosiga misol (yuqorida - asl signal, pastda - aptX, faqat chap kanallarning spektrogrammalari, FLACda ovoz):

Balandliklar biroz qizarib ketdi, lekin siz farqni eshitolmaysiz.

Kvantlash bitlarining qat'iy taqsimlanishi tufayli kodek bitlarni ularga eng zarur bo'lgan chastotalarga "o'tkaza olmaydi". SBC dan farqli o'laroq, aptX chastotalarni "kesmaydi", balki ularga kvantlash shovqinini qo'shib, audioning dinamik diapazonini kamaytiradi.

Masalan, har bir tarmoqli uchun 2 bitdan foydalanish dinamik diapazonni 12 dB ga qisqartiradi deb o'ylamaslik kerak: ADPCM 96 kvantlash bitidan foydalanganda ham dinamik diapazonning 2 dB gacha bo'lishiga imkon beradi, lekin faqat ma'lum bir signal uchun.
ADPCM PCMdagi kabi mutlaq qiymatni saqlash o'rniga joriy namuna va keyingi namuna o'rtasidagi raqamli farqni saqlaydi. Bu sizga bir xil (yo'qotmasdan) yoki deyarli bir xil (nisbatan kichik yaxlitlash xatosi bilan) ma'lumotlarni saqlash uchun zarur bo'lgan bitlar soniga qo'yiladigan talablarni kamaytirish imkonini beradi. Yaxlitlash xatolarini kamaytirish uchun koeffitsient jadvallari qo'llaniladi.
Kodekni yaratishda mualliflar musiqa audio fayllari to'plamida ADPCM koeffitsientlarini hisoblab chiqdilar. Ovozli signal jadvallar qurilgan musiqa to'plamiga qanchalik yaqin bo'lsa, aptX kamroq kvantlash xatolarini (shovqin) yaratadi.

Shu sababli, sintetik testlar har doim musiqadan ko'ra yomonroq natijalar beradi. Men maxsus sintetik misol keltirdim, unda aptX yomon natijalarni ko'rsatadi - 12.4 kHz chastotali sinus to'lqin (yuqorida - asl signal, quyida - aptX. FLAC-dagi audio. Ovozni pasaytiring!):

Spektr grafigi:
Bluetooth orqali audio: profillar, kodeklar va qurilmalar haqida maksimal ma'lumot

Shovqinlar aniq eshitiladi.

Biroq, agar siz kichikroq amplitudali sinus to'lqinini yaratsangiz, u tinchroq bo'lsa, shovqin ham jim bo'lib, keng dinamik diapazonni ko'rsatadi:

Bluetooth orqali audio: profillar, kodeklar va qurilmalar haqida maksimal ma'lumot

Asl musiqiy trek va siqilgan trek o'rtasidagi farqni eshitish uchun siz signallardan birini o'zgartirib, treklar kanalini kanal bo'yicha qo'shishingiz mumkin. Ushbu yondashuv, umuman olganda, noto'g'ri va murakkabroq kodeklar bilan oqilona natijalarni bermaydi, lekin ayniqsa ADPCM uchun juda mos keladi.
Original va aptX o'rtasidagi farq
Signallarning ildiz o'rtacha kvadrat farqi -37.4 dB darajasida bo'lib, bunday siqilgan musiqa uchun juda ko'p emas.

aptXHD

aptX HD mustaqil kodek emas - bu aptX kodekining yaxshilangan kodlash profilidir. O'zgarishlar chastota diapazonlarini kodlash uchun ajratilgan bitlar soniga ta'sir qildi: 10-0 kHz uchun 5.5 bit, 6-5.5 kHz uchun 11 bit, 4-11 kHz uchun 16.5 bit, 4-16.5 kHz uchun 22 bit (44.1 kHz uchun raqamlar). .

Kodek
Namuna olish chastotasi
Bit chuqurligi
Bit tezligi
Kodlashni qo'llab-quvvatlash
Dekodlashni qo'llab-quvvatlash

aptXHD
16, 32, 44.1, 48 kHz
24 bit
192/384/529/576 kbps (namuna olish tezligiga qarab)
Android 8+*
Ba'zi audio qurilmalar (apparat)

* 7 tagacha versiyalar Bluetooth stekini o'zgartirishni talab qiladi. Kodek faqat Android qurilmasi ishlab chiqaruvchisi Qualcomm'dan kodek litsenziyalangan bo'lsa (OTda kodlash kutubxonalari bo'lsa) qo'llab-quvvatlanadi.

AptX dan kamroq tarqalgan: aftidan, Qualcomm'dan alohida litsenziyalash va alohida litsenziya to'lovlarini talab qiladi.

Misolni 12.4 kHz chastotada sinus to'lqin bilan takrorlaymiz:
Bluetooth orqali audio: profillar, kodeklar va qurilmalar haqida maksimal ma'lumot

AptX dan ancha yaxshi, lekin baribir biroz shovqinli.

aptX past kechikish

Qualcomm kompaniyasining kodek standart aptX va aptX HD bilan hech qanday umumiyligi yo'q, uni ishlab chiqishda ishtirok etgan odamlarning cheklangan ma'lumotlariga ko'ra. Ovoz kechikishini dasturiy ta'minot bilan sozlash mumkin bo'lmagan interaktiv past kechikishli audio uzatish (filmlar, o'yinlar) uchun mo'ljallangan. Koderlar va dekoderlarning dasturiy ta'minoti ma'lum emas; ular faqat transmitterlar, qabul qiluvchilar, minigarnituralar va dinamiklar tomonidan qo'llab-quvvatlanadi, lekin smartfonlar va kompyuterlar emas.

Namuna olish chastotasi
Bit tezligi
Kodlashni qo'llab-quvvatlash
Dekodlashni qo'llab-quvvatlash

44.1 kHz
276/420 kbps
Ba'zi transmitterlar (apparat)
Ba'zi audio qurilmalar (apparat)

AAC

AAC yoki Advanced Audio Coding - bu jiddiy psixoakustik modelga ega bo'lgan hisoblash jihatidan murakkab kodek. Internetda audio uchun keng qo'llaniladi, MP3 dan keyin ikkinchi o'rinda turadi. Litsenziya va royalti talab qiladi: bir martalik 15000 1000 dollar (yoki 15 dan kam xodimi bo'lgan kompaniyalar uchun 0.98 500000 dollar) + birinchi XNUMX XNUMX ta qurilma uchun XNUMX dollar (manba).
Kodek MPEG-2 va MPEG-4 spetsifikatsiyalari doirasida standartlashtirilgan va keng tarqalgan noto'g'ri tushunchadan farqli o'laroq, u Apple kompaniyasiga tegishli emas.

Namuna olish chastotasi
Bit tezligi
Kodlashni qo'llab-quvvatlash
Dekodlashni qo'llab-quvvatlash

8 - 96 kHz
8 - 576 kbps (stereo uchun), 256 - 320 kbps (Bluetooth uchun odatiy)
macOS, Android 7+*, iOS
Ovozli qurilmalarning keng assortimenti (apparat)

* faqat ishlab chiqaruvchilari litsenziya to'lovlarini to'lagan qurilmalarda

iOS va macOS eng yuqori audio sifatini taqdim etish uchun Apple’ning joriy eng yaxshi AAC kodlovchisidan foydalanadi. Android ikkinchi eng yuqori sifatli Fraunhofer FDK AAC kodlovchisidan foydalanadi, lekin kodlash sifati noma'lum bo'lgan platformaga (SoC) o'rnatilgan turli xil qurilmalardan foydalanishi mumkin. SoundGuys veb-saytidagi so'nggi sinovlarga ko'ra, turli Android telefonlarining AAC kodlash sifati juda farq qiladi:
Bluetooth orqali audio: profillar, kodeklar va qurilmalar haqida maksimal ma'lumot

Ko'pgina simsiz audio qurilmalar AAC uchun maksimal 320 kbps bit tezligiga ega, ba'zilari faqat 256 kbps ni qo'llab-quvvatlaydi. Boshqa bit tezligi juda kam uchraydi.
AAC 320 va 256 kbps bit tezligida mukammal sifatni ta'minlaydi, lekin bunga bo'ysunadi allaqachon siqilgan tarkibni ketma-ket kodlashning yo'qolishi, ammo iOS-da 256 kbps bit tezligida asl nusxa bilan bir nechta ketma-ket kodlashda ham har qanday farqni eshitish qiyin; bitta kodlash bilan, masalan, MP3 320 kbps dan AAC 256 kbps gacha, yo'qotishlarni e'tiborsiz qoldirish mumkin.
Boshqa Bluetooth kodeklarida bo'lgani kabi, har qanday musiqa avval dekodlanadi va keyin kodek tomonidan kodlanadi. AAC formatida musiqa tinglashda u avval OS tomonidan dekodlanadi, keyin Bluetooth orqali uzatish uchun yana AACga kodlanadi. Bu musiqa va yangi xabar bildirishnomalari kabi bir nechta audio oqimlarni aralashtirish uchun zarur. iOS ham bundan mustasno emas. Internetda siz iOS-da AAC formatidagi musiqa Bluetooth orqali uzatilganda transkodlanmaganligi haqida ko'plab bayonotlarni topishingiz mumkin, bu haqiqat emas.

MP1/2/3

MPEG-1/2 3-qism oilasining kodeklari taniqli va keng tarqalgan MP3, kamroq tarqalgan MP2 (asosan raqamli televidenie va radioda qo'llaniladi) va mutlaqo noma'lum MP1 dan iborat.

Eski MP1 va MP2 kodeklari umuman qo'llab-quvvatlanmaydi: men ularni kodlaydigan yoki dekodlaydigan naushniklar yoki Bluetooth stekini topa olmadim.
MP3 dekodlash ba'zi minigarnituralar tomonidan qo'llab-quvvatlanadi, ammo kodlash har qanday zamonaviy operatsion tizim stekida qo'llab-quvvatlanmaydi. Agar siz konfiguratsiya faylini qo'lda o'zgartirsangiz Windows uchun uchinchi tomon BlueSoleil stekini MP3 ga kodlashi mumkin ko'rinadi, lekin men uchun uni o'rnatish Windows 10 da BSoD ga olib keladi. Xulosa - kodekni aslida Bluetooth audio uchun ishlatib bo'lmaydi.
Ilgari, 2006-2008 yillarda, A2DP standarti qurilmalarda tarqalishidan oldin, odamlar Symbian va Windows Mobile-da mavjud bo'lgan MSI BluePlayer dasturi orqali Nokia BH-3 garniturasida MP501 musiqani tinglashdi. O'sha paytda smartfonlarning OS arxitekturasi ko'plab past darajadagi funktsiyalarga kirishga imkon berdi va Windows Mobile-da hatto uchinchi tomon Bluetooth steklarini o'rnatish mumkin edi.

MP3 kodekining so'nggi patentining amal qilish muddati tugadi, kodekdan foydalanish 23 yil 2017 apreldan boshlab litsenziya to'lovlarini talab qilmaydi.

Agar yuqorida aytib o'tilgan havolalarda eslatib o'tilgan eng uzoq muddatli patent o'lchov sifatida qabul qilinsa, MP3 texnologiyasi 16 yil 2017 aprelda Technicolor tomonidan boshqariladigan va boshqariladigan 6,009,399-sonli AQSh patentining amal qilish muddati tugagach, Qo'shma Shtatlarda patentsiz bo'ldi.

Manba: www.iis.fraunhofer.de/en/ff/amm/prod/audiocodec/audiocodecs/mp3.html

Namuna olish chastotasi
Bit tezligi
Kodlashni qo'llab-quvvatlash
Dekodlashni qo'llab-quvvatlash

16 - 48 kHz
8 - 320 kbps
Hech qaysi joyda qo'llab-quvvatlanmaydi
Ba'zi audio qurilmalar (apparat)

LDAC

96 kHz gacha bo'lgan namuna olish tezligi va 24 bitli bit tezligi, 990 kbit / s gacha bo'lgan bit tezligini qo'llab-quvvatlaydigan yangi va faol targ'ib qilinayotgan Sony "Hi-Res" kodek. U mavjud Bluetooth kodeklarini almashtirish sifatida audiofil kodek sifatida e'lon qilinadi. Radioeshittirish shartlariga qarab, adaptiv bit tezligini sozlash funktsiyasi mavjud.

LDAC kodlovchi (libldac) standart Android paketiga kiritilgan, shuning uchun OS 8 versiyasidan boshlab har qanday Android smartfonida kodlash qo'llab-quvvatlanadi. Erkin mavjud dasturiy ta'minot dekoderlari mavjud emas, kodek spetsifikatsiyasi keng omma uchun mavjud emas, ammo kodlovchiga birinchi qarashda kodekning ichki tuzilishi shunga o'xshash. ATRAC9 - Sony-ning PlayStation 4 va Vita-da qo'llaniladigan kodek: ikkalasi ham chastota domenida ishlaydi, o'zgartirilgan diskret kosinus transformatsiyasidan (MDCT) va Huffman algoritmi yordamida siqishni ishlatadi.

LDAC-ni qo'llab-quvvatlash deyarli faqat Sony-dan naushniklar tomonidan taqdim etiladi. LDAC-ni dekodlash qobiliyati ba'zan boshqa ishlab chiqaruvchilarning minigarnituralari va DAC-larida topiladi, lekin juda kam.

Namuna olish chastotasi
Bit tezligi
Kodlashni qo'llab-quvvatlash
Dekodlashni qo'llab-quvvatlash

44.1 - 96 kHz
303/606/909 kbit/s (44.1 va 88.2 kHz uchun), 330/660/990 kbit/s (48 va 96 kHz uchun)
Android 8 +
Ba'zi Sony minigarnituralari va boshqa ishlab chiqaruvchilarning ba'zi qurilmalari (apparat)

LDAC-ni Hi-Res kodek sifatida marketing qilish uning texnik tarkibiy qismiga zarar etkazadi: inson qulog'iga eshitilmaydigan chastotalarni uzatish va bit chuqurligini oshirish uchun bit tezligini sarflash ahmoqlikdir, shu bilan birga CD sifatini (44.1/16) yo'qotmasdan uzatish uchun etarli emas. . Yaxshiyamki, kodek ikkita ish rejimiga ega: CD audio uzatish va Hi-Res audio uzatish. Birinchi holda, havo orqali faqat 44.1 kHz/16 bit uzatiladi.

LDAC dekoderi dasturiy ta'minoti erkin mavjud emasligi sababli, LDAC kodini dekodlovchi qo'shimcha qurilmalarsiz kodekni sinab ko'rish mumkin emas. SoundGuys.com muhandislari raqamli chiqish orqali ulangan va chiqish ovozini sinov signallariga yozib olgan DAC-da LDAC sinovi natijalariga ko'ra, CD-sifat rejimida LDAC 660 va 990 kbps signalni ta'minlaydi. shovqin nisbati aptX HD dan biroz yaxshiroq.

Bluetooth orqali audio: profillar, kodeklar va qurilmalar haqida maksimal ma'lumot
Manba: www.soundguys.com/ldac-ultimate-bluetooth-guide-20026

LDAC o'rnatilgan profillardan tashqari dinamik bit tezligini ham qo'llab-quvvatlaydi - 138 kbps dan 990 kbps gacha, lekin men aytishim mumkinki, Android faqat standartlashtirilgan 303/606/909 va 330/660/990 kbps profillaridan foydalanadi.

Boshqa kodeklar

Boshqa A2DP kodeklari keng qo'llanilmaydi. Ularni qo'llab-quvvatlash deyarli yo'q yoki faqat minigarnituralar va smartfonlarning ma'lum modellarida mavjud.
A2DP-da standartlashtirilgan ATRAC kodek Sony-ning o'zlari tomonidan hech qachon Bluetooth kodek sifatida foydalanilmagan, Samsung HD, Samsung Scalable va Samsung UHQ-BT kodeklari qurilmalarni uzatish va qabul qilishda juda cheklangan yordamga ega va HWA LHDC juda yangi va faqat uchtasini qo'llab-quvvatlaydi. (?) qurilmalar.

Audio qurilmalar uchun kodeklarni qo'llab-quvvatlash

Hamma ishlab chiqaruvchilar ma'lum simsiz minigarnituralar, karnaylar, qabul qiluvchilar yoki transmitterlar tomonidan qo'llab-quvvatlanadigan kodeklar haqida aniq ma'lumotni nashr etmaydi. Ba'zida shunday bo'ladiki, ma'lum bir kodekni qo'llab-quvvatlash faqat uzatish uchun, lekin qabul qilish uchun emas (birlashtirilgan uzatuvchi-qabul qiluvchilarga tegishli), garchi ishlab chiqaruvchi eslatmalarsiz oddiygina "qo'llab-quvvatlash" e'lon qilsa (menimcha, ba'zilarining kodlovchilari va dekoderlarini alohida litsenziyalash. Buning uchun kodeklar aybdor). Eng arzon qurilmalarda siz e'lon qilingan aptX yordamini umuman topa olmaysiz.

Afsuski, aksariyat operatsion tizimlarning interfeyslari hech qanday joyda ishlatiladigan kodekni ko'rsatmaydi. Bu haqda ma'lumot faqat Android 8-versiyasidan boshlab va macOS-da mavjud. Biroq, hatto ushbu operatsion tizimlarda ham faqat telefon/kompyuter va naushniklar tomonidan qo'llab-quvvatlanadigan kodeklar ko'rsatiladi.

Qurilmangiz qaysi kodeklarni qo'llab-quvvatlashini qanday aniqlash mumkin? A2DP muzokara parametrlari bilan tirbandlikni yozib oling va tahlil qiling!
Buni Linux, macOS va Androidda amalga oshirish mumkin. Linuxda Wireshark yoki hcidump-dan, macOS-da siz Bluetooth Explorer-dan, Android-da esa ishlab chiquvchi vositalarida mavjud bo'lgan standart Bluetooth HCI dump saqlash funksiyasidan foydalanishingiz mumkin. Siz Wireshark analizatoriga yuklanishi mumkin bo'lgan btsnoop formatida dump olasiz.
E'tibor bering: to'g'ri dumpni faqat telefoningiz/kompyuteringizdan minigarnituralar/karnaylarga ulash orqali olish mumkin (bu qanchalik kulgili bo'lmasin)! Eshitish vositalari mustaqil ravishda telefon bilan aloqa o'rnatishi mumkin, bu holda ular telefondan kodeklar ro'yxatini so'rashadi, aksincha emas. ToΚ»gΚ»ri chiqindi yozib olinganiga ishonch hosil qilish uchun avval qurilmani ajratib oling, soΚ»ngra chiqindini yozib olishda telefoningizni naushniklar bilan ulang.

Ahamiyatsiz trafikni filtrlash uchun quyidagi displey filtridan foydalaning:

btavdtp.signal_id

Natijada siz shunga o'xshash narsani ko'rishingiz kerak:
Bluetooth orqali audio: profillar, kodeklar va qurilmalar haqida maksimal ma'lumot

Kodekning batafsil xususiyatlarini ko'rish uchun GetCapabilities buyrug'idagi har bir elementni bosishingiz mumkin.
Bluetooth orqali audio: profillar, kodeklar va qurilmalar haqida maksimal ma'lumot

Wireshark barcha kodek identifikatorlarini bilmaydi, shuning uchun ba'zi kodeklar quyidagi identifikatorlar jadvaliga qarab qo'lda shifrlanishi kerak bo'ladi:

Mandatory:
0x00 - SBC

Optional:
0x01 - MPEG-1,2 (aka MP3)
0x02 - MPEG-2,4 (aka AAC)
0x04 - ATRAC

Vendor specific:
0xFF 0x004F 0x01   - aptX
0xFF 0x00D7 0x24   - aptX HD
0xFF 0x000A 0x02   - aptX Low Latency
0xFF 0x00D7 0x02   - aptX Low Latency
0xFF 0x000A 0x01   - FastStream
0xFF 0x012D 0xAA   - LDAC
0xFF 0x0075 0x0102 - Samsung HD
0xFF 0x0075 0x0103 - Samsung Scalable Codec
0xFF 0x053A 0x484C - Savitech LHDC

0xFF 0x000A 0x0104 - The CSR True Wireless Stereo v3 Codec ID for AAC
0xFF 0x000A 0x0105 - The CSR True Wireless Stereo v3 Codec ID for MP3
0xFF 0x000A 0x0106 - The CSR True Wireless Stereo v3 Codec ID for aptX

Chiqindilarni qo'lda tahlil qilmaslik uchun men hamma narsani avtomatik ravishda tahlil qiladigan xizmatni yaratdim: btcodecs.valdikss.org.ru

Kodeklarni taqqoslash. Qaysi kodek yaxshiroq?

Har bir kodek o'zining afzalliklari va kamchiliklariga ega.
aptX va aptX HD qattiq kodlangan profillardan foydalanadi, ularni kodlovchi va dekoderni o'zgartirmasdan o'zgartirib bo'lmaydi. Telefon ishlab chiqaruvchisi ham, naushnik ishlab chiqaruvchisi ham bit tezligini yoki aptX kodlash omillarini o'zgartira olmaydi. Kodek egasi Qualcomm kutubxona ko'rinishidagi mos yozuvlar kodlovchisini taqdim etadi. Bu faktlar aptX ning kuchidir - siz hech qanday "lekin"siz qanday ovoz sifatiga ega bo'lishingizni oldindan bilasiz.

SBC, aksincha, ko'plab sozlanishi mumkin bo'lgan parametrlarga, dinamik bit tezligiga ega (efir to'lqinlari band bo'lsa, kodlovchi bitpool parametrini kamaytirishi mumkin) va qattiq kodlangan profillarga ega emas, faqat tavsiya etilgan "o'rta sifat" va "yuqori sifat". 2 yilda A2003DP spetsifikatsiyasiga qo'shildi. Bugungi standartlarga ko'ra, "yuqori sifat" endi unchalik yuqori emas va ko'pchilik Bluetooth steklari "yuqori sifatli" profildan yaxshiroq parametrlardan foydalanishga imkon bermaydi, garchi buning uchun texnik cheklovlar yo'q.
Bluetooth SIG kutubxona sifatida mos yozuvlar SBC kodlovchisiga ega emas va ishlab chiqaruvchilar uni o'zlari amalga oshiradilar.
Bular SBC ning zaif tomonlari - ma'lum bir qurilmadan qanday ovoz sifatini kutish kerakligini oldindan aniqlab bo'lmaydi. SBC ham past, ham juda yuqori sifatli audio ishlab chiqarishi mumkin, ammo ikkinchisiga Bluetooth steklarining sun'iy cheklovlarini o'chirmasdan yoki chetlab o'tmasdan erishib bo'lmaydi.

AAC bilan bog'liq vaziyat noaniq: bir tomondan, nazariy jihatdan kodek asl nusxadan farq qilmaydigan sifatni ishlab chiqarishi kerak, ammo amalda SoundGuys laboratoriyasining turli Android qurilmalaridagi sinovlariga ko'ra, bu tasdiqlanmagan. Katta ehtimol bilan, xato turli xil telefon chipsetlariga o'rnatilgan past sifatli apparat audio enkoderlari bilan bog'liq. AAC-ni faqat Apple qurilmalarida, Androidda esa aptX va LDAC bilan cheklash mantiqan.

Muqobil kodeklarni qo'llab-quvvatlaydigan uskuna yuqori sifatli bo'ladi, chunki juda arzon, past sifatli qurilmalar uchun ushbu kodeklardan foydalanish uchun litsenziya to'lovlarini to'lash mantiqiy emas. Sinovlarimda SBC sifatli uskunada juda yaxshi eshitiladi.

Men brauzerda real vaqtda SBC, aptX va aptX HD ga audio kodlaydigan veb-xizmat yaratdim. Uning yordamida siz ushbu audio kodeklarni Bluetooth orqali audio uzatmasdan, har qanday simli minigarnituralar, karnaylar va sevimli musiqangizda sinab ko'rishingiz mumkin, shuningdek, audio ijro etilayotganda to'g'ridan-to'g'ri kodlash parametrlarini o'zgartirishingiz mumkin:
btcodecs.valdikss.org.ru/sbc-encoder
Xizmat brauzerda ishlash uchun emscripten orqali C tilidan WebAssembly va JavaScript-ga tuzilgan BlueZ loyihasining SBC kodlash kutubxonalaridan va ffmpeg-dan libopenaptx-dan foydalanadi. Bunday kelajakni kim orzu qilishi mumkin!

Bu qanday ko'rinadi:

Turli kodeklar uchun 20 kHz dan keyin shovqin darajasi qanday o'zgarishiga e'tibor bering. Asl MP3 faylida 20 kHz dan yuqori chastotalar mavjud emas.

Kodeklarni almashtirishga urinib ko'ring va original, SBC 53 Joint Stereo (standart va eng keng tarqalgan profil) va aptX/aptX HD o'rtasidagi farqni eshitganingizni tekshiring.

Kodeklar orasidagi farqni eshitaman naushniklarda!

Veb-xizmat orqali sinov paytida kodeklar orasidagi farqni eshitmaydigan odamlar simsiz minigarnituralarda musiqa tinglashda eshitishlarini da'vo qilishadi. Afsuski, bu hazil yoki platsebo effekti emas: farq haqiqatan ham eshitiladi, lekin bu farqlardan kelib chiqmaydi. kodeklar.

Simsiz qabul qiluvchi qurilmalarda ishlatiladigan Bluetooth audio chipsetlarining katta qismi ekvalayzer, kompander, stereo kengaytirgich va ovozni yaxshilash (yoki o'zgartirish) uchun mo'ljallangan boshqa narsalarni amalga oshiradigan Raqamli Signal Protsessor (DSP) bilan jihozlangan. Bluetooth uskunalarini ishlab chiqaruvchilar DSP ni sozlashlari mumkin har bir kodek uchun alohida, va kodeklar o'rtasida almashayotganda, tinglovchilar kodeklarning ishlashidagi farqni eshitmoqdalar deb o'ylashadi, aslida ular turli xil DSP sozlamalarini tinglashadi.

Bluetooth orqali audio: profillar, kodeklar va qurilmalar haqida maksimal ma'lumot
CSR/Qualcomm tomonidan ishlab chiqarilgan chiplarda DSP Kalimba audio ishlov berish quvuri

Bluetooth orqali audio: profillar, kodeklar va qurilmalar haqida maksimal ma'lumot
Har bir kodek uchun turli DSP funksiyalarini faollashtiring va alohida chiqaring

Ba'zi premium qurilmalar DSP sozlamalarini sozlash imkonini beruvchi dasturiy ta'minot bilan ta'minlangan, ammo arzonroq bo'lgan minigarnituralarning ko'pchiligi buni qilmaydi va foydalanuvchilar audio qayta ishlashni qo'lda o'chira olmaydi.

Qurilmalarning funktsional xususiyatlari

A2DP standartining zamonaviy versiyasi mavjud "Mutlaq ovoz balandligini boshqarish" funktsiyasi β€” ovoz oqimining ovozini dasturiy ravishda kamaytirish o'rniga, chiqish bosqichining daromadini tartibga soluvchi AVRCP protokolining maxsus buyruqlari yordamida qurilma ovoz balandligini boshqarish. Agar siz minigarniturangizdagi ovoz balandligini o'zgartirganingizda, o'zgarish telefoningizdagi ovoz balandligi bilan sinxronlanmasa, naushniklar yoki telefoningiz bu xususiyatni qo'llab-quvvatlamaydi. Bunday holda, telefonda har doim maksimal ovoz balandligida musiqa tinglash, naushnik tugmachalari yordamida haqiqiy ovoz balandligini sozlash mantiqan to'g'ri keladi - bu holda signal-shovqin nisbati yaxshilanadi va ovoz sifati yaxshilanadi. bo'lishi kerak Yuqorida.
Aslida, qayg'uli vaziyatlar mavjud. SBC uchun RealForce OverDrive D1 minigarnituralarimda kuchli kompander yoqilgan va ovoz balandligini oshirish tinch tovushlar darajasining oshishiga olib keladi, baland tovushlar hajmi esa o'zgarmaydi (signal siqilgan). Shu sababli, kompyuterdagi ovoz balandligini taxminan yarmiga o'rnatishingiz kerak, bu holda amalda siqish effekti bo'lmaydi.
Mening kuzatishlarimga ko'ra, qo'shimcha kodeklarga ega bo'lgan barcha minigarnituralar mutlaq ovoz balandligini boshqarish funktsiyasini qo'llab-quvvatlaydi, shekilli, bu kodek sertifikatiga qo'yiladigan talablardan biridir.

Ba'zi minigarnituralar qo'llab-quvvatlanadi bir vaqtning o'zida ikkita qurilmani ulash. Bu, masalan, kompyuteringizdan musiqa tinglash va telefoningizdan qo'ng'iroqlarni qabul qilish imkonini beradi. Biroq, shuni bilishingiz kerakki, ushbu rejimda muqobil kodeklar o'chirilgan va faqat SBC ishlatiladi.

AVDTP 1.3 Kechiktirilgan hisobot funksiyasi naushniklarga tovush haqiqatda o'ynaladigan uzatuvchi qurilmaga kechikish haqida xabar berishga imkon beradi. Bu sizga videofayllarni ko'rish paytida audioni video bilan sinxronlashtirishni sozlash imkonini beradi: agar radio uzatish bilan bog'liq muammolar mavjud bo'lsa, audio videodan orqada qolmaydi, aksincha, video pleer tomonidan video sekinlashadi. audio va video yana sinxronlashtiriladi.
Funktsiyani ko'plab minigarnituralar, Android 9+ va Linux PulseAudio 12.0+ bilan qo'llab-quvvatlaydi. Men boshqa platformalarda bu xususiyatni qo'llab-quvvatlashdan xabardor emasman.

Bluetooth orqali ikki tomonlama aloqa. Ovoz uzatish.

Bluetooth-da ovozni uzatish uchun Synchronous Connection Oriented (SCO) qo'llaniladi - ulanishning dastlabki muzokaralari bilan sinxron uzatish. Rejim sizga ovoz va ovozni qat'iy tartibda, nosimmetrik jo'natish va qabul qilish tezligida, paketlarni uzatish va qayta yuborishni tasdiqlashni kutmasdan uzatish imkonini beradi. Bu radiokanal orqali audio uzatishning umumiy kechikishini kamaytiradi, lekin vaqt birligida uzatiladigan ma'lumotlar miqdoriga jiddiy cheklovlar qo'yadi va sifatga salbiy ta'sir qiladi.
Ushbu rejimdan foydalanilganda ovoz ham, audio ham bir xil sifatda uzatiladi.
Afsuski, 2019 yil holatiga ko'ra, Bluetooth orqali ovoz sifati hali ham yomon va Bluetooth SIG nima uchun bu haqda hech narsa qilmayotgani noma'lum.

CVSD

Asosiy CVSD nutq kodek 2002 yilda standartlashtirilgan va barcha ikki tomonlama Bluetooth aloqa qurilmalari tomonidan qo'llab-quvvatlanadi. U odatiy simli telefoniya sifatiga mos keladigan 8 kHz namuna olish chastotasi bilan audio uzatishni ta'minlaydi.

Ushbu kodekdagi yozuvga misol.

mSBC

Qo'shimcha mSBC kodek 2009 yilda standartlashtirildi va 2010 yilda uni ovozli uzatish uchun ishlatadigan chiplar allaqachon paydo bo'ldi. mSBC turli xil qurilmalar tomonidan keng qo'llab-quvvatlanadi.
Bu mustaqil kodek emas, balki A2DP standartidan oddiy SBC, qattiq kodlash profiliga ega: 16 kHz, mono, bitpool 26.

Ushbu kodekdagi yozuvga misol.

Ajoyib emas, lekin CVSD-dan ancha yaxshi, lekin onlayn muloqot uchun foydalanish hali ham zerikarli, ayniqsa siz o'yinda muloqot qilish uchun naushniklardan foydalansangiz - o'yin audiosi ham 16 kHz namuna olish tezligida uzatiladi.

FastStreamCSR kompaniyasi SBC-dan foydalanish g'oyasini ishlab chiqishga qaror qildi. ShHT protokoli cheklovlarini chetlab o'tish va yuqori bit tezligidan foydalanish uchun CSR boshqa yo'lni bosib o'tdi - ular A2DP bir tomonlama audio uzatish standartiga, standartlashtirilgan kodlash profillariga ikki tomonlama SBC ovozini qo'llab-quvvatladilar va uni "FastStream" deb nomladilar.

FastStream stereo audioni 44.1 yoki 48 kHz chastotada 212 kbit/s bit tezligi bilan dinamiklarga uzatadi va mikrofondan audio uzatish uchun 16 kbit/s bit tezligi (mSBC dan bir oz yaxshiroq) mono, 72 kHz ishlatiladi. Bunday parametrlar onlayn o'yinlarda muloqot qilish uchun ancha mos keladi - o'yinning ovozi va suhbatdoshlar yuqori sifatli bo'ladi.

Ushbu kodekdagi yozuvga misol (+ mikrofondan ovoz, mSBC bilan bir xil).

Kompaniya qiziqarli tayoqchani o'ylab topdi, ammo u A2DP standartiga zid bo'lganligi sababli, u faqat kompaniyaning ba'zi transmitterlarida (ular Bluetooth qurilmasi emas, USB audio kartasi sifatida ishlaydi) qo'llab-quvvatlanadi, lekin u bunday emas. FastStream-ni qo'llab-quvvatlaydigan minigarnituralar soni unchalik kam bo'lmasa-da, Bluetooth steklarida yordam oling.

Ayni paytda operatsion tizimda FastStream-ni qo'llab-quvvatlash faqat Linux PulseAudio uchun yamoq sifatida dasturning asosiy bo'limiga kiritilmagan ishlab chiquvchi Pali Rohardan.

aptX past kechikish

Sizni ajablantiradigan narsa, aptX Low Latency ham FastStream bilan bir xil printsipni amalga oshiradigan ikki tomonlama ovozni qo'llab-quvvatlaydi.
Kodekning bu xususiyatidan hech qanday joyda foydalanish mumkin emas - hech qanday OS yoki menga ma'lum bo'lgan Bluetooth stekida Past kechikish dekodlash qo'llab-quvvatlanmaydi.

Bluetooth 5, klassik va kam energiya

Bir xil brend ostida ikkita mos kelmaydigan standart mavjudligi sababli Bluetooth spetsifikatsiyalari va versiyalari atrofida juda ko'p chalkashliklar mavjud bo'lib, ikkalasi ham turli maqsadlarda keng qo'llaniladi.

Ikki xil, mos kelmaydigan Bluetooth protokollari mavjud: Bluetooth Classic va Bluetooth Low Energy (LE, shuningdek, Bluetooth Smart sifatida ham tanilgan). Uchinchi protokol ham mavjud, Bluetooth High Speed, lekin u keng tarqalmagan va maishiy qurilmalarda ishlatilmaydi.

Bluetooth 4.0 dan boshlab, spetsifikatsiyadagi o'zgarishlar asosan Bluetooth Low Energy bilan bog'liq edi va Klassik versiya faqat kichik yaxshilanishlarni oldi.

Bluetooth 4.2 va Bluetooth 5 o'rtasidagi o'zgarishlar ro'yxati:

9 v4.2 dan 5.0 ga o'zgartirishlar

9.1 YANGI XUSUSIYATLAR

Bluetooth Core Specification 5.0 relizida bir nechta yangi funksiyalar kiritilgan. Yaxshilashning asosiy yo'nalishlari:
β€’ Slot mavjudligi maskasi (SAM)
β€’ LE uchun 2 Msym/s PHY
β€’LE Uzoq masofa
β€’ Yuqori ish aylanishiga bog'liq bo'lmagan reklama
β€’ LE reklama kengaytmalari
β€’ LE kanalni tanlash algoritmi β„–2
9.1.1 CSA5 ga qo'shilgan xususiyatlar - v5.0 da integratsiyalashgan
β€’Yuqori chiqish quvvati

Manba: www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=421043 (291-bet)

Bluetooth 5 spetsifikatsiyasi doirasidagi Klassik versiyaga faqat bitta o'zgartirish ta'sir ko'rsatdi: ular radioeshittirishni ajratishni yaxshilash uchun mo'ljallangan Slot Availability Mask (SAM) texnologiyasini qo'llab-quvvatladilar. Boshqa barcha o'zgarishlar faqat Bluetooth LE (va yuqori chiqish quvvatiga ham) ta'sir qiladi.

hamma Audio qurilmalar faqat Bluetooth Classic dan foydalanadi. Bluetooth Low Energy orqali minigarnituralar va dinamiklarni ulashning iloji yo'q: LE yordamida ovozni uzatish uchun standart yo'q. Yuqori sifatli ovozni uzatish uchun ishlatiladigan A2DP standarti faqat Bluetooth Classic orqali ishlaydi va LE-da o'xshashi yo'q.

Xulosa - Bluetooth 5 bilan audio qurilmalarni faqat protokolning yangi versiyasi tufayli sotib olish ma'nosizdir. Audio uzatish kontekstida Bluetooth 4.0/4.1/4.2 xuddi shunday ishlaydi.
Agar yangi minigarnituralar haqidagi e'lon Bluetooth 5 tufayli ikki baravar ko'paygan ish diapazoni va quvvat sarfini kamaytirish haqida gapirsa, ular buni o'zlari tushunmasligini yoki sizni chalg'itayotganini bilishingiz kerak. Buning ajablanarli joyi yo'q, chunki hatto Bluetooth chiplarini ishlab chiqaruvchilar ham o'z e'lonlarida standartning yangi versiyasi o'rtasidagi farqlar haqida chalkashib ketishadi va ba'zi Bluetooth 5 chiplari faqat LE uchun beshinchi versiyani qo'llab-quvvatlaydi va Classic uchun 4.2 dan foydalanadi.

Ovoz uzatishning kechikishi

Ovozdagi kechikish (kechikish) miqdori ko'plab omillarga bog'liq: audio stekdagi, Bluetooth stekidagi va simsiz ijro etish qurilmasining o'zida bufer hajmi va kodekning algoritmik kechikishi.

SBC, aptX va aptX HD kabi oddiy kodeklarning kechikishi juda kichik, 3-6 milodiy, buni e'tiborsiz qoldirish mumkin, ammo AAC va LDAC kabi murakkab kodeklar sezilarli kechikishga olib kelishi mumkin. 44.1 kHz uchun AAC algoritmik kechikish 60 ms ni tashkil qiladi. LDAC - taxminan 30 ms (manba kodining taxminiy tahlili asosida. Men noto'g'ri bo'lishim mumkin, lekin unchalik emas.)

Olingan kechikish ko'p jihatdan ijro etish qurilmasiga, uning chipsetiga va buferga bog'liq. Sinovlar davomida men turli xil qurilmalarda (SBC kodek bilan) 150 dan 250 ms gacha tarqaldi. Agar aptX, AAC va LDAC qo'shimcha kodeklarini qo'llab-quvvatlaydigan qurilmalar yuqori sifatli komponentlar va kichik bufer hajmidan foydalanadi deb taxmin qilsak, biz quyidagi odatiy kechikishlarni olamiz:

SBC: 150-250ms
aptX: 130-180 ms
AAC: 190-240 ms
LDAC: 160-210 ms

Sizga eslatib o'taman: aptX Low Latency operatsion tizimlarda qo'llab-quvvatlanmaydi, shuning uchun past kechikish faqat transmitter+qabul qiluvchi yoki uzatuvchi+naushniklar/dinamik kombinatsiyasi bilan olinishi mumkin va barcha qurilmalar ushbu kodekni qo'llab-quvvatlashi kerak.

Bluetooth qurilmasi, sertifikatlash va logotip muammolari

Yuqori sifatli audio qurilmani arzon hunarmandchilikdan qanday ajratish mumkin? Tashqi ko'rinishida, birinchi navbatda!

Arzon xitoylik minigarnituralar, dinamiklar va qabul qiluvchilar uchun:

  1. Qutida va qurilmada "Bluetooth" so'zi yo'q, "Simsiz" va "BT" ko'pincha ishlatiladi
  2. Bluetooth logotipi etishmayapti Bluetooth orqali audio: profillar, kodeklar va qurilmalar haqida maksimal ma'lumot qutida yoki qurilmada
  3. Moviy miltillovchi LED yo'q

Ushbu elementlarning yo'qligi qurilmaning sertifikatlanmaganligini ko'rsatadi, ya'ni u past sifatli va muammoli bo'lishi mumkin. Misol uchun, Bluedio minigarnituralari Bluetooth sertifikatiga ega emas va A2DP spetsifikatsiyasiga to'liq mos kelmaydi. Ular attestatsiyadan o'tmagan bo'lardi.

Keling, ulardan bir nechta qurilmalar va qutilarni ko'rib chiqaylik:
Bluetooth orqali audio: profillar, kodeklar va qurilmalar haqida maksimal ma'lumot

Bluetooth orqali audio: profillar, kodeklar va qurilmalar haqida maksimal ma'lumot

Bluetooth orqali audio: profillar, kodeklar va qurilmalar haqida maksimal ma'lumot

Bularning barchasi sertifikatlanmagan qurilmalar. Ko'rsatmalarda logotip va Bluetooth texnologiyasi nomi bo'lishi mumkin, lekin eng muhimi, ular qutida va/yoki qurilmaning o'zida.

Agar naushnik yoki karnay β€œZe bluetooth dewise muvaffaqiyatli ulandi” desa, bu ularning sifatini ham bildirmaydi:

xulosa

Bluetooth simli minigarnituralar va naushniklarni to'liq almashtira oladimi? Bu qodir, lekin qo'ng'iroq sifatining pastligi, o'yinlarda bezovta qiladigan audio kechikishning kuchayishi va litsenziyalash to'lovlarini talab qiladigan ko'plab xususiy kodeklar va smartfonlar va naushniklarning yakuniy narxini oshiradi.

Muqobil kodeklarning marketingi juda kuchli: aptX va LDAC "eskirgan va yomon" SBC uchun uzoq kutilgan almashtirish sifatida taqdim etiladi, bu odamlar o'ylagandek yomon emas.

Ma'lum bo'lishicha, SBC aptX HD dan kam bo'lmasligi uchun SBC bit tezligidagi Bluetooth steklarining sun'iy cheklovlarini chetlab o'tish mumkin. Men tashabbusni o'z qo'limga oldim va LineageOS proshivkasi uchun yamoq yaratdim: AAC, aptX va LDAC kodeklari bo'lmagan naushniklarda ovozni yaxshilash uchun Bluetooth stekini o'zgartiramiz

Batafsil ma'lumotni veb-saytlarda topishingiz mumkin Ovozli yigitlar ΠΈ SoundExpert.

Bonus: SBC mos yozuvlar enkoderi, A2DP bit oqimi ma'lumotlari va test fayllari. Ilgari ushbu fayl Bluetooth veb-saytida ommaga e'lon qilingan, ammo endi faqat Bluetooth SIG a'zolari uchun mavjud.

Manba: www.habr.com

a Izoh qo'shish