Աուդիո Bluetooth-ի միջոցով. առավելագույն մանրամասներ պրոֆիլների, կոդեկների և սարքերի մասին

Աուդիո Bluetooth-ի միջոցով. առավելագույն մանրամասներ պրոֆիլների, կոդեկների և սարքերի մասին

Առանց 3.5 մմ աուդիո խցիկի սմարթֆոնների զանգվածային արտադրության շնորհիվ անլար Bluetooth ականջակալները շատերի համար դարձել են երաժշտություն լսելու և ականջակալների ռեժիմում հաղորդակցվելու հիմնական միջոցը։
Անլար սարքերի արտադրողները միշտ չէ, որ գրում են արտադրանքի մանրամասն բնութագրերը, իսկ ինտերնետում Bluetooth աուդիոյի մասին հոդվածները հակասական են, երբեմն սխալ, չեն խոսում բոլոր հատկանիշների մասին և հաճախ պատճենում են նույն տեղեկատվությունը, որը չի համապատասխանում իրականությանը:
Փորձենք հասկանալ արձանագրությունը, Bluetooth OS-ի կույտերի, ականջակալների և բարձրախոսների, երաժշտության և խոսքի Bluetooth կոդեկների հնարավորությունները, պարզենք, թե ինչն է ազդում փոխանցվող ձայնի որակի և հետաձգման վրա, սովորել, թե ինչպես հավաքել և վերծանել աջակցվող կոդեկների և այլ սարքերի մասին տեղեկությունները: կարողությունները։

TL. DR:

  • SBC - նորմալ կոդեկ
  • Ականջակալներն ունեն իրենց սեփական էքվիլայզերը և հետմշակումը յուրաքանչյուր կոդեկի համար առանձին
  • aptX-ը այնքան էլ լավը չէ, որքան գովազդվում է
  • LDAC-ը մարքեթինգային հիմարություն է
  • Զանգի որակը դեռ վատ է
  • Դուք կարող եք ներդնել C աուդիո կոդավորիչներ ձեր բրաուզերում՝ դրանք հավաքելով WebAssembly-ում emscripten-ի միջոցով, և դրանք շատ չեն դանդաղեցնի:

Երաժշտություն Bluetooth-ի միջոցով

Bluetooth-ի ֆունկցիոնալ բաղադրիչը որոշվում է պրոֆիլներով՝ հատուկ գործառույթների բնութագրերով: Երաժշտության Bluetooth հոսքը օգտագործում է բարձրորակ A2DP միակողմանի աուդիո փոխանցման պրոֆիլ: A2DP ստանդարտը ընդունվել է 2003 թվականին և դրանից հետո էականորեն չի փոխվել:
Պրոֆիլի ներսում ստանդարտացված են ցածր հաշվարկային բարդության SBC 1 պարտադիր կոդեկ, որը ստեղծվել է հատուկ Bluetooth-ի համար, և 3 լրացուցիչ: Հնարավոր է նաև օգտագործել ձեր սեփական ներդրման չփաստաթղթավորված կոդեկները:

2019 թվականի հունիսի դրությամբ մենք գտնվում ենք xkcd կոմիքսում 14 A2DP կոդեկներով.

  • SBC ← ստանդարտացված A2DP-ով, աջակցվում է բոլոր սարքերի կողմից
  • MPEG-1/2 Layer 1/2/3 ← ստանդարտացված A2DP-ում. լավ հայտնի է MP3, օգտագործվում է թվային հեռուստատեսությունում MP2, և անհայտ MP1
  • MPEG-2/4 AAC ← ստանդարտացված A2DP-ում
  • ATTRAC ← հին կոդեկ Sony-ից, ստանդարտացված A2DP-ով
  • LDAC ← նոր կոդեկ Sony-ից
  • APTX ← կոդեկ 1988թ
  • aptXHD ← նույնը, ինչ aptX-ը, միայն կոդավորման տարբեր ընտրանքներով
  • aptX Latածր Latency ← բոլորովին այլ կոդեկ, ծրագրային ապահովման ներդրում չկա
  • aptX հարմարվողական ← ևս մեկ կոդեկ Qualcomm-ից
  • FastStream ← կեղծ կոդեկ, երկկողմանի SBC փոփոխություն
  • HWA LHDC ← նոր կոդեկ Huawei-ից
  • Samsung HD ← աջակցվում է 2 սարքի կողմից
  • Samsung Scalable ← աջակցվում է 2 սարքի կողմից
  • Samsung UHQ-BT ← աջակցվում է 3 սարքի կողմից

Ինչի՞ն են մեզ ընդհանրապես պետք կոդեկները, հարցնում եք, երբ Bluetooth-ն ունի EDR, որը թույլ է տալիս տվյալներ փոխանցել 2 և 3 Մբիտ/վ արագությամբ, իսկ չսեղմված երկալիք 16-բիթանոց PCM-ի համար բավարար է 1.4 Մբիթ/վրկ:

Տվյալների փոխանցում Bluetooth-ի միջոցով

Bluetooth-ում տվյալների փոխանցման երկու տեսակ կա՝ Asynchronous Connection Less (ACL)՝ ասինխրոն փոխանցման համար՝ առանց կապի հաստատման, և Synchronous Connection Oriented (SCO)՝ համաժամանակյա փոխանցման համար՝ նախնական միացման բանակցություններով:
Փոխանցումն իրականացվում է ժամանակի բաժանման սխեմայի միջոցով և յուրաքանչյուր փաթեթի համար առանձին ընտրելով փոխանցման ալիք (Frequency-Hop/Time-Division-Duplex, FH/TDD), որի համար ժամանակը բաժանվում է 625 միկրովայրկյան ընդմիջումների, որոնք կոչվում են slots: Սարքերից մեկը փոխանցում է զույգ համարներով, մյուսը՝ կենտ համարներով: Հաղորդվող փաթեթը կարող է զբաղեցնել 1, 3 կամ 5 սլոտ՝ կախված տվյալների չափից և փոխանցման սահմանված տեսակից, այս դեպքում մեկ սարքով փոխանցումն իրականացվում է զույգ և կենտ բնիկներով մինչև փոխանցման ավարտը։ Ընդհանուր առմամբ վայրկյանում կարելի է ստանալ և ուղարկել մինչև 1600 փաթեթ, եթե դրանցից յուրաքանչյուրը զբաղեցնում է 1 բնիկ, և երկու սարքերն էլ առանց կանգ առնելու ինչ-որ բան փոխանցում և ստանում են։

2 և 3 Մբիթ/վրկ EDR-ի համար, որոնք կարելի է գտնել հայտարարություններում և Bluetooth-ի վեբկայքում, ընդհանուր առմամբ բոլոր տվյալների ալիքի փոխանցման առավելագույն արագությունն են (ներառյալ բոլոր արձանագրությունների տեխնիկական վերնագրերը, որոնցում տվյալները պետք է ներառվեն), երկու ուղղությամբ: միաժամանակ։ Տվյալների փոխանցման իրական արագությունը մեծապես կտարբերվի:

Երաժշտություն փոխանցելու համար օգտագործվում է ասինխրոն մեթոդ՝ գրեթե միշտ օգտագործելով փաթեթներ, ինչպիսիք են 2-DH5 և 3-DH5, որոնք EDR ռեժիմում տվյալների առավելագույն քանակն են կրում համապատասխանաբար 2 Մբիտ/վ և 3 Մբիթ/վրկ և զբաղեցնում են 5 ժամանակ։ - կիսել slots.

Փոխանցման սխեմատիկ ներկայացում մեկ սարքի կողմից 5 անցք և մյուսի կողմից 1 բնիկ (DH5/DH1) օգտագործելով.
Աուդիո Bluetooth-ի միջոցով. առավելագույն մանրամասներ պրոֆիլների, կոդեկների և սարքերի մասին

Ելնելով եթերային ալիքների ժամանակային բաժանման սկզբունքից, մենք ստիպված ենք փաթեթը փոխանցելուց հետո սպասել 625 միկրովայրկյանանոց ժամանակ, եթե երկրորդ սարքը մեզ ոչինչ չի փոխանցում կամ փոխանցում է փոքր փաթեթ, և ավելի շատ ժամանակ, եթե երկրորդ սարքը փոխանցում է: մեծ փաթեթներով: Եթե ​​հեռախոսին միացված են մեկից ավելի սարքեր (օրինակ՝ ականջակալներ, ժամացույցներ և ֆիթնես ապարանջան), ապա փոխանցման ժամանակը բաշխվում է բոլորի միջև։

Ձայնը հատուկ տրանսպորտային արձանագրություններում ներառելու անհրաժեշտությունը L2CAP և AVDTP տևում է 16 բայթ փոխանցվող ձայնային ծանրաբեռնվածության հնարավոր առավելագույն քանակից:

Փաթեթի տեսակը
Սլոտների քանակը
Մաքս. բայթերի քանակը փաթեթում
Մաքս. A2DP ծանրաբեռնվածության բայթերի քանակը
Մաքս. A2DP ծանրաբեռնվածության բիթային արագություն

2-DH3
3
367
351
936 կբիթ/վրկ

3-DH3
3
552
536
1429 կբիթ/վրկ

2-DH5
5
679
663
1414 կբիթ/վրկ

3-DH5
5
1021
1005
2143 կբիթ/վրկ

1414 և 1429 կբիթ/վրկ արագությունները հաստատ բավարար չեն իրական պայմաններում չսեղմված աուդիո փոխանցելու համար՝ աղմկոտ 2.4 ԳՀց տիրույթով և ծառայության տվյալների փոխանցման անհրաժեշտությամբ: EDR 3 Մբիթ/վրկ-ը պահանջում է փոխանցման հզորությունը և եթերում աղմուկը, հետևաբար, նույնիսկ 3-DH5 ռեժիմում PCM-ի հարմարավետ փոխանցումն անհնար է, միշտ կլինեն կարճատև ընդհատումներ, և ամեն ինչ կաշխատի միայն մեկ հեռավորության վրա: մի քանի մետր:
Գործնականում նույնիսկ 990 կբիթ/վրկ աուդիո հոսքը (LDAC 990 կբիտ/վ) դժվար է փոխանցել:

Վերադառնանք կոդեկներին։

SBC

Կոդեկ անհրաժեշտ է բոլոր սարքերի համար, որոնք աջակցում են A2DP ստանդարտին: Լավագույն և վատագույն կոդեկները միաժամանակ:

Նմուշառման հաճախականությունը
Բիթային խորություն
Բիթային արագություն
Կոդավորման աջակցություն
Ապակոդավորման աջակցություն

16, 32, 44.1, 48 կՀց
16 բիտ
10-1500 կբիթ/վրկ
Բոլոր սարքերը
Բոլոր սարքերը

SBC-ն պարզ և հաշվողականորեն արագ կոդեկ է՝ պարզունակ հոգեակուստիկ մոդելով (կիրառվում է միայն հանգիստ ձայների քողարկում)՝ օգտագործելով հարմարվողական զարկերակային կոդի մոդուլյացիան (APCM):
A2DP-ի հստակեցումը խորհուրդ է տալիս օգտագործել երկու պրոֆիլ՝ միջին որակ և բարձր որակ:
Աուդիո Bluetooth-ի միջոցով. առավելագույն մանրամասներ պրոֆիլների, կոդեկների և սարքերի մասին

Կոդեկն ունի բազմաթիվ կարգավորումներ, որոնք թույլ են տալիս վերահսկել ալգորիթմական ուշացումը, բլոկում նմուշների քանակը, բիթերի բաշխման ալգորիթմը, բայց գրեթե ամենուր օգտագործվում են նույն պարամետրերը, որոնք առաջարկվում են բնութագրում. Համատեղ ստերեո, 8 հաճախականության տիրույթ, 16 բլոկ աուդիո շրջանակ, բարձրության բիթերի բաշխման մեթոդ:
SBC-ն աջակցում է Bitpool պարամետրի դինամիկ փոփոխությանը, որն ուղղակիորեն ազդում է բիթերի արագության վրա: Եթե ​​եթերային ալիքները խցանված են, փաթեթները կորչում են, կամ սարքերը գտնվում են մեծ հեռավորության վրա, ձայնի աղբյուրը կարող է նվազեցնել Bitpool-ը, մինչև կապը վերադառնա նորմալ:

Ականջակալների արտադրողներից շատերը սահմանում են Bitpool-ի առավելագույն արժեքը 53-ի, ինչը սահմանափակում է բիթերի արագությունը մինչև 328 կիլոբիթ/վրկ՝ առաջարկվող պրոֆիլն օգտագործելիս:
Նույնիսկ եթե ականջակալների արտադրողը սահմանել է Bitpool-ի առավելագույն արժեքը 53-ից բարձր (այդպիսի մոդելներ են գտնվել, օրինակ՝ Beats Solo³, JBL Everest Elite 750NC, Apple AirPods, որոնք կան նաև որոշ ընդունիչների և մեքենայի գլխամասերի վրա), ապա ՕՀ-ի մեծ մասը թույլ չի տա: բարձրացված բիթային արագությունների օգտագործումը` շնորհիվ Bluetooth-ի կույտերի ներքին արժեքի սահմանաչափի:
Բացի այդ, որոշ արտադրողներ որոշ սարքերի համար սահմանել են Bitpool-ի առավելագույն արժեքը ցածր: Օրինակ՝ Bluedio T-ի համար 39 է, Samsung Gear IconX-ի համար՝ 37, ինչը թույլ է տալիս ձայնի որակը։

Արհեստական ​​​​սահմանափակումները Bluetooth կույտերի մշակողների կողմից, ամենայն հավանականությամբ, առաջացել են Bitpool-ի մեծ արժեքներով կամ ատիպիկ պրոֆիլներով որոշ սարքերի անհամատեղելիության պատճառով, նույնիսկ եթե նրանք հայտնել են դրանց աջակցության և սերտիֆիկացման ընթացքում անբավարար փորձարկման պատճառով: Bluetooth-ի կույտերի հեղինակների համար ավելի հեշտ էր սահմանափակվել առաջարկվող պրոֆիլի համաձայնությամբ, այլ ոչ թե սխալ սարքերի տվյալների բազաներ ստեղծելով (չնայած հիմա նրանք դա անում են սխալ աշխատող այլ գործառույթների համար):

SBC-ն դինամիկ կերպով բաշխում է քվանտացման բիթերը հաճախականության տիրույթներին ցածրից բարձր հիմունքներով, տարբեր կշիռներով: Եթե ​​ամբողջ բիթային արագությունը օգտագործվել է ցածր և միջին հաճախականությունների համար, ապա բարձր հաճախականությունները «կկտրվեն» (փոխարենը կլինի լռություն):

Օրինակ SBC 328 kbps. Վերևում բնօրինակն է, ներքևում՝ SBC-ն՝ պարբերաբար անցում կատարելով հետքերի միջև: Տեսանյութի ձայնագրությունը օգտագործում է FLAC առանց կորուստների սեղմման կոդեկ: FLAC-ի օգտագործումը mp4 կոնտեյներով պաշտոնապես ստանդարտացված չէ, ուստի երաշխավորված չէ, որ ձեր բրաուզերը կխաղա այն, բայց այն պետք է աշխատի աշխատասեղանի Chrome-ի և Firefox-ի վերջին տարբերակներում: Եթե ​​ձայն չունեք, կարող եք ներբեռնել ֆայլը և բացել այն լիարժեք վիդեո նվագարկիչում:
ZZ Top - Սուր հագնված տղամարդ

Սպեկտրոգրամը ցույց է տալիս միացման պահը. SBC-ն պարբերաբար կրճատում է 17.5 կՀց-ից բարձր անաղմուկ ձայները և ընդհանրապես բիթ չի հատկացնում 20 կՀց-ից բարձր խմբի համար: Ամբողջական սպեկտրոգրամը հասանելի է սեղմելով (1.7 ՄԲ):
Աուդիո Bluetooth-ի միջոցով. առավելագույն մանրամասներ պրոֆիլների, կոդեկների և սարքերի մասին

Այս թրեքում ես բնօրինակի և SBC-ի միջև տարբերություն չեմ լսում:

Եկեք ավելի նոր բան վերցնենք և մոդելավորենք ձայնը, որը կստացվի Samsung Gear IconX ականջակալների միջոցով Bitpool 37-ով (վերևում` բնօրինակ ազդանշանը, ներքևում` SBC 239 կբ/վրկ, աուդիո FLAC-ով):
Անմիտ ինքնամփոփություն - Վկա

Վոկալի բարձր հաճախականության մեջ ես լսում եմ ճռճռոց, ավելի քիչ ստերեո էֆեկտ և տհաճ «կռկռոց» ձայն։

Չնայած SBC-ն շատ ճկուն կոդեկ է, այն կարող է կազմաձևվել ցածր ուշացման համար, ապահովում է ձայնի գերազանց որակ բարձր բիթ արագությամբ (452+ կբ/վ) և բավականին լավ է մարդկանց մեծամասնության համար ստանդարտ Բարձր որակով (328 կբ/վ), քանի որ դա A2DP ստանդարտը չի սահմանում ֆիքսված պրոֆիլներ (այլ միայն տալիս է առաջարկություններ), stack-ի մշակողները արհեստական ​​սահմանափակումներ են սահմանել Bitpool-ի վրա, փոխանցված ձայնի պարամետրերը չեն ցուցադրվում օգտատիրոջ միջերեսում, իսկ ականջակալներ արտադրողներն ազատ են իրենց կարգավորումները սահմանելու և երբեք: նշեք Bitpool արժեքը արտադրանքի տեխնիկական բնութագրերում, կոդեկը հայտնի դարձավ իր ցածր ձայնի որակով, չնայած դա որպես այդպիսին կոդեկի հետ կապված խնդիր չէ:
Bitpool պարամետրը ուղղակիորեն ազդում է բիթերի արագության վրա միայն մեկ պրոֆիլում: Նույն Bitpool 53 արժեքը կարող է տալ և՛ 328 կբ/վ արագություն՝ առաջարկվող Բարձր որակի պրոֆիլով, և՛ 1212 կբ/վ՝ երկակի ալիքով և 4 հաճախականությունների տիրույթով, ինչի պատճառով ՕՀ-ի հեղինակները, բացի Bitpool-ի սահմանափակումներից, սահմանել են սահմանափակում և Բիթային արագություն. Ինչպես տեսնում եմ, այս իրավիճակը առաջացել է A2DP ստանդարտի թերության պատճառով. անհրաժեշտ էր բանակցել բիթերի մակարդակի վրա, ոչ թե Bitpool-ի:

Տարբեր ՕՀ-ում SBC-ի հնարավորությունների աջակցության աղյուսակ.

ОС
Աջակցված նմուշառման տեմպերը
Սահմանափակել առավելագույնը. Բիթփուլ
Սահմանափակել առավելագույնը. Բիթային արագություն
Տիպիկ բիթային արագություն
Bitpool դինամիկ կարգավորում

Windows 10
44.1 քհց
53
512 կբիթ/վրկ
328 կբիթ/վրկ
✓*

Linux (BlueZ + PulseAudio)
16, 32, 44.1, 48 կՀց
64 (մուտքային միացումների համար), 53 (ելքային կապերի համար)
Ոչ մի սահմանափակում
328 կբիթ/վրկ
✓*

MacOS High Sierra- ն
44.1 քհց
64, լռելյայն 53***
Անհայտ
328 կբիթ/վրկ

Android 4.4-9
44.1/48 կՀց**
53
328 կբիթ/վրկ
328 կբիթ/վրկ

Android 4.1-4.3.1
44.1, 48 կՀց**
53
229 կբիթ/վրկ
229 կբիթ/վրկ

Blackberry OS 10
48 քհց
53
Ոչ մի սահմանափակում
328 կբիթ/վրկ

* Bitpool-ը միայն նվազում է, բայց ինքնաբերաբար չի ավելանում, եթե փոխանցման պայմանները բարելավվեն: Bitpool-ը վերականգնելու համար դուք պետք է դադարեցնեք նվագարկումը, սպասեք մի քանի վայրկյան և նորից սկսեք ձայնագրությունը:
** Լռելյայն արժեքը կախված է որոնվածը կազմելիս նշված փաթեթի կարգավորումներից: Android 8/8.1-ում հաճախականությունը կազմում է ընդամենը 44.1 կՀց կամ 48 կՀց՝ կախված կոմպիլյացիայի ընթացքում կատարված կարգավորումներից, մյուս տարբերակներում 44.1 կՀց և 48 կՀց աջակցվում են միաժամանակ։
*** Bitpool-ի արժեքը կարող է ավելացվել Bluetooth Explorer ծրագրում:

aptX և aptX HD

aptX-ը պարզ և հաշվողականորեն արագ կոդեկ է՝ առանց հոգեակուստիկայի, օգտագործելով հարմարվողական դիֆերենցիալ իմպուլսային կոդի մոդուլյացիան (ADPCM) Հայտնվել է մոտ 1988 թվականին (ներկայացման ամսաթիվ արտոնագիր թվագրված 1988 թվականի փետրվարին), մինչև Bluetooth-ը, այն հիմնականում օգտագործվում էր պրոֆեսիոնալ անլար աուդիո սարքավորումներում: Ներկայումս Qualcomm-ին պատկանող, պահանջում է լիցենզավորում և հոնորարներ: 2014 թվականի դրությամբ՝ $6000 մեկանգամյա և ≈$1 մեկ սարքի համար, մինչև 10000 սարքերի խմբաքանակի համար (աղբյուր, էջ 16):
aptX-ը և aptX HD-ը նույն կոդեկներն են՝ տարբեր կոդավորման պրոֆիլներով:

Կոդեկն ունի միայն մեկ պարամետր՝ ընտրելով նմուշառման հաճախականությունը: Այնուամենայնիվ, կա ալիքների քանակի/ռեժիմի ընտրություն, բայց ինձ հայտնի բոլոր սարքերում (70+ կտոր) աջակցվում է միայն Stereo-ն:

Կոդեկ
Նմուշառման հաճախականությունը
Բիթային խորություն
Բիթային արագություն
Կոդավորման աջակցություն
Ապակոդավորման աջակցություն

APTX
16, 32, 44.1, 48 կՀց
16 բիտ
128 / 256 / 352 / 384 կբիթ / վրկ (կախված նմուշառման արագությունից)
Windows 10 (աշխատասեղան և բջջային), macOS, Android 4.4+/7*, Blackberry OS 10
Աուդիո սարքերի լայն տեսականի (ապարատային)

* Մինչև 7 տարբերակները պահանջում են Bluetooth փաթեթի փոփոխություն: Կոդեկը աջակցվում է միայն այն դեպքում, եթե Android սարքի արտադրողը լիցենզավորել է կոդեկը Qualcomm-ից (եթե ՕՀ-ն ունի կոդավորման գրադարաններ):

aptX-ը ձայնը բաժանում է 4 հաճախականության գոտիների և դրանք քվանտացնում է նույն քանակությամբ բիթերով անընդհատ՝ 8 բիթ 0-5.5 կՀց-ի համար, 4 բիթ 5.5-11 կՀց-ի համար, 2 բիթ 11-16.5 կՀց, 2 բիթ 16.5-22 կՀց-ի համար ( 44.1 կՀց նմուշառման արագության թվեր):

AptX աուդիոյի օրինակ (վերևում `բնօրինակ ազդանշան, ներքևում` aptX, միայն ձախ ալիքների սպեկտրոգրամները, ձայնը FLAC-ում).

Բարձրությունները մի փոքր ավելի կարմրեցին, բայց չես կարող լսել տարբերությունը:

Քվանտացման բիթերի ֆիքսված բաշխման պատճառով կոդեկը չի կարող «տեղափոխել բիթերը» այն հաճախականություններին, որոնք դրանց կարիքն ամենաշատն են: Ի տարբերություն SBC-ի, aptX-ը չի «կտրի» հաճախականությունները, այլ կավելացնի դրանց քվանտացման աղմուկը՝ նվազեցնելով ձայնի դինամիկ տիրույթը:

Չպետք է ենթադրել, որ, օրինակ, յուրաքանչյուր գոտու 2 բիթ օգտագործելը դինամիկ տիրույթը նվազեցնում է մինչև 12 դԲ. ADPCM-ը թույլ է տալիս մինչև 96 դԲ դինամիկ տիրույթ նույնիսկ 2 քվանտացման բիթ օգտագործելու դեպքում, բայց միայն որոշակի ազդանշանի համար:
ADPCM-ը պահպանում է ընթացիկ նմուշի և հաջորդ նմուշի թվային տարբերությունը, փոխարենը պահելու բացարձակ արժեքը, ինչպես PCM-ում: Սա թույլ է տալիս նվազեցնել նույն (առանց կորստի) կամ գրեթե նույն (համեմատաբար փոքր կլորացման սխալով) տեղեկատվությունը պահելու համար անհրաժեշտ բիթերի քանակի պահանջները: Կլորացման սխալները նվազեցնելու համար օգտագործվում են գործակիցների աղյուսակներ:
Կոդեկ ստեղծելիս հեղինակները հաշվարկել են ADPCM գործակիցները երաժշտական ​​աուդիո ֆայլերի հավաքածուի վրա։ Որքան մոտ է աուդիո ազդանշանը երաժշտության այն հավաքածուին, որի վրա կառուցվել են աղյուսակները, այնքան քիչ քանակական սխալներ (աղմուկ) է ստեղծում aptX-ը:

Դրա պատճառով սինթետիկ թեստերը միշտ ավելի վատ արդյունքներ կտան, քան երաժշտությունը: Ես հատուկ սինթետիկ օրինակ եմ պատրաստել, որում aptX-ը ցույց է տալիս վատ արդյունքներ՝ սինուսային ալիք 12.4 կՀց հաճախականությամբ (վերևում՝ բնօրինակ ազդանշան, ներքևում՝ aptX: Աուդիո FLAC-ում: Իջեցրե՛ք ձայնը):

Սպեկտրի գրաֆիկ.
Աուդիո Bluetooth-ի միջոցով. առավելագույն մանրամասներ պրոֆիլների, կոդեկների և սարքերի մասին

Աղմուկները հստակ լսվում են:

Այնուամենայնիվ, եթե դուք առաջացնում եք սինուսային ալիք ավելի փոքր ամպլիտուդով, որպեսզի այն ավելի հանգիստ լինի, աղմուկը նույնպես կդառնա ավելի հանգիստ, ինչը ցույց է տալիս լայն դինամիկ տիրույթ.

Աուդիո Bluetooth-ի միջոցով. առավելագույն մանրամասներ պրոֆիլների, կոդեկների և սարքերի մասին

Բնօրինակ երաժշտական ​​ուղու և սեղմվածի միջև տարբերությունը լսելու համար կարող եք շրջել ազդանշաններից մեկը և ավելացնել հետքերը ալիք առ ալիք: Այս մոտեցումը, ընդհանուր առմամբ, սխալ է, և ավելի բարդ կոդեկների դեպքում ողջամիտ արդյունքներ չի տա, բայց հատկապես ADPCM-ի համար այն բավականին հարմար է:
Տարբերությունը բնօրինակի և aptX-ի միջև
Ազդանշանների արմատային միջին քառակուսի տարբերությունը -37.4 դԲ մակարդակի վրա է, ինչը շատ քիչ է նման սեղմված երաժշտության համար:

aptXHD

aptX HD-ը ինքնուրույն կոդեկ չէ, այն aptX կոդեկի բարելավված կոդավորման պրոֆիլն է: Փոփոխությունները ազդել են կոդավորման հաճախականությունների միջակայքերի համար հատկացված բիթերի քանակի վրա՝ 10 բիթ 0-5.5 կՀց-ի համար, 6 բիթ 5.5-11 կՀց-ի համար, 4 բիթ 11-16.5 կՀց, 4 բիթ 16.5-22 կՀց (նիշեր 44.1 կՀց-ի համար) .

Կոդեկ
Նմուշառման հաճախականությունը
Բիթային խորություն
Բիթային արագություն
Կոդավորման աջակցություն
Ապակոդավորման աջակցություն

aptXHD
16, 32, 44.1, 48 կՀց
24 բիթ
192 / 384 / 529 / 576 կբիթ / վրկ (կախված նմուշառման արագությունից)
Android 8+*
Որոշ աուդիո սարքեր (ապարատային)

* Մինչև 7 տարբերակները պահանջում են Bluetooth փաթեթի փոփոխություն: Կոդեկը աջակցվում է միայն այն դեպքում, եթե Android սարքի արտադրողը լիցենզավորել է կոդեկը Qualcomm-ից (եթե ՕՀ-ն ունի կոդավորման գրադարաններ):

Ավելի քիչ տարածված, քան aptX. ակնհայտորեն պահանջում է առանձին լիցենզավորում Qualcomm-ից և առանձին լիցենզիայի վճարներ:

Եկեք կրկնենք օրինակը սինուսային ալիքով 12.4 կՀց հաճախականությամբ.
Աուդիո Bluetooth-ի միջոցով. առավելագույն մանրամասներ պրոֆիլների, կոդեկների և սարքերի մասին

Շատ ավելի լավ, քան aptX, բայց դեռ մի քիչ աղմկոտ:

aptX Latածր Latency

Qualcomm-ի կոդեկ, որը ոչ մի ընդհանուր բան չունի ստանդարտ aptX-ի և aptX HD-ի հետ՝ դատելով դրա մշակման մեջ ներգրավված մարդկանց սահմանափակ տեղեկություններից: Նախատեսված է ինտերակտիվ ցածր ուշացման աուդիո փոխանցման համար (ֆիլմեր, խաղեր), որտեղ ձայնի հետաձգումը չի կարող կարգավորվել ծրագրային ապահովման միջոցով: Կոդավորիչների և ապակոդավորիչների ծրագրային ապահովման հայտնի ներդրում չկա, դրանք աջակցվում են բացառապես հաղորդիչների, ընդունիչների, ականջակալների և բարձրախոսների կողմից, բայց ոչ սմարթֆոնների և համակարգիչների կողմից:

Նմուշառման հաճախականությունը
Բիթային արագություն
Կոդավորման աջակցություն
Ապակոդավորման աջակցություն

44.1 քհց
276/420 կբիթ/վրկ
Որոշ հաղորդիչներ (ապարատային)
Որոշ աուդիո սարքեր (ապարատային)

ՇՊԱԿ

AAC-ը կամ Advanced Audio Coding-ը հաշվողականորեն բարդ կոդեկ է՝ լուրջ հոգեակուստիկ մոդելով: Լայնորեն օգտագործվում է ինտերնետում աուդիո համար, երկրորդը MP3-ից հետո: Պահանջվում է լիցենզավորում և հոնորարներ՝ $15000 միանվագ (կամ $1000 15-ից պակաս աշխատող ունեցող ընկերությունների համար) + $0.98 առաջին 500000 սարքերի համար (աղբյուր).
Կոդեկը ստանդարտացված է MPEG-2 և MPEG-4 բնութագրերի շրջանակներում և, հակառակ տարածված թյուր կարծիքի, այն չի պատկանում Apple-ին:

Նմուշառման հաճախականությունը
Բիթային արագություն
Կոդավորման աջակցություն
Ապակոդավորման աջակցություն

8 - 96 կՀց
8 - 576 կբ/վ (ստերեոյի համար), 256 - 320 կբ/վ (բնորոշ Bluetooth-ի համար)
macOS, Android 7+*, iOS
Աուդիո սարքերի լայն տեսականի (ապարատային)

* միայն սարքերի վրա, որոնց արտադրողները վճարել են լիցենզավորման վճարներ

iOS-ը և macOS-ն օգտագործում են Apple-ի ներկայիս լավագույն AAC կոդավորիչը՝ հնարավորինս բարձր ձայնային որակ ապահովելու համար: Android-ն օգտագործում է երկրորդ ամենաբարձր որակի Fraunhofer FDK AAC կոդավորիչը, սակայն կարող է օգտագործել հարթակում (SoC) ներկառուցված տարբեր սարքավորումներ՝ անհայտ կոդավորման որակով: SoundGuys կայքի վերջին թեստերի համաձայն, տարբեր Android հեռախոսների AAC կոդավորման որակը մեծապես տարբերվում է.
Աուդիո Bluetooth-ի միջոցով. առավելագույն մանրամասներ պրոֆիլների, կոդեկների և սարքերի մասին

Անլար աուդիո սարքերից շատերը AAC-ի համար ունեն 320 կբիթ/վրկ առավելագույն բիթային արագություն, որոշներն աջակցում են միայն 256 կբիթ/վրկ: Այլ բիթերի արագությունը չափազանց հազվադեպ է:
AAC-ն ապահովում է գերազանց որակ 320 և 256 կբ/վ արագությամբ, սակայն ենթակա է արդեն սեղմված բովանդակության հաջորդական կոդավորման կորուստԱյնուամենայնիվ, դժվար է iOS-ի վրա բնօրինակի հետ տարբերություններ լսել 256 կբ/վ բիթ արագությամբ, նույնիսկ մի քանի հաջորդական կոդավորումների դեպքում, օրինակ՝ MP3 320 կբ/վ-ից մինչև AAC 256 կբ/վրկ, կորուստները կարող են անտեսվել:
Ինչպես մյուս Bluetooth կոդեկների դեպքում, ցանկացած երաժշտություն սկզբում վերծանվում է, այնուհետև կոդավորվում է կոդեկով: AAC ձևաչափով երաժշտություն լսելիս այն սկզբում վերծանվում է ՕՀ-ով, այնուհետև նորից կոդավորում է AAC-ում՝ Bluetooth-ի միջոցով փոխանցելու համար: Սա անհրաժեշտ է մի քանի աուդիո հոսքերի միախառնման համար, ինչպիսիք են երաժշտությունը և նոր հաղորդագրությունների ծանուցումները: iOS-ը բացառություն չէ: Համացանցում դուք կարող եք գտնել բազմաթիվ հայտարարություններ, որ iOS-ում AAC ձևաչափով երաժշտությունը չի տրանսկոդավորվում Bluetooth-ի միջոցով փոխանցելիս, ինչը ճիշտ չէ:

MP1/2/3

MPEG-1/2 Part 3 ընտանիքի կոդեկները բաղկացած են հայտնի և լայնորեն օգտագործվող MP3-ից, ավելի քիչ տարածված MP2-ից (հիմնականում օգտագործվում է թվային հեռուստատեսությունում և ռադիոյում) և բոլորովին անհայտ MP1-ից։

Հին MP1 և MP2 կոդեկներն ընդհանրապես չեն աջակցվում. ես չկարողացա գտնել ականջակալներ կամ Bluetooth փաթեթ, որը կկոդավորեր կամ վերծաներ դրանք:
MP3-ի ապակոդավորումն աջակցվում է որոշ ականջակալների կողմից, սակայն կոդավորումը չի ապահովվում ժամանակակից օպերացիոն համակարգի ոչ մի փաթեթում: Թվում է, թե երրորդ կողմի BlueSoleil փաթեթը Windows-ի համար կարող է կոդավորել MP3-ի, եթե դուք ձեռքով փոխեք կազմաձևման ֆայլը, բայց ինձ համար այն տեղադրելը հանգեցնում է Windows 10-ի BSoD-ի: Եզրակացություն՝ կոդեկը իրականում չի կարող օգտագործվել Bluetooth աուդիո համար:
Նախկինում, 2006-2008 թվականներին, մինչ սարքերում A2DP ստանդարտի տարածումը, մարդիկ MP3 երաժշտություն էին լսում Nokia BH-501 ականջակալի միջոցով MSI BluePlayer ծրագրի միջոցով, որը հասանելի էր Symbian-ում և Windows Mobile-ում: Այն ժամանակ սմարթֆոնների ՕՀ-ի ճարտարապետությունը թույլ էր տալիս մուտք գործել ցածր մակարդակի բազմաթիվ գործառույթներ, իսկ Windows Mobile-ում նույնիսկ հնարավոր էր տեղադրել երրորդ կողմի Bluetooth ստեկեր:

MP3 կոդեկի վերջին արտոնագրի ժամկետը լրացել է, կոդեկի օգտագործումը լիցենզավորման վճար չի պահանջում 23 թվականի ապրիլի 2017-ից։

Եթե ​​վերոհիշյալ հղումներում նշված ամենաերկարատև արտոնագիրը ընդունվի որպես միջոց, ապա MP3 տեխնոլոգիան ԱՄՆ-ում արտոնագրից զրկվեց 16 թվականի ապրիլի 2017-ին, երբ Technicolor-ի կողմից տնօրինվող և տնօրինվող ԱՄՆ արտոնագրի ժամկետը լրացավ:

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

Նմուշառման հաճախականությունը
Բիթային արագություն
Կոդավորման աջակցություն
Ապակոդավորման աջակցություն

16 - 48 կՀց
8 - 320 կբիթ/վրկ
Ոչ մի տեղ չի աջակցվում
Որոշ աուդիո սարքեր (ապարատային)

LDAC

Sony-ի նոր և ակտիվորեն առաջ մղվող «Hi-Res» կոդեկ, որն ապահովում է նմուշառման արագություն մինչև 96 կՀց և 24 բիթ, մինչև 990 կբիթ/վրկ բիթային արագությամբ: Այն գովազդվում է որպես աուդիոֆիլ կոդեկ՝ որպես գոյություն ունեցող Bluetooth կոդեկների փոխարինում։ Այն ունի հարմարվողական բիթային արագության ճշգրտման գործառույթ՝ կախված ռադիոհեռարձակման պայմաններից:

LDAC կոդավորիչ (libldac) ներառված է ստանդարտ Android փաթեթում, ուստի կոդավորումն աջակցվում է ցանկացած Android սմարթֆոնի վրա՝ սկսած ՕՀ 8-րդ տարբերակից: Ազատ հասանելի ծրագրային ապահովման ապակոդավորիչներ չկան, կոդեկի սպեցիֆիկացիաները հասանելի չեն լայն հանրությանը, այնուամենայնիվ, կոդեկի առաջին հայացքից կոդեկի ներքին կառուցվածքը նման է. ATRAC9 - Sony-ի կոդեկ, որն օգտագործվում է PlayStation 4-ում և Vita-ում. երկուսն էլ աշխատում են հաճախականության տիրույթում, օգտագործում են փոփոխված դիսկրետ կոսինուսի փոխակերպում (MDCT) և սեղմում՝ օգտագործելով Huffman ալգորիթմը:

LDAC աջակցությունը տրամադրվում է գրեթե բացառապես Sony-ի ականջակալներով: LDAC-ի վերծանման հնարավորությունը երբեմն հայտնաբերվում է այլ արտադրողների ականջակալների և DAC-ների վրա, բայց շատ հազվադեպ:

Նմուշառման հաճախականությունը
Բիթային արագություն
Կոդավորման աջակցություն
Ապակոդավորման աջակցություն

44.1 - 96 կՀց
303/606/909 կբիթ/վրկ (44.1 և 88.2 կՀց հաճախականությամբ), 330/660/990 կբիտ/վ (48 և 96 կՀց հաճախականությամբ)
Android 8 +
Որոշ Sony ականջակալներ և այլ արտադրողների որոշ սարքեր (ապարատներ)

LDAC-ի շուկայավարումը որպես Hi-Res կոդեկ վնասում է դրա տեխնիկական բաղադրիչը. հիմարություն է բիթային արագությունը ծախսել մարդու ականջին չլսելի հաճախականությունների փոխանցման և բիթերի խորությունը մեծացնելու վրա, մինչդեռ CD-ի որակը (44.1/16) առանց կորստի փոխանցելը բավարար չէ: . Բարեբախտաբար, կոդեկն ունի երկու աշխատանքային ռեժիմ՝ CD աուդիո փոխանցում և Hi-Res աուդիո փոխանցում: Առաջին դեպքում օդով փոխանցվում է ընդամենը 44.1 կՀց/16 բիթ:

Քանի որ ծրագրային ապահովման LDAC ապակոդավորիչն ազատ հասանելի չէ, անհնար է փորձարկել կոդեկը առանց լրացուցիչ սարքերի, որոնք վերծանում են LDAC-ը: Համաձայն LDAC փորձարկման արդյունքների DAC-ի վրա իր աջակցությամբ, որը SoundGuys.com-ի ինժեներները միացրել են թվային ելքի միջոցով և ձայնագրել ելքային ձայնը փորձարկման ազդանշանների վրա, LDAC 660 և 990 կբ/վրկ CD-ի որակի ռեժիմում ապահովում է ազդանշան դեպի- աղմուկի հարաբերակցությունը մի փոքր ավելի լավ է, քան aptX HD-ը:

Աուդիո Bluetooth-ի միջոցով. առավելագույն մանրամասներ պրոֆիլների, կոդեկների և սարքերի մասին
Source: www.soundguys.com/ldac-ultimate-bluetooth-guide-20026

LDAC-ն աջակցում է նաև հաստատված պրոֆիլներից դուրս դինամիկ բիթերի արագություն՝ 138 կբիթ/վրկ-ից մինչև 990 կբ/վ, բայց որքանով ես կարող եմ ասել, Android-ն օգտագործում է միայն ստանդարտացված 303/606/909 և 330/660/990 կբ/վ պրոֆիլները:

Այլ կոդեկներ

Այլ A2DP կոդեկները լայնորեն չեն օգտագործվում: Նրանց աջակցությունը կամ գրեթե ամբողջությամբ բացակայում է, կամ հասանելի է միայն ականջակալների և սմարթֆոնների որոշակի մոդելների վրա:
A2DP-ում ստանդարտացված ATRAC կոդեկը երբեք չի օգտագործվել որպես Bluetooth կոդեկ նույնիսկ հենց իրենք՝ Sony-ի կողմից, Samsung HD, Samsung Scalable և Samsung UHQ-BT կոդեկները շատ սահմանափակ աջակցություն ունեն սարքերի փոխանցման և ընդունման հարցում, իսկ HWA LHDC-ն չափազանց նոր է և աջակցում է միայն երեքին: (?) սարքեր:

Կոդեկի աջակցություն աուդիո սարքերի համար

Ոչ բոլոր արտադրողները ճշգրիտ տեղեկատվություն են հրապարակում կոդեկների մասին, որոնք աջակցվում են որոշակի անլար ականջակալների, բարձրախոսների, ընդունիչների կամ հաղորդիչների կողմից: Երբեմն պատահում է, որ որոշակի կոդեկի աջակցությունը միայն փոխանցման համար է, բայց ոչ ընդունման (համակցված հաղորդիչ-ընդունիչների համար), չնայած արտադրողը պարզապես հայտարարում է «աջակցություն», առանց նշումների (ես ենթադրում եմ, որ որոշ կոդավորիչների և ապակոդավորիչների առանձին լիցենզավորում կոդեկներն են դրա մեղավորը): Ամենաէժան սարքերում դուք կարող եք ընդհանրապես չգտնել հայտարարված aptX աջակցությունը:

Ցավոք, օպերացիոն համակարգերի մեծ մասի ինտերֆեյսները ոչ մի տեղ չեն ցուցադրում օգտագործվող կոդեկը: Այս մասին տեղեկատվությունը հասանելի է միայն Android-ում՝ սկսած 8-րդ տարբերակից և macOS-ում։ Այնուամենայնիվ, նույնիսկ այս ՕՀ-ներում կցուցադրվեն միայն այն կոդեկները, որոնք աջակցվում են և՛ հեռախոսի/համակարգչի, և՛ ականջակալների կողմից:

Ինչպե՞ս կարող եք պարզել, թե որ կոդեկներն է աջակցում ձեր սարքը: Գրանցեք և վերլուծեք երթևեկության աղբը A2DP-ի բանակցային պարամետրերով:
Դա կարելի է անել Linux-ի, macOS-ի և Android-ի վրա: Linux-ում կարող եք օգտագործել Wireshark-ը կամ hcidump-ը, macOS-ում կարող եք օգտագործել Bluetooth Explorer-ը, իսկ Android-ում՝ ստանդարտ Bluetooth HCI dump-ի պահպանման գործառույթը, որը հասանելի է մշակողի գործիքներում: Դուք կստանաք աղբավայր btsnoop ձևաչափով, որը կարող է բեռնվել Wireshark անալիզատորի մեջ:
Խնդրում ենք նկատի ունենալ,Ճիշտ աղբանոց կարելի է ստանալ միայն ձեր հեռախոսից/համակարգչից ականջակալներին/բարձրախոսներին միացնելով (անկախ նրանից, թե որքան ծիծաղելի է դա հնչում): Ականջակալները կարող են ինքնուրույն կապ հաստատել հեռախոսի հետ, որի դեպքում հեռախոսից կպահանջեն կոդեկների ցուցակ, և ոչ հակառակը։ Ապահովելու համար, որ աղբավայրը ճիշտ է գրանցված, նախ անջատեք սարքը, այնուհետև հեռախոսը զուգակցեք ականջակալների հետ՝ ձայնագրման ընթացքում:

Անհամապատասխան երթևեկությունը զտելու համար օգտագործեք հետևյալ ցուցադրման զտիչը.

btavdtp.signal_id

Արդյունքում, դուք պետք է տեսնեք նման բան.
Աուդիո Bluetooth-ի միջոցով. առավելագույն մանրամասներ պրոֆիլների, կոդեկների և սարքերի մասին

Դուք կարող եք սեղմել GetCapabilities հրամանի յուրաքանչյուր տարրի վրա՝ կոդեկի մանրամասն բնութագրերը դիտելու համար:
Աուդիո Bluetooth-ի միջոցով. առավելագույն մանրամասներ պրոֆիլների, կոդեկների և սարքերի մասին

Wireshark-ը չգիտի բոլոր կոդեկների նույնացուցիչները, ուստի որոշ կոդեկներ պետք է ձեռքով վերծանվեն՝ նայելով ստորև բերված նույնացուցիչների աղյուսակը.

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

Աղբավայրերը ձեռքով չվերլուծելու համար ես ստեղծել եմ ծառայություն, որն ավտոմատ կերպով կվերլուծի ամեն ինչ. btcodecs.valdikss.org.ru

Կոդեկների համեմատություն. Ո՞ր կոդեկն է ավելի լավ:

Յուրաքանչյուր կոդեկ ունի իր առավելություններն ու թերությունները:
aptX-ը և aptX HD-ն օգտագործում են կոշտ կոդավորված պրոֆիլներ, որոնք հնարավոր չէ փոխել առանց կոդավորիչի և ապակոդավորիչի փոփոխման: Ո՛չ հեռախոսի արտադրողը, ո՛չ ականջակալների արտադրողը չեն կարող փոխել բիթերի արագությունը կամ aptX կոդավորման գործոնները: Կոդեկի սեփականատերը՝ Qualcomm-ը, տրամադրում է տեղեկատու կոդավորիչ՝ գրադարանի տեսքով: Այս փաստերը aptX-ի ուժն են. դուք նախապես գիտեք, թե ինչ որակի ձայն կստանաք՝ առանց «բայցերի»:

SBC-ն, ի հակադրություն, ունի բազմաթիվ կարգավորելի պարամետրեր, դինամիկ բիթային արագություն (կոդավորիչը կարող է նվազեցնել bitpool պարամետրը, եթե եթերային ալիքները զբաղված են), և չունի կոշտ կոդավորված պրոֆիլներ, միայն առաջարկված «միջին որակ» և «բարձր որակ» ավելացվել է A2DP բնութագրին 2003 թվականին: «Բարձր որակն» այլևս այնքան էլ բարձր չէ այսօրվա չափանիշներով, և Bluetooth փաթեթների մեծ մասը թույլ չի տալիս օգտագործել ավելի լավ պարամետրեր, քան «բարձրորակ» պրոֆիլը, թեև դրա համար տեխնիկական սահմանափակումներ չկան:
Bluetooth SIG-ը որպես գրադարան չունի տեղեկատու SBC կոդավորիչ, և արտադրողներն իրենք են այն իրականացնում:
Սրանք SBC-ի թույլ կողմերն են. երբեք նախապես պարզ չէ, թե կոնկրետ սարքից ինչ ձայնի որակ սպասել: SBC-ն կարող է արտադրել ինչպես ցածր, այնպես էլ շատ բարձր որակի աուդիո, սակայն վերջինս անհասանելի է առանց Bluetooth-ի կույտերի արհեստական ​​սահմանափակումներն անջատելու կամ շրջանցելու:

AAC-ի հետ կապված իրավիճակը միանշանակ չէ. մի կողմից, տեսականորեն կոդեկը պետք է արտադրի բնօրինակից չտարբերվող որակ, բայց գործնականում, դատելով SoundGuys լաբորատորիայի թեստերից տարբեր Android սարքերի վրա, դա հաստատված չէ: Ամենայն հավանականությամբ, մեղքը կապված է տարբեր հեռախոսային չիպսեթների մեջ ներկառուցված ցածրորակ ապարատային աուդիո կոդավորիչների հետ: Իմաստ ունի AAC-ն օգտագործել միայն Apple սարքերում, իսկ Android-ում՝ սահմանափակել aptX-ով և LDAC-ով:

Սարքավորումները, որոնք աջակցում են այլընտրանքային կոդեկներին, հակված են ավելի բարձր որակի, պարզապես այն պատճառով, որ շատ էժան, ցածրորակ սարքերի համար իմաստ չունի վճարել լիցենզավորման վճարներ այդ կոդեկներն օգտագործելու համար: Իմ թեստերում SBC-ն շատ լավ է հնչում որակյալ սարքավորումների վրա:

Ես ստեղծել եմ վեբ ծառայություն, որը կոդավորում է աուդիո SBC-ին, aptX-ին և aptX HD-ին իրական ժամանակում, հենց բրաուզերում: Դրանով դուք կարող եք փորձարկել այս աուդիո կոդեկները՝ առանց Bluetooth-ի միջոցով աուդիո փոխանցելու, ցանկացած լարային ականջակալների, բարձրախոսների և ձեր սիրած երաժշտության վրա, ինչպես նաև ուղղակիորեն փոխել կոդավորման պարամետրերը աուդիո նվագարկելիս:
btcodecs.valdikss.org.ru/sbc-encoder
Ծառայությունն օգտագործում է SBC կոդավորման գրադարանները BlueZ նախագծից և libopenaptx ffmpeg-ից, որոնք հավաքվում են WebAssembly-ի և JavaScript-ի C-ից՝ emscripten-ի միջոցով՝ բրաուզերում գործարկելու համար: Ո՞վ կարող էր երազել նման ապագայի մասին:

Ահա, թե ինչ տեսք ունի.

Ուշադրություն դարձրեք, թե ինչպես է փոխվում աղմուկի մակարդակը 20 կՀց-ից հետո տարբեր կոդեկների համար: Բնօրինակ MP3 ֆայլը չի ​​պարունակում 20 կՀց-ից բարձր հաճախականություններ:

Փորձեք փոխարկել կոդեկները և տեսեք, թե արդյոք լսում եք տարբերությունը բնօրինակի, SBC 53 Joint Stereo-ի (ստանդարտ և ամենատարածված պրոֆիլը) և aptX/aptX HD-ի միջև:

Ես կարող եմ լսել կոդեկների տարբերությունը ականջակալներով!

Մարդիկ, ովքեր չեն լսում կոդեկների միջև տարբերությունը վեբ ծառայության միջոցով փորձարկման ժամանակ, պնդում են, որ դա լսում են անլար ականջակալներով երաժշտություն լսելիս: Ավաղ, սա կատակ կամ պլացեբո էֆեկտ չէ. տարբերությունն իսկապես լսելի է, բայց դա պայմանավորված չէ տարբերություններով։ կոդեկներ.

Անլար ընդունող սարքերում օգտագործվող Bluetooth աուդիո չիպսեթների ճնշող մեծամասնությունը հագեցած է թվային ազդանշանի պրոցեսորով (DSP), որն իրականացնում է հավասարեցնող, կոմպանդեր, ստերեո ընդարձակող և ձայնը բարելավելու (կամ փոխելու) այլ բաներ: Bluetooth սարքավորումների արտադրողները կարող են կարգավորել DSP-ն յուրաքանչյուր կոդեկի համար առանձինև կոդեկների միջև անցում կատարելիս ունկնդիրը կմտածի, որ տարբերություն է լսում կոդեկների աշխատանքի մեջ, երբ իրականում նրանք լսում են տարբեր DSP կարգավորումներ։

Աուդիո Bluetooth-ի միջոցով. առավելագույն մանրամասներ պրոֆիլների, կոդեկների և սարքերի մասին
DSP Kalimba աուդիո մշակման խողովակաշար՝ CSR/Qualcomm-ի կողմից արտադրված չիպերով

Աուդիո Bluetooth-ի միջոցով. առավելագույն մանրամասներ պրոֆիլների, կոդեկների և սարքերի մասին
Ակտիվացրեք տարբեր DSP գործառույթներ յուրաքանչյուր կոդեկի և առանձին ելքի համար

Որոշ պրեմիում սարքեր ունեն ծրագրային ապահովում, որը թույլ է տալիս հարմարեցնել DSP-ի կարգավորումները, սակայն ավելի էժան ականջակալների մեծ մասը դա չի անում, և օգտվողները չեն կարող ձեռքով անջատել ձայնի հետմշակումը:

Սարքերի ֆունկցիոնալ առանձնահատկությունները

A2DP ստանդարտի ժամանակակից տարբերակն ունի «Բացարձակ ձայնի վերահսկում» գործառույթը — սարքի ձայնի հսկողություն՝ օգտագործելով AVRCP արձանագրության հատուկ հրամանները, որոնք կարգավորում են ելքային փուլի ավելացումը՝ ձայնային հոսքի ծավալը ծրագրային կերպով նվազեցնելու փոխարեն: Եթե ​​ականջակալների ձայնը փոխելու ժամանակ փոփոխությունը չի համաժամանակվում ձեր հեռախոսի ձայնի հետ, ապա ձեր ականջակալները կամ հեռախոսը չեն աջակցում այս գործառույթը: Այս դեպքում իմաստ ունի միշտ լսել երաժշտություն հեռախոսով առավելագույն ձայնով, իրական ձայնը կարգավորելով ականջակալների կոճակներով. այս դեպքում ազդանշան-աղմուկ հարաբերակցությունը ավելի լավ կլինի, իսկ ձայնի որակը: պետք է լինի վերևում:
Իրականում կան տխուր իրավիճակներ. SBC-ի համար նախատեսված իմ RealForce OverDrive D1 ականջակալների վրա միացված է ուժեղ կոմպանդեր, և ձայնի բարձրացումը հանգեցնում է հանգիստ ձայների մակարդակի բարձրացմանը, մինչդեռ բարձր ձայների ծավալը չի ​​փոխվում (ազդանշանը սեղմվում է): Դրա պատճառով դուք պետք է համակարգչի ձայնը սահմանեք մոտավորապես կեսին, որի դեպքում գործնականում սեղմման էֆեկտ չկա:
Իմ դիտարկումների համաձայն, լրացուցիչ կոդեկներով բոլոր ականջակալները աջակցում են ձայնի բացարձակ հսկողության գործառույթը, ըստ երևույթին, սա կոդեկների հավաստագրման պահանջներից մեկն է:

Որոշ ականջակալներ աջակցում են միաժամանակ երկու սարքերի միացում. Սա թույլ է տալիս, օրինակ, երաժշտություն լսել ձեր համակարգչից և ստանալ զանգեր ձեր հեռախոսից: Այնուամենայնիվ, դուք պետք է տեղյակ լինեք, որ այս ռեժիմում այլընտրանքային կոդեկներն անջատված են և օգտագործվում է միայն SBC:

AVDTP 1.3 Հետաձգման հաշվետվությունների գործառույթ թույլ է տալիս ականջակալներին փոխանցել ուշացումը փոխանցող սարքին, որով իրականում հնչում է ձայնը: Սա թույլ է տալիս կարգավորել ձայնի համաժամացումը տեսանյութի հետ վիդեո ֆայլեր դիտելիս. եթե ռադիոհաղորդման հետ կապված խնդիրներ կան, ձայնը հետ չի մնա տեսանյութից, այլ ընդհակառակը, տեսանյութը կդանդաղեցնի վիդեո նվագարկիչը մինչև աուդիո և վիդեո կրկին համաժամանակացվում են:
Ֆունկցիան աջակցում են բազմաթիվ ականջակալներ, Android 9+ և Linux՝ PulseAudio 12.0+։ Ես տեղյակ չեմ այլ հարթակներում այս հատկության աջակցության մասին:

Երկկողմանի հաղորդակցություն Bluetooth-ի միջոցով: Ձայնի փոխանցում.

Bluetooth-ով ձայնի փոխանցման համար օգտագործվում է Synchronous Connection Oriented (SCO)՝ համաժամանակյա փոխանցում միացման նախնական բանակցություններով: Ռեժիմը թույլ է տալիս ձայնն ու ձայնը փոխանցել խիստ կարգով, ուղարկման և ընդունման սիմետրիկ արագություններով՝ առանց փաթեթների փոխանցման և վերաուղարկման հաստատման սպասելու: Սա նվազեցնում է ռադիոալիքի միջոցով աուդիո փոխանցման ընդհանուր ուշացումը, սակայն լուրջ սահմանափակումներ է դնում ժամանակի մեկ միավորի համար փոխանցվող տվյալների քանակի վրա և բացասաբար է անդրադառնում որակի վրա:
Երբ այս ռեժիմն օգտագործվում է, և՛ ձայնը, և՛ ձայնը փոխանցվում են նույն որակով:
Ցավոք, 2019 թվականի դրությամբ Bluetooth-ի միջոցով ձայնի որակը դեռևս վատ է, և անհասկանալի է, թե ինչու Bluetooth SIG-ը ոչինչ չի անում դրա համար:

CVSD

Հիմնական CVSD խոսքի կոդեկը ստանդարտացվել է 2002 թվականին և աջակցվում է երկկողմանի Bluetooth կապի բոլոր սարքերով: Այն ապահովում է աուդիո փոխանցում 8 կՀց նմուշառման հաճախականությամբ, որը համապատասխանում է սովորական լարային հեռախոսակապի որակին:

Այս կոդեկում ձայնագրության օրինակ.

mSBC

Լրացուցիչ mSBC կոդեկը ստանդարտացվել է 2009-ին, իսկ 2010-ին ձայնային փոխանցման համար օգտագործող չիպերն արդեն հայտնվել են։ mSBC-ն լայնորեն աջակցվում է տարբեր սարքերի կողմից:
Սա անկախ կոդեկ չէ, այլ սովորական SBC A2DP ստանդարտից՝ ֆիքսված կոդավորման պրոֆիլով՝ 16 կՀց, մոնո, բիթփուլ 26:

Այս կոդեկում ձայնագրության օրինակ.

Ոչ փայլուն, բայց շատ ավելի լավը, քան CVSD-ն, բայց այն դեռ նյարդայնացնում է առցանց հաղորդակցության համար օգտագործելը, հատկապես, երբ դուք օգտագործում եք ականջակալներ խաղի մեջ շփվելու համար. խաղի ձայնը նույնպես կփոխանցվի 16 կՀց ընտրանքային արագությամբ:

FastStreamCSR ընկերությունը որոշել է զարգացնել SBC-ի վերօգտագործման գաղափարը: SCO արձանագրության սահմանափակումները շրջանցելու և ավելի բարձր բիթային արագություններ օգտագործելու համար ԿՍՊ-ն գնաց այլ ճանապարհով. նրանք ներդրեցին երկկողմանի SBC աուդիո աջակցություն A2DP աուդիո փոխանցման միակողմանի ստանդարտում, ստանդարտացված կոդավորման պրոֆիլներ և այն անվանեցին «FastStream»:

FastStream-ը բարձրախոսներին փոխանցում է ստերեո աուդիո 44.1 կամ 48 կՀց հաճախականությամբ՝ 212 կբ/վ արագությամբ, իսկ մոնո, 16 կՀց հաճախականությունը՝ 72 կբ/վ արագությամբ, օգտագործվում է խոսափողից աուդիո փոխանցելու համար (մի փոքր ավելի լավ, քան mSBC): Նման պարամետրերը շատ ավելի հարմար են առցանց խաղերում հաղորդակցվելու համար՝ խաղի ձայնը և զրուցակիցները կլինեն բարձրորակ:

Այս կոդեկում ձայնագրության օրինակ (+ ձայնը խոսափողից, նույնը, ինչ mSBC-ն).

Ընկերությունը հանդես եկավ հետաքրքիր հենակով, բայց քանի որ այն հակասում է A2DP ստանդարտին, այն աջակցվում է միայն ընկերության որոշ հաղորդիչներում (որոնք աշխատում են որպես USB աուդիո քարտ, այլ ոչ թե Bluetooth սարք), բայց դա չի գործում։ ստանալ աջակցություն Bluetooth փաթեթներում, չնայած FastStream-ի աջակցությամբ ականջակալների թիվն այնքան էլ փոքր չէ:

Այս պահին ՕՀ-ում միայն FastStream-ի աջակցությունն է որպես կարկատան Linux PulseAudio-ի համար ծրագրավորող Պալի Ռոհարից, ով ներառված չէ ծրագրի հիմնական ճյուղում։

aptX Latածր Latency

Ի զարմանս ձեզ, aptX Low Latency-ն աջակցում է նաև երկկողմանի աուդիո՝ կիրառելով նույն սկզբունքը, ինչ FastStream-ը:
Ոչ մի տեղ հնարավոր չէ օգտագործել կոդեկի այս հատկությունը. ոչ մի ՕՀ-ում կամ ինձ հայտնի որևէ Bluetooth փաթեթում ցածր ուշացման ապակոդավորման աջակցություն չկա:

Bluetooth 5, դասական և ցածր էներգիա

Շատ շփոթություն է առաջացել Bluetooth-ի բնութագրերի և տարբերակների շուրջ՝ նույն ապրանքանիշի ներքո երկու անհամատեղելի ստանդարտների առկայության պատճառով, որոնք երկուսն էլ լայնորեն օգտագործվում են տարբեր նպատակների համար:

Կան երկու տարբեր, անհամատեղելի Bluetooth արձանագրություններ՝ Bluetooth Classic և Bluetooth Low Energy (LE, հայտնի է նաև որպես Bluetooth Smart): Կա նաև երրորդ արձանագրություն՝ Bluetooth High Speed-ը, սակայն այն տարածված չէ և չի օգտագործվում կենցաղային սարքերում։

Սկսած Bluetooth 4.0-ից, ճշգրտման փոփոխությունները վերաբերում էին հիմնականում Bluetooth Low Energy-ին, իսկ Դասական տարբերակը ստացել է միայն չնչին բարելավումներ:

Bluetooth 4.2-ի և Bluetooth 5-ի միջև փոփոխությունների ցանկ.

9 ՓՈՓՈԽՈՒԹՅՈՒՆՆԵՐ v4.2-ից մինչև 5.0

9.1 ՆՈՐ ԱՌԱՆՁՆԱՀԱՏԿՈՒԹՅՈՒՆՆԵՐ

Մի քանի նոր առանձնահատկություններ են ներկայացվել Bluetooth Core Specification 5.0 թողարկման մեջ: Բարելավման հիմնական ոլորտներն են.
• Slot Availability Mask (SAM)
• 2 Msym/s PHY LE-ի համար
•LE Long Range
• High Duty Cycle Non-Connectable Գովազդ
• LE Advertising Extensions
• LE ալիքի ընտրության ալգորիթմ #2
9.1.1 Հատկություններ Ավելացված են CSA5-ում - Ինտեգրված է v5.0-ում
• Ավելի բարձր ելքային հզորություն

Source: www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=421043 (էջ 291)

Դասական տարբերակի վրա միայն մեկ փոփոխություն է ազդել Bluetooth 5-ի ճշգրտման շրջանակներում. նրանք ավելացրել են աջակցություն Slot Availability Mask (SAM) տեխնոլոգիային, որը նախատեսված է բարելավել ռադիոհաղորդումների բաժանումը: Մնացած բոլոր փոփոխությունները ազդում են միայն Bluetooth LE-ի վրա (և ավելի բարձր ելքային հզորության վրա նույնպես):

Բոլորը Աուդիո սարքերն օգտագործում են միայն Bluetooth Classic: Անհնար է միացնել ականջակալները և բարձրախոսները Bluetooth Low Energy-ի միջոցով. չկա LE-ի միջոցով աուդիո փոխանցելու ստանդարտ: A2DP ստանդարտը, որն օգտագործվում է բարձրորակ աուդիո փոխանցման համար, աշխատում է միայն Bluetooth Classic-ի միջոցով, իսկ LE-ում անալոգը չկա:

Եզրակացություն - Bluetooth 5-ով աուդիո սարքեր գնելը միայն արձանագրության նոր տարբերակի պատճառով անիմաստ է: Bluetooth 4.0/4.1/4.2 աուդիո փոխանցման համատեքստում կաշխատի ճիշտ նույնը:
Եթե ​​նոր ականջակալների հայտարարության մեջ նշվում է, որ կրկնապատկվել է գործառնական տիրույթը և կրճատվել էներգիայի սպառումը Bluetooth 5-ի շնորհիվ, ապա դուք պետք է իմանաք, որ նրանք կամ իրենք չեն հասկանում դա, կամ մոլորեցնում են ձեզ: Զարմանալի չէ, քանի որ նույնիսկ Bluetooth չիպերի արտադրողներն իրենց հայտարարություններում շփոթված են ստանդարտի նոր տարբերակի միջև եղած տարբերությունների մասին, և որոշ Bluetooth 5 չիպեր աջակցում են հինգերորդ տարբերակը միայն LE-ի համար, և օգտագործում են 4.2-ը Classic-ի համար:

Ձայնի փոխանցման ուշացում

Ձայնի հետաձգման (ուշացման) չափը կախված է բազմաթիվ գործոններից՝ աուդիո կույտում բուֆերի չափը, Bluetooth փաթեթում և բուն անլար նվագարկման սարքում, և կոդեկի ալգորիթմական ուշացումից:

Պարզ կոդեկների հետաձգումը, ինչպիսիք են SBC, aptX և aptX HD, շատ փոքր է՝ 3-6 ms, որը կարելի է անտեսել, բայց բարդ կոդեկները, ինչպիսիք են AAC-ը և LDAC-ը, կարող են նկատելի ուշացում առաջացնել: AAC ալգորիթմական ուշացումը 44.1 կՀց-ի համար 60 մվ է: LDAC - մոտ 30 ms (հիմնված սկզբնական կոդի կոպիտ վերլուծության վրա: Ես կարող եմ սխալվել, բայց ոչ շատ):

Ստացված ուշացումը մեծապես կախված է նվագարկման սարքից, դրա չիպսեթից և բուֆերից: Թեստերի ժամանակ ես տարբեր սարքերի վրա (SBC կոդեկով) ստացա 150-ից 250 ms տարածում: Եթե ​​ենթադրենք, որ aptX, AAC և LDAC լրացուցիչ կոդեկներ աջակցող սարքերը օգտագործում են բարձրորակ բաղադրիչներ և փոքր բուֆերային չափ, մենք ստանում ենք հետևյալ բնորոշ ուշացումները.

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

Հիշեցնեմ՝ aptX Low Latency-ը չի ապահովվում օպերացիոն համակարգերում, այդ իսկ պատճառով ավելի ցածր ուշացում կարելի է ստանալ միայն հաղորդիչ+ընդունիչ կամ հաղորդիչ+ականջակալներ/բարձրախոսի համակցությամբ, և բոլոր սարքերը պետք է աջակցեն այս կոդեկին։

Bluetooth սարքի, հավաստագրման և լոգոյի հետ կապված խնդիրներ

Ինչպե՞ս տարբերել բարձրորակ աուդիո սարքը էժան արհեստից: Արտաքինով, առաջին հերթին!

Չինական էժան ականջակալների, բարձրախոսների և ընդունիչների համար.

  1. Տուփի և սարքի վրա բացակայում է «Bluetooth» բառը, առավել հաճախ օգտագործվում են «Wireless» և «BT»:
  2. Bluetooth լոգոն բացակայում է Աուդիո Bluetooth-ի միջոցով. առավելագույն մանրամասներ պրոֆիլների, կոդեկների և սարքերի մասին տուփի կամ սարքի վրա
  3. Կապույտ թարթող LED չկա

Այս տարրերի բացակայությունը ցույց է տալիս, որ սարքը հավաստագրված չէ, ինչը նշանակում է, որ այն պոտենցիալ ցածր որակի և խնդրահարույց է: Օրինակ, Bluedio ականջակալները չունեն Bluetooth սերտիֆիկացում և լիովին չեն համապատասխանում A2DP-ի բնութագրերին: Նրանք ատեստավորում չէին անցնի։

Դիտարկենք դրանցից մի քանի սարքեր և տուփեր.
Աուդիո Bluetooth-ի միջոցով. առավելագույն մանրամասներ պրոֆիլների, կոդեկների և սարքերի մասին

Աուդիո Bluetooth-ի միջոցով. առավելագույն մանրամասներ պրոֆիլների, կոդեկների և սարքերի մասին

Աուդիո Bluetooth-ի միջոցով. առավելագույն մանրամասներ պրոֆիլների, կոդեկների և սարքերի մասին

Սրանք բոլորը չհավաստագրված սարքեր են: Հրահանգները կարող են պարունակել լոգոն և Bluetooth տեխնոլոգիայի անվանումը, բայց ամենակարևորն այն է, որ դրանք գտնվում են տուփի և/կամ սարքի վրա:

Եթե ​​ձեր ականջակալների կամ բարձրախոսի վրա գրված է «Ze bluetooth dewise-ը հաջողությամբ միացված է», սա նույնպես չի ցույց տալիս դրանց որակը.

Ամփոփում

Կարո՞ղ է Bluetooth-ը ամբողջությամբ փոխարինել լարային ականջակալներին և ականջակալներին: Այն ընդունակ է, բայց զանգի վատ որակի, աուդիո ուշացման ավելացման, որը կարող է նյարդայնացնել խաղերում, և մի շարք մասնավոր կոդեկների, որոնք պահանջում են լիցենզավորման վճարներ և բարձրացնում են սմարթֆոնների և ականջակալների վերջնական արժեքը:

Այլընտրանքային կոդեկների շուկայավարումը շատ ուժեղ է. aptX-ը և LDAC-ը ներկայացված են որպես «հնացած և վատ» SBC-ի երկար սպասված փոխարինում, որը այնքան էլ վատ չէ, որքան մարդիկ կարծում են:

Ինչպես պարզվեց, SBC բիթային արագության վրա Bluetooth stacks-ի արհեստական ​​սահմանափակումները կարելի է շրջանցել, որպեսզի SBC-ն չզիջի aptX HD-ին։ Ես վերցրեցի նախաձեռնությունը իմ ձեռքը և պատրաստեցի LineageOS որոնվածի համար նախատեսված կարկատ. Մենք փոփոխում ենք Bluetooth փաթեթը՝ առանց AAC, aptX և LDAC կոդեկների ականջակալների ձայնը բարելավելու համար

Լրացուցիչ տեղեկություններ կարելի է գտնել կայքերում Sound Guys и SoundExpert.

Բոնուս: SBC հղումների կոդավորիչ, A2DP բիթ հոսքի տեղեկատվություն և փորձարկման ֆայլեր. Այս ֆայլը նախկինում հրապարակվում էր Bluetooth կայքում, սակայն այժմ հասանելի է միայն Bluetooth SIG-ի անդամներին:

Source: www.habr.com

Добавить комментарий