Do včerejška jsem si myslel, že Bluetooth kodek SBC – ten základní mandatorní, co mají všechny Bluetooth zařízení, je shit, pardon, chtěl jsem říct garantuje to suboptimální kvalitu, a je potřeba mít sluchátka a repro co mají prémiové, patentované kodeky jako aptX, aptX HD, nebo aspoň AAC apod.
TLDR: Není to vůbec pravda. SBC je totiž naprosto kompetitivní s ostatními použitými kodeky, a velmi vysokou kvalitu SBC jde docílit prakticky na úplně všech bluetooth sluchátkách, JBL reprákách a jiných přijímačích hudby co už máte 10 let! SBC totiž nemá žádnou jedinou fixní bitrate.
To, že skoro všechny zařízení POSÍLAJÍ do těch Bluetooth zařízení jen jedinou „doporučenou“ bitrate co se jmenuje „high quality“ (konkrétně jde o bitrate 328 kbps a joint stereo) není problém SBC, ale těch Bluetooth stacků ve Windows, Mac OS či Androidu a toho, že se málokdo namáhal nabídnout něco lepšího než defaultní bitrate. (Asi aby bylo možné lákat zákazníky na kvalitnější kodeky a za to si nechat zaplatit prémium.) SBC ale umí i nižší bitrates než těch 328 kbps a některá zařízení, co se snaží maximálně šetřit baterii, můžou teoreticky omezit vysílaný bitrate třeba jen na 256 kbps apod. a uživateli to samozřejmě neřeknou a nikde nenapíšou, jen uživatel pak má pocit, te ten Bluetooth zvuk není moc dobrý.
SBC skutečně není moc efektivní na kompresi a defaultní, doporučený bitrate – byť vypadá vysoký – prostě neodpovídá ani 192-256 kbps mp3, natožpak aac na takovýchto datových tocích. Ale zase je proti takovému aac velmi nenáročný na kompresi i dekompresi a i levné čipsety ve sluchátkách s malými bateriemi, nebo starší mobily (např. klasické hloupé Nokie) se u zpracování takovéhoto kodeku nezapotí a je to tedy energeticky a ekonomicky úsporné řešení. Ostatně takový vychvalovaný aptX (HD) je vlastně taky hrozně primitivní, jde o kodek vymyšlený už v 80. letech minulého století (!) a dnes se o něm mluví jako o kvalitním audio kodeku jen proto, že se mu dal obrovský bitrate. Proti aptX je i klasická mp3 efektivnější co se týče kompresního poměru!
Bluetooth linka v praxi, pokud není okolí extrémně zarušené (což bohužel v MHD, v okolí DECT telefonů a 2,4 GHz wifi někdy je…), utáhne mnohem víc než těch 328 kbps výchozího bitrate SBC. To stejné staré dobré SBC jde jednoduše vysílat i na vyšším bitrate, 452, 512 nebo dokonce 552 kbps (to vše při 44,1 kHz a 16bit; při 48 kHz/16bit jde o 492-600 kbps). V tu chvíli jsou i na SBC jakékoli zvukové artefakty, ořezávání frekvencí a jiná „nekvalita zvuku“ zcela zanedbatelné a zvuk je na úrovni jednoho z nejkvalitnějších Bluetooth kodeků, aptX HD!
Už od dob Bluetooth 2.0 existuje Enhanced data rate (BT 2.0+EDR), tedy efektivnější kódování rádiového signálu – kódování π/4-DPSK (EDR2) a později se objevilo i ještě rychlejší kódování 8-DPSK (EDR3), co dnes podporuje taky kdejaké zařízení. (Apple pak vymyslel až někdy v roce 2019 ještě další „HDR“ rozšíření s ještě složitějšími schématy kódování. (PSK v tom DPSK znamená „Phase-shift keying“, vysvětlení např. viz Wikipedia. Čím víc symbolů chceme v rádiovém kanálu o nějakém pásmu za nějakou dobu přenést, tím citlivější je pak příjem na sílu signálu a míru rušení. Vyšší rychlosti přenosu dat zkrátka snižují dosah, kde je ještě možný kvalitní příjem.)
Při poslechu sluchátky z mobilu co je v kapse nebo notebooku na klíně a na stole, tedy vzdálenosti zpravidla do 1-1,5 metru od sluchátek, jsou i tyhle pokročilejší kódování radiového signálu, co víc „ucpávají“ dostupné rádiové pásmo Bluetooth, plně použitelné a rušení a výpadky signálu ve sluchátkách jsou minimální. Při použití nějakých JBL reproduktorů co jsou ale 8 metrů daleko od mobilu už v zarušeném prostředí může s vyššími datovými toky Bluetooth audia být větší problém než s kodeky, co takový datový tok nepotřebují. Ale ten stejný problém bude nejen u SBC na vyšších bitrates, ale samozřejmě i u těch aptX HD. Teoreticky lepší dosah při zachování dobré kvality zvuku budou mít v takových situacích kodeky s dobrou úrovní komprese při zachování kvality, tedy např. AAC, pokud zároveň vysílač (enkodér) umí do AAC kódovat kvalitně – tedy především zařízení Apple, která používají údajně nejlepší komerční AAC enkodér na trhu.
Bluetooth specifikace od nepaměti říká, že přijímače, tj sluchátka, reprroduktory atd. musejí umět přijímat a zpracovávat SBC až do 512 kbps (v případě základnějšího EDR2), a zařízení co umí EDR3 mají šanci na 552 kbps (při 44,1 kHz) nebo i před 600 kbps při 48 kHz záznamu.
Akorát výchozí stacky Bluetooth na Androidu, Windows 10 i 11, Mac OS i iOS vůbec nemá nástroj jak může uživatel vynutit vyšší bitrate než jedinou defaultní. A uživatel nemá možnost si např. na neodemčeném Android telefonu „hacknout“ Bluetooth softwarový stack a něco v něm upravit a změnit nějaké parametry.
Upravené distribuce Androidu (LineageOS, crDroid ROM atd.) co si pokročilí uživatelé někdy do telefonů nahrávají místo originálního systému od výrobce ale patch na tzv. SBC XQ mají a stejně tak podpora SBC XQ je v Linuxu a to jak na starších verzích např Ubuntu co ještě používají Pulseaudio (např. Ubuntu 22.04), tak i novější a jiné distribuce, co používají Pipewire.
Moje levná sluchátka (QCY Melobuds Neo), co jsem si koupil za pouhých 500 korun umí pouze SBC a pak AAC. Android a iPhony si umí povídat přes AAC, Linux bez kompilace nějakých divných věcí mi ale dovolí jen SBC. Jenže jsem objevil že si můžu zvolit bitrate v tom SBC XQ režimech, fakt to funguje a není nakonec vůbec důvod se pokoušet do linux bluetooth stacku doplnit podporu aac, když stačí zvolit sbc na 512kbps a i podle objektivních měření např. na SoundExpert.
Citace z SoundExpert: „Looking at Df medians we can safely conclude that audio quality of SBC XQ is comparable to aptX HD. And for BT EDR3 devices SBC XQ slightly surpasses aptX HD. It will be impossible to tell them apart in a blind listening test. SBC codec uses primitive psychoacoustic model for encoding and aptX does not use it at all, so their perceived audio quality is determined mostly by bitrate. Different settings of SBC, including SBC XQ, can be compared to aptX and aptX HD aurally with the help of Bluetooth A2DP SBC/aptX online encoder. All current BT stereo devices could use this higher quality encoding. It just suffices to modify BT stack of sending device. Receiving BT devices that support only mandatory SBC codec will benefit most from this trick.“