Ääni Bluetoothin kautta: maksimitiedot profiileista, koodekeista ja laitteista

Ääni Bluetoothin kautta: maksimitiedot profiileista, koodekeista ja laitteista

Ilman 3.5 mm:n ääniliitäntää olevien älypuhelimien massatuotannon ansiosta langattomat Bluetooth-kuulokkeet ovat monien pääasiallinen tapa kuunnella musiikkia ja kommunikoida kuuloketilassa.
Langattomien laitteiden valmistajat eivät aina kirjoita yksityiskohtaisia ​​tuotespesifikaatioita, ja Internetissä olevat Bluetooth-ääntä koskevat artikkelit ovat ristiriitaisia, joskus virheellisiä, eivät puhu kaikista ominaisuuksista ja usein kopioivat samoja tietoja, jotka eivät vastaa todellisuutta.
Yritetään ymmärtää protokollaa, Bluetooth-käyttöjärjestelmän pinojen, kuulokkeiden ja kaiuttimien ominaisuuksia, musiikin ja puheen Bluetooth-koodekkeja, selvittää, mikä vaikuttaa lähetetyn äänen laatuun ja latenssiin, oppia keräämään ja purkamaan tietoja tuetuista koodekeista ja muista laitteista kykyjä.

TL; DR:

  • SBC - normaali koodekki
  • Kuulokkeissa on oma taajuuskorjain ja jälkikäsittely jokaiselle koodekille erikseen
  • aptX ei ole niin hyvä kuin mainostetaan
  • LDAC on markkinoinnin paskaa
  • Puhelun laatu on edelleen huono
  • Voit upottaa C-äänikooderit selaimeesi kääntämällä ne WebAssemblyyn emscriptenin kautta, eivätkä ne hidastu paljoa.

Musiikki Bluetoothin kautta

Bluetoothin toiminnallinen komponentti määräytyy profiilien - tiettyjen toimintojen spesifikaatioiden perusteella. Bluetooth-musiikin suoratoisto käyttää korkealaatuista A2DP yksisuuntaista äänensiirtoprofiilia. A2DP-standardi otettiin käyttöön vuonna 2003, eikä se ole muuttunut merkittävästi sen jälkeen.
Profiilissa on standardoitu 1 pakollinen matalan laskennallisen monimutkaisuuden SBC-koodekki, joka on luotu erityisesti Bluetoothia varten, ja 3 muuta. On myös mahdollista käyttää oman toteutuksen dokumentoimattomia koodekkeja.

Kesäkuussa 2019 olemme xkcd-sarjakuvassa 14 A2DP-koodekilla:

  • SBC ← standardoitu A2DP:ssä, tuettu kaikilla laitteilla
  • MPEG-1/2 Layer 1/2/3 ← standardoitu A2DP:ssä: hyvin tunnettu MP3, jota käytetään digitelevisiossa MP2, ja tuntematon MP1
  • MPEG-2/4 AAC ← standardoitu A2DP:ssä
  • ATTRAC ← Sonyn vanha koodekki, standardoitu A2DP:llä
  • LDAC ← Sonyn uusi koodekki
  • APTX ← koodekki vuodelta 1988
  • aptX-HD ← sama kuin aptX, vain eri koodausvaihtoehdoilla
  • aptX Matala viive ← täysin erilainen koodekki, ei ohjelmistototeutusta
  • aptX mukautuva ← toinen koodekki Qualcommista
  • FastStream ← pseudokoodekki, kaksisuuntainen SBC-muunnos
  • HWA LHDC ← Huawein uusi koodekki
  • Samsung HD ← tuettu 2 laitteella
  • Samsung skaalautuva ← tuettu 2 laitteella
  • Samsung UHQ-BT ← tuettu 3 laitteella

Miksi ylipäänsä tarvitaan koodekkeja, kysyt, kun Bluetoothissa on EDR, joka mahdollistaa tiedonsiirron 2 ja 3 Mbit/s nopeuksilla ja pakkaamattomalle kaksikanavaiselle 16-bittiselle PCM:lle riittää 1.4 Mbit/s?

Tiedonsiirto Bluetoothin kautta

Bluetoothissa on kahdenlaista tiedonsiirtoa: Asynchronous Connection Less (ACL) asynkroniseen siirtoon ilman yhteyden muodostamista ja Synchronous Connection Oriented (SCO), joka mahdollistaa synkronisen tiedonsiirron alustavan yhteysneuvottelun kanssa.
Lähetys tapahtuu aikajakomenetelmällä ja kullekin paketille valitsemalla erikseen lähetyskanava (Frequency-Hop/Time-Division-Duplex, FH/TDD), jolle aika jaetaan 625 mikrosekunnin aikaväleiksi. Toinen laitteista lähettää parillisissa aikaväleissä, toinen parittomissa aikaväleissä. Lähetettävä paketti voi olla 1, 3 tai 5 aikaväliä riippuen datan koosta ja asetetusta lähetystyypistä, tässä tapauksessa yhden laitteen siirto tapahtuu parillisissa ja parittomissa aikaväleissä lähetyksen loppuun asti. Kaiken kaikkiaan jopa 1600 pakettia voidaan vastaanottaa ja lähettää sekunnissa, jos jokainen niistä vie yhden paikan, ja molemmat laitteet lähettävät ja vastaanottavat jotain pysähtymättä.

2 ja 3 Mbit/s EDR:lle, jotka löytyvät tiedotteista ja Bluetooth-verkkosivustolta, ovat maksimikanavan siirtonopeus kaikille tiedoille yhteensä (mukaan lukien kaikkien protokollien tekniset otsikot, joihin tiedot on kapseloitava) kahteen suuntaan samanaikaisesti. Todellinen tiedonsiirtonopeus vaihtelee suuresti.

Musiikin lähettämiseen käytetään asynkronista menetelmää, jossa käytetään lähes aina paketteja, kuten 2-DH5 ja 3-DH5, jotka kuljettavat EDR-tilassa maksimimäärän dataa 2 Mbit/s ja 3 Mbit/s, vastaavasti ja vievät 5 aikaa. - slottien jakaminen.

Kaavamainen esitys lähetyksestä käyttämällä 5 väliä yhdellä laitteella ja 1 väliä toisella (DH5/DH1):
Ääni Bluetoothin kautta: maksimitiedot profiileista, koodekeista ja laitteista

Ilma-aaltojen aikajakoperiaatteen vuoksi joudumme odottamaan 625 mikrosekunnin aikaväliä paketin lähettämisen jälkeen, jos toinen laite ei lähetä meille mitään tai lähettää pienen paketin, ja enemmän aikaa, jos toinen laite lähettää isoissa paketeissa. Jos puhelimeen on kytketty useampi kuin yksi laite (esimerkiksi kuulokkeet, kellot ja kuntoranneke), siirtoaika jaetaan kaikkien kesken.

Tarve kapseloida ääni erityisiin siirtoprotokolliin L2CAP ja AVDTP vie 16 tavua lähetettävän äänen maksimimäärästä.

Pakkaustyyppi
Aikojen lukumäärä
Max. tavujen määrä paketissa
Max. A2DP-hyötykuorman tavujen määrä
Max. A2DP hyötykuorman bittinopeus

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 ja 1429 kbps eivät todellakaan riitä lähettämään pakkaamatonta ääntä todellisissa olosuhteissa meluisan 2.4 GHz:n alueen ja palvelutietojen lähetystarpeen vuoksi. EDR 3 Mbit/s vaatii lähetystehoa ja melua ilmassa, joten mukava PCM-lähetys on mahdotonta jopa 3-DH5-tilassa, lyhytaikaisia ​​keskeytyksiä tulee aina ja kaikki toimii vain etäisyyden päässä. pari metriä.
Käytännössä jopa 990 kbit/s äänivirtaa (LDAC 990 kbit/s) on vaikea siirtää.

Palataanpa koodekkeihin.

SBC

Codec vaaditaan kaikille laitteille, jotka tukevat A2DP-standardia. Paras ja huonoin koodekki samaan aikaan.

Näytteenottotaajuus
Terän syvyys
Bittinopeus
Koodauksen tuki
Dekoodauksen tuki

16, 32, 44.1, 48 kHz
16-bitti
10-1500 kbps
Kaikki laitteet
Kaikki laitteet

SBC on yksinkertainen ja laskennallisesti nopea koodekki, jossa on primitiivinen psykoakustinen malli (käytetään vain hiljaisten äänten peittämistä) käyttäen adaptiivista pulssikoodimodulaatiota (APCM).
A2DP-spesifikaatiossa suositellaan käytettäväksi kahta profiilia: keskilaatuista ja korkealaatuista.
Ääni Bluetoothin kautta: maksimitiedot profiileista, koodekeista ja laitteista

Pakkauksenhallinnassa on monia asetuksia, joiden avulla voit ohjata algoritmista viivettä, näytteiden määrää lohkossa, bittien jakautumisalgoritmia, mutta lähes kaikkialla käytetään samoja parametreja, joita spesifikaatiossa suositellaan: Joint Stereo, 8 taajuuskaistaa, 16 lohkoa äänikehys, Loudness-bittien jakelumenetelmä.
SBC tukee Bitpool-parametrin dynaamista muutosta, mikä vaikuttaa suoraan bittinopeuteen. Jos radioaallot ovat tukossa, paketteja katoaa tai laitteet sijaitsevat kaukana, äänilähde voi vähentää Bitpoolia, kunnes viestintä palautuu normaaliksi.

Useimmat kuulokkeiden valmistajat asettavat Bitpoolin maksimiarvoksi 53, mikä rajoittaa bittinopeuden 328 kilobittiin sekunnissa suositeltua profiilia käytettäessä.
Vaikka kuulokkeiden valmistaja on asettanut Bitpoolin maksimiarvon yli 53 (sellaisia ​​malleja löytyy esimerkiksi: Beats Solo³, JBL Everest Elite 750NC, Apple AirPods, löytyy myös joistakin vastaanottimista ja auton pääyksiköistä), useimmat käyttöjärjestelmät eivät salli lisääntyneiden bittinopeuksien käyttö Bluetooth-pinojen sisäisen arvorajan vuoksi.
Lisäksi jotkut valmistajat asettavat Bitpoolin enimmäisarvon alhaiseksi joillekin laitteille. Esimerkiksi Bluedio T:lle se on 39, Samsung Gear IconX:lle 37, mikä antaa huonon äänenlaadun.

Keinotekoiset rajoitukset Bluetooth-pinojen kehittäjille johtuivat todennäköisesti joidenkin laitteiden yhteensopimattomuudesta suurilla Bitpool-arvoilla tai epätyypillisillä profiileilla, vaikka ne ilmoittivat niiden tukemisesta, ja riittämättömästä testauksesta sertifioinnin aikana. Bluetooth-pinojen tekijöiden oli helpompi rajoittua sopimaan suositellusta profiilista kuin luomaan tietokantoja vääristä laitteista (vaikka nyt he tekevät tämän muille väärin toimiville toiminnoille).

SBC allokoi dynaamisesti kvantisointibitit taajuuskaistoihin matalasta korkeaan, eri painoilla. Jos kaikki bittinopeus käytettiin matalille ja keskitaajuuksille, korkeat taajuudet "katkaistaan" (sen sijaan tulee hiljaisuus).

Esimerkki SBC 328 kbps. Yläosassa on alkuperäinen, alareunassa SBC, joka vaihtaa ajoittain kappaleiden välillä. Videotiedoston ääni käyttää häviötöntä FLAC-pakkauskoodekkia. FLAC:n käyttäminen mp4-säilössä ei ole virallisesti standardoitua, joten selaimesi toistamista ei taata, mutta sen pitäisi toimia työpöytäkoneen Chromen ja Firefoxin uusimmissa versioissa. Jos sinulla ei ole ääntä, voit ladata tiedoston ja avata sen täysimittaisessa videosoittimessa.
ZZ Top - Terävästi pukeutunut mies

Spektrogrammi näyttää vaihdon hetken: SBC leikkaa ajoittain hiljaisia ​​yli 17.5 kHz:n ääniä eikä varaa lainkaan bittejä yli 20 kHz:n kaistalle. Koko spektrogrammi on saatavilla napsauttamalla (1.7 MB).
Ääni Bluetoothin kautta: maksimitiedot profiileista, koodekeista ja laitteista

En kuule mitään eroa alkuperäisen ja SBC:n välillä tällä kappaleella.

Otetaan jotain uudempaa ja simuloidaan ääntä, joka saataisiin Samsung Gear IconX -kuulokkeilla Bitpool 37:llä (yläpuolella - alkuperäinen signaali, alla - SBC 239 kbps, ääni FLACissa).
Mindless Self Indulgence - Todistaja

Kuulen rätisevää, vähemmän stereoefektiä ja epämiellyttävää "kolinaa" äänen korkeilla taajuuksilla.

Vaikka SBC on erittäin joustava koodekki, se voidaan määrittää alhaiselle latenssille, se tarjoaa erinomaisen äänenlaadun korkeilla bittinopeuksilla (452+ kbps) ja on varsin hyvä useimmille ihmisille tavallisella korkealla laadulla (328 kbps), koska se on A2DP-standardi ei määrittele kiinteitä profiileja (mutta antaa vain suosituksia), pinokehittäjät ovat asettaneet Bitpoolille keinotekoisia rajoituksia, siirrettävän äänen parametrit eivät näy käyttöliittymässä ja kuulokkeiden valmistajat voivat vapaasti määrittää omia asetuksiaan eivätkä koskaan Ilmoita Bitpool-arvo tuotteen teknisissä tiedoissa, koodekki tuli tunnetuksi huonosta äänenlaadustaan, vaikka tämä ei ole ongelma koodekin kanssa sellaisenaan.
Bitpool-parametri vaikuttaa suoraan vain yhden profiilin bittinopeuteen. Sama Bitpool 53 -arvo voi antaa sekä 328 kbps:n bittinopeuden suositellulla High Quality -profiililla että 1212 kbps:n kaksikanavaisella ja 4 taajuuskaistalla, minkä vuoksi käyttöjärjestelmän tekijät asettavat Bitpoolin rajoitusten lisäksi rajan ja Bittinopeus. Nähdäkseni tämä tilanne johtui A2DP-standardin puutteesta: piti neuvotella bittinopeudesta, ei Bitpoolista.

Taulukko SBC-ominaisuuksien tuesta eri käyttöjärjestelmissä:

käyttöjärjestelmä
Tuetut näytteenottotaajuudet
Raja max. Bitpool
Raja max. Bittinopeus
Tyypillinen bittinopeus
Bitpoolin dynaaminen säätö

Windows 10
44.1 кГц
53
512 kbps
328 kbps
✓*

Linux (BlueZ + PulseAudio)
16, 32, 44.1, 48 kHz
64 (saapuville yhteyksille), 53 (lähteville yhteyksille)
Ei rajoitusta
328 kbps
✓*

MacOS Korkea Sierra
44.1 кГц
64, oletus 53***
Tuntematon
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 кГц
53
Ei rajoitusta
328 kbps

* Bitpool vain pienenee, mutta ei kasva automaattisesti, jos siirtoolosuhteet paranevat. Bitpoolin palauttamiseksi sinun on pysäytettävä toisto, odotettava muutama sekunti ja aloitettava ääni uudelleen.
** Oletusarvo riippuu laiteohjelmistoa käännettäessä määritetyistä pinoasetuksista. Android 8/8.1:ssä taajuus on vain joko 44.1 kHz tai 48 kHz, riippuen käännöksen asetuksista, muissa versioissa 44.1 kHz ja 48 kHz tuetaan samanaikaisesti.
*** Bitpool-arvoa voidaan suurentaa Bluetooth Explorer -ohjelmassa.

aptX ja aptX HD

aptX on yksinkertainen ja laskennallisesti nopea koodekki, ilman psykoakustiikkaa, joka käyttää adaptiivista differentiaalista pulssikoodimodulaatiota (ADPCM). Ilmestynyt noin 1988 (arkistointipäivämäärä patentti- helmikuuta 1988), sitä käytettiin ennen Bluetoothia ensisijaisesti ammattimaisissa langattomissa audiolaitteissa. Tällä hetkellä Qualcommin omistama, vaatii lisenssin ja rojalteja. Vuodesta 2014: 6000 1 $ kertaluonteisesti ja ≈ 10000 $ per laite, jopa XNUMX XNUMX laitteen erissä (lähde, s. 16).
aptX ja aptX HD ovat sama koodekki eri koodausprofiileilla.

Pakkauksenhallinnassa on vain yksi parametri - näytteenottotaajuuden valinta. Kanavien lukumäärä/tila on kuitenkin valittavissa, mutta kaikissa tuntemissani laitteissa (70+ kappaletta) vain Stereo on tuettu.

Codec
Näytteenottotaajuus
Terän syvyys
Bittinopeus
Koodauksen tuki
Dekoodauksen tuki

APTX
16, 32, 44.1, 48 kHz
16-bitti
128 / 256 / 352 / 384 kbps (riippuen näytteenottotaajuudesta)
Windows 10 (pöytäkone ja mobiili), macOS, Android 4.4+/7*, Blackberry OS 10
Laaja valikoima äänilaitteita (laitteisto)

* Versiot 7 asti edellyttävät Bluetooth-pinon muokkaamista. Pakkauksenhallintaa tuetaan vain, jos Android-laitteen valmistaja on lisensoinut pakkauksenhallinnan Qualcommilta (jos käyttöjärjestelmässä on koodauskirjastoja).

aptX jakaa äänen 4 taajuuskaistalle ja kvantisoi ne samalla bittimäärällä jatkuvasti: 8 bittiä 0-5.5 kHz, 4 bittiä 5.5-11 kHz, 2 bittiä 11-16.5 kHz, 2 bittiä 16.5-22 kHz ( näytteenottotaajuuden luvut 44.1 kHz).

Esimerkki aptX-äänestä (ylhäällä - alkuperäinen signaali, alhaalla - aptX, vain vasemmanpuoleisten kanavien spektrogrammit, ääni FLACissa):

Huiput muuttuivat hieman punaisemmiksi, mutta eroa ei voinut kuulla.

Kvantisointibittien kiinteän jakautumisen vuoksi koodekki ei voi "siirtää bittejä" niitä eniten tarvitseville taajuuksille. Toisin kuin SBC, aptX ei "leikkaa" taajuuksia, vaan lisää niihin kvantisointikohinaa vähentäen äänen dynaamista aluetta.

Ei pidä olettaa, että esimerkiksi 2 bitin käyttö kaistaa kohden pienentää dynaamisen alueen 12 dB:iin: ADPCM sallii jopa 96 dB dynaamisen alueen jopa käytettäessä kahta kvantisointibittiä, mutta vain tietylle signaalille.
ADPCM tallentaa numeerisen eron nykyisen näytteen ja seuraavan näytteen välillä sen sijaan, että tallentaisi itseisarvon kuten PCM:ssä. Tämän avulla voit vähentää vaatimuksia bittien lukumäärälle, joka tarvitaan saman (häviöttömän) tai lähes saman (suhteellisen pienellä pyöristysvirheellä) tiedon tallentamiseen. Pyöristysvirheiden vähentämiseksi käytetään kerrointaulukoita.
Pakkauksenhallintaa luodessaan tekijät laskivat ADPCM-kertoimet musiikin äänitiedostoille. Mitä lähempänä äänisignaali on musiikkisarjaa, jolle taulukot rakennettiin, sitä vähemmän kvantisointivirheitä (kohinaa) aptX luo.

Tämän vuoksi synteettiset testit tuottavat aina huonompia tuloksia kuin musiikki. Tein erityisen synteettisen esimerkin, jossa aptX näyttää huonoja tuloksia - siniaalto taajuudella 12.4 kHz (yläpuolella - alkuperäinen signaali, alla - aptX. Ääni FLACissa. Pienennä äänenvoimakkuutta!):

Spektrikaavio:
Ääni Bluetoothin kautta: maksimitiedot profiileista, koodekeista ja laitteista

Äänet kuuluvat selvästi.

Jos kuitenkin synnytät siniaallon pienemmällä amplitudilla niin, että se on hiljaisempi, myös melu vaimenee, mikä osoittaa laajan dynaamisen alueen:

Ääni Bluetoothin kautta: maksimitiedot profiileista, koodekeista ja laitteista

Jos haluat kuulla eron alkuperäisen musiikkiraidan ja pakatun kappaleen välillä, voit kääntää yhden signaalin ja lisätä raidat kanava kerrallaan. Tämä lähestymistapa on yleisesti ottaen virheellinen, eikä se antaisi järkeviä tuloksia monimutkaisemmilla koodekeilla, mutta erityisesti ADPCM:lle se on varsin sopiva.
Ero alkuperäisen ja aptX:n välillä
Signaalien neliökeskiarvoero on tasolla -37.4 dB, mikä ei ole paljoa tällaiselle pakatulle musiikille.

aptX-HD

aptX HD ei ole itsenäinen koodekki - se on aptX-koodekin parannettu koodausprofiili. Muutokset vaikuttivat koodaustaajuusalueille varattujen bittien määrään: 10 bittiä 0-5.5 kHz, 6 bittiä 5.5-11 kHz, 4 bittiä 11-16.5 kHz, 4 bittiä 16.5-22 kHz (numeroita 44.1 kHz) .

Codec
Näytteenottotaajuus
Terän syvyys
Bittinopeus
Koodauksen tuki
Dekoodauksen tuki

aptX-HD
16, 32, 44.1, 48 kHz
24 bittiä
192 / 384 / 529 / 576 kbps (riippuen näytteenottotaajuudesta)
Android 8+*
Jotkut äänilaitteet (laitteisto)

* Versiot 7 asti edellyttävät Bluetooth-pinon muokkaamista. Pakkauksenhallintaa tuetaan vain, jos Android-laitteen valmistaja on lisensoinut pakkauksenhallinnan Qualcommilta (jos käyttöjärjestelmässä on koodauskirjastoja).

Harvempi kuin aptX: vaatii ilmeisesti erillisen lisenssin Qualcommilta ja erilliset lisenssimaksut.

Toistetaan esimerkki siniaallolla taajuudella 12.4 kHz:
Ääni Bluetoothin kautta: maksimitiedot profiileista, koodekeista ja laitteista

Paljon parempi kuin aptX, mutta silti hieman meluisa.

aptX Matala viive

Qualcommin koodekki, jolla ei ole mitään yhteistä standardin aptX:n ja aptX HD:n kanssa sen kehittämiseen osallistuneiden henkilöiden rajoitetun tiedon perusteella. Suunniteltu interaktiiviseen matalan latenssin äänen siirtoon (elokuvat, pelit), jossa äänen viivettä ei voida säätää ohjelmistolla. Enkooderien ja dekoodereiden ohjelmistototeutuksia ei tunneta, niitä tukevat yksinomaan lähettimet, vastaanottimet, kuulokkeet ja kaiuttimet, mutta eivät älypuhelimet ja tietokoneet.

Näytteenottotaajuus
Bittinopeus
Koodauksen tuki
Dekoodauksen tuki

44.1 кГц
276/420 kbps
Jotkut lähettimet (laitteisto)
Jotkut äänilaitteet (laitteisto)

AAC

AAC tai Advanced Audio Coding on laskennallisesti monimutkainen koodekki, jolla on vakava psykoakustinen malli. Käytetään laajasti äänentoistoon Internetissä, toiseksi suosituin MP3:n jälkeen. Edellyttää lisensointia ja rojalteja: 15000 1000 dollaria kertaluonteisesti (tai 15 0.98 dollaria alle 500000 työntekijän yrityksissä) + XNUMX dollaria ensimmäisestä XNUMX XNUMX laitteesta (lähde).
Pakkauksenhallinta on standardoitu MPEG-2- ja MPEG-4-spesifikaatioiden mukaisesti, eikä se kuulu Applelle, toisin kuin yleinen väärinkäsitys.

Näytteenottotaajuus
Bittinopeus
Koodauksen tuki
Dekoodauksen tuki

8-96 kHz
8 - 576 kbps (stereolle), 256 - 320 kbps (tyypillinen Bluetoothille)
macOS, Android 7+*, iOS
Laaja valikoima äänilaitteita (laitteisto)

* vain laitteissa, joiden valmistajat ovat maksaneet lisenssimaksut

iOS ja macOS käyttävät Applen nykyistä parasta AAC-enkooderia tarjotakseen parhaan mahdollisen äänenlaadun. Android käyttää toiseksi laadukkainta Fraunhofer FDK AAC -kooderia, mutta se voi käyttää erilaisia ​​alustaan ​​(SoC) sisäänrakennettuja laitteita, joiden koodauslaatu on tuntematon. SoundGuysin verkkosivuilla tehtyjen viimeaikaisten testien mukaan, eri Android-puhelimien AAC-koodauksen laatu vaihtelee suuresti:
Ääni Bluetoothin kautta: maksimitiedot profiileista, koodekeista ja laitteista

Useimpien langattomien äänilaitteiden AAC:n maksimibittinopeus on 320 kbps, jotkin tukevat vain 256 kbps. Muut bittinopeudet ovat erittäin harvinaisia.
AAC tarjoaa erinomaisen laadun 320 ja 256 kbps bittinopeuksilla, mutta siihen sovelletaan jo pakatun sisällön peräkkäisen koodauksen menetysOn kuitenkin vaikea kuulla eroja alkuperäiseen iOS:n 256 kbps:n bittinopeudella jopa useilla peräkkäisillä koodauksilla; yhdellä koodauksella, esimerkiksi MP3 320 kbps - AAC 256 kbps, häviöt voidaan jättää huomiotta.
Kuten muutkin Bluetooth-koodekit, kaikki musiikki ensin purkaa ja sitten koodaa koodekin avulla. Kun kuuntelet musiikkia AAC-muodossa, käyttöjärjestelmä purkaa sen ensin ja koodaa sen sitten uudelleen AAC-muotoon lähetettäväksi Bluetoothin kautta. Tämä on tarpeen useiden äänivirtojen, kuten musiikin ja uusien viestien ilmoitusten, sekoittamiseen. iOS ei ole poikkeus. Internetistä löytyy monia väitteitä siitä, että iOS:ssä AAC-muotoista musiikkia ei transkoodaa Bluetoothin kautta lähetettäessä, mikä ei pidä paikkaansa.

MP1/2/3

MPEG-1/2 Part 3 -perheen koodekit koostuvat tunnetusta ja laajalti käytetystä MP3:sta, harvinaisemmasta MP2:sta (käytetään pääasiassa digi-TV:ssä ja radiossa) ja täysin tuntemattomasta MP1:stä.

Vanhoja MP1- ja MP2-koodekkeja ei tueta ollenkaan: en löytänyt kuulokkeita tai Bluetooth-pinoa, joka koodaa tai purkaa ne.
Jotkut kuulokkeet tukevat MP3-dekoodausta, mutta mikään nykyaikainen käyttöjärjestelmäpino ei tue koodausta. Näyttää siltä, ​​​​että kolmannen osapuolen BlueSoleil-pino Windowsille voi koodata MP3:ksi, jos muutat asetustiedostoa manuaalisesti, mutta minulle sen asentaminen johtaa BSoD:hen Windows 10:ssä. Päätelmä - koodekkia ei voi käyttää Bluetooth-äänelle.
Aiemmin, vuosina 2006-2008, ennen A2DP-standardin leviämistä laitteissa, ihmiset kuuntelivat MP3-musiikkia Nokia BH-501 -kuulokkeilla MSI BluePlayer -ohjelman kautta, joka oli saatavilla Symbian- ja Windows Mobile -järjestelmissä. Tuolloin älypuhelimien käyttöjärjestelmäarkkitehtuuri mahdollisti pääsyn moniin matalan tason toimintoihin, ja Windows Mobilessa oli jopa mahdollista asentaa kolmannen osapuolen Bluetooth-pinoja.

MP3-koodekin viimeinen patentti on vanhentunut, koodekin käyttö ei vaadi lisenssimaksuja 23 lähtien.

Jos mitataan edellä mainituissa viitteissä mainittu vanhin patentti, niin MP3-teknologia tuli patentoimattomaksi Yhdysvalloissa 16, kun Technicolorin hallussa oleva ja hallinnoima US-patentti 2017 6,009,399 XNUMX raukesi.

Lähde: www.iis.fraunhofer.de/en/ff/amm/prod/audiocodec/audiocodecs/mp3.html

Näytteenottotaajuus
Bittinopeus
Koodauksen tuki
Dekoodauksen tuki

16-48 kHz
8-320 kbps
Ei tueta missään
Jotkut äänilaitteet (laitteisto)

LDAC

Uusi ja aktiivisesti mainostettu "Hi-Res"-koodekki Sonylta, joka tukee jopa 96 kHz:n ja 24-bitin näytteenottotaajuuksia ja jopa 990 kbps:n bittinopeutta. Sitä mainostetaan audiofiilisenä koodekkina, joka korvaa olemassa olevat Bluetooth-koodekit. Sillä on mukautuva bittinopeuden säätö radiolähetysolosuhteiden mukaan.

LDAC-kooderi (libldac) sisältyy tavalliseen Android-pakettiin, joten koodausta tuetaan kaikissa Android-älypuhelimissa käyttöjärjestelmän versiosta 8 alkaen. Vapaasti saatavilla olevia ohjelmistodekoodeja ei ole, koodekkimääritykset eivät ole suuren yleisön saatavilla, mutta ensi silmäyksellä kooderin sisäinen rakenne on samanlainen kuin ATRAC9 - PlayStation 4:ssä ja Vitassa käytetty Sonyn koodekki: molemmat toimivat taajuusalueella, käyttävät modifioitua diskreettiä kosinimuunnosta (MDCT) ja pakkausta Huffman-algoritmin avulla.

LDAC-tukea tarjoavat lähes yksinomaan Sonyn kuulokkeet. Kyky purkaa LDAC:ta löytyy joskus muiden valmistajien kuulokkeista ja DAC:ista, mutta hyvin harvoin.

Näytteenottotaajuus
Bittinopeus
Koodauksen tuki
Dekoodauksen tuki

44.1-96 kHz
303/606/909 kbit/s (44.1 ja 88.2 kHz), 330/660/990 kbit/s (48 ja 96 kHz)
Android 8 +
Jotkut Sony-kuulokkeet ja jotkut muiden valmistajien laitteet (laitteisto)

LDAC:n markkinointi Hi-Res-koodekiksi vahingoittaa sen teknistä komponenttia: on typerää käyttää bittinopeutta ihmiskorville kuulumattomien taajuuksien lähettämiseen ja bittisyvyyden kasvattamiseen, kun taas CD-laadun (44.1/16) lähettäminen ilman häviötä ei riitä. . Onneksi koodekilla on kaksi toimintatilaa: CD-äänen siirto ja Hi-Res-äänen siirto. Ensimmäisessä tapauksessa vain 44.1 kHz/16 bittiä lähetetään ilmassa.

Koska ohjelmistoista LDAC-dekooderia ei ole vapaasti saatavilla, on mahdotonta testata koodekkia ilman lisälaitteita, jotka purkavat LDAC:n. Sen tukeman DAC:n LDAC-testin tulosten mukaan, jonka SoundGuys.comin suunnittelijat liittivät digitaalisen lähdön kautta ja tallensivat ulostuloäänen testisignaaleihin, LDAC 660 ja 990 kbps CD-laatutilassa tarjoaa signaalin kohinasuhde hieman parempi kuin aptX HD.

Ääni Bluetoothin kautta: maksimitiedot profiileista, koodekeista ja laitteista
Lähde: www.soundguys.com/ldac-ultimate-bluetooth-guide-20026

LDAC tukee myös dynaamisia bittinopeuksia vakiintuneiden profiilien ulkopuolella - 138 kbps - 990 kbps, mutta sikäli kuin voin kertoa, Android käyttää vain standardoituja profiileja 303/606/909 ja 330/660/990 kbps.

Muut koodekit

Muita A2DP-koodekkeja ei käytetä laajalti. Niiden tuki joko puuttuu lähes kokonaan tai on saatavilla vain tietyissä kuulokemalleissa ja älypuhelimissa.
A2DP:ssä standardoitua ATRAC-koodekkia ei ole koskaan käyttänyt Bluetooth-koodekkina edes Sony itse, Samsung HD-, Samsung Scalable- ja Samsung UHQ-BT-koodekeilla on hyvin rajallinen tuki lähetys- ja vastaanottolaitteilta, ja HWA LHDC on liian uusi ja tukee vain kolmea. (?) laitteet.

Codec-tuki äänilaitteille

Kaikki valmistajat eivät julkaise tarkkoja tietoja koodekeista, joita tietyt langattomat kuulokkeet, kaiuttimet, vastaanottimet tai lähettimet tukevat. Joskus käy niin, että tietyn koodekin tuki on vain lähetystä, mutta ei vastaanottoa (koskee yhdistettyjä lähettimiä-vastaanottimia), vaikka valmistaja yksinkertaisesti ilmoittaa "tuen" ilman huomautuksia (oletan, että joidenkin lähettimien ja dekooderien erillinen lisensointi koodekit ovat syyllisiä tähän ). Halvimmista laitteista et välttämättä löydä ilmoitettua aptX-tukea ollenkaan.

Valitettavasti useimpien käyttöjärjestelmien käyttöliittymät eivät näytä missään käytettyä koodekkia. Tietoja tästä on saatavilla vain Androidissa, versiosta 8 alkaen, ja macOS:ssä. Kuitenkin myös näissä käyttöjärjestelmissä näytetään vain ne koodekit, joita sekä puhelin/tietokone että kuulokkeet tukevat.

Kuinka voit selvittää, mitä koodekkeja laitteesi tukee? Tallenna ja analysoi liikennekaappaus A2DP-neuvotteluparametreilla!
Tämä voidaan tehdä Linuxissa, macOS:ssä ja Androidissa. Linuxissa voit käyttää Wiresharkia tai hcidumpia, macOS:ssä Bluetooth Exploreria ja Androidissa tavallista Bluetooth HCI dump -tallennustoimintoa, joka on saatavilla kehittäjätyökaluissa. Saat btsnoop-muodossa dump-tiedoston, joka voidaan ladata Wireshark-analysaattoriin.
Kiinnitä huomiota: oikea dump saadaan vain yhdistämällä puhelimesta/tietokoneesta kuulokkeisiin/kaiuttimiin (riippumatta siitä, kuinka hauskalta se kuulostaa)! Kuulokkeet voivat muodostaa itsenäisesti yhteyden puhelimeen, jolloin ne pyytävät puhelimelta koodekkiluettelon, eivät päinvastoin. Varmistaaksesi, että oikea dump tallennetaan, irrota ensin laitepari ja yhdistä sitten puhelimesi kuulokkeisiin samalla, kun tallennat vedos.

Käytä seuraavaa näyttösuodatinta suodattaaksesi epäolennaisen liikenteen:

btavdtp.signal_id

Tämän seurauksena sinun pitäisi nähdä jotain tämän kaltaista:
Ääni Bluetoothin kautta: maksimitiedot profiileista, koodekeista ja laitteista

Voit napsauttaa kutakin GetCapabilities-komennon kohdetta nähdäksesi koodekin yksityiskohtaiset ominaisuudet.
Ääni Bluetoothin kautta: maksimitiedot profiileista, koodekeista ja laitteista

Wireshark ei tunne kaikkia koodekkitunnisteita, joten joidenkin koodekkien salaus on purettava manuaalisesti katsomalla alla olevaa tunnistetaulukkoa:

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

Jotta kaatopaikkoja ei analysoida manuaalisesti, tein palvelun, joka analysoi kaiken automaattisesti: btcodecs.valdikss.org.ru

Kodekkien vertailu. Kumpi koodekki on parempi?

Jokaisella koodekilla on omat etunsa ja haittansa.
aptX ja aptX HD käyttävät kovakoodattuja profiileja, joita ei voi muuttaa muuttamatta kooderia ja dekooderia. Puhelimen valmistaja tai kuulokkeiden valmistaja eivät voi muuttaa bittinopeutta tai aptX-koodaustekijöitä. Pakkauksenhallinnan omistaja Qualcomm tarjoaa viitekooderin kirjaston muodossa. Nämä tosiasiat ovat aptX:n vahvuus - tiedät etukäteen, minkä laadun äänen saat ilman mitään "mutta".

SBC:llä sitä vastoin on monia konfiguroitavia parametreja, dynaaminen bittinopeus (enkooderi voi pienentää bitpoolin parametria, jos radioaallot ovat kiireisiä), eikä siinä ole kovakoodattuja profiileja, vain suositeltuja "keskilaatuisia" ja "korkeita" lisätty A2DP-spesifikaatioon vuonna 2003. "Korkea laatu" ei ole enää niin korkea nykystandardien mukaan, ja useimmat Bluetooth-pinot eivät salli sinun käyttää parametreja paremmin kuin "korkealaatuinen" profiili, vaikka tälle ei ole teknisiä rajoituksia.
Bluetooth SIG:llä ei ole referenssi-SBC-kooderia kirjastona, vaan valmistajat toteuttavat sen itse.
Nämä ovat SBC:n heikkouksia - koskaan ei ole etukäteen selvää, mitä äänenlaatua tietystä laitteesta odottaa. SBC voi tuottaa sekä heikkoa että erittäin korkealaatuista ääntä, mutta jälkimmäistä ei voida saavuttaa poistamatta käytöstä tai ohittamatta Bluetooth-pinojen keinotekoisia rajoituksia.

Tilanne AAC:n kanssa on epäselvä: toisaalta teoreettisesti koodekin pitäisi tuottaa laatua, joka ei eroa alkuperäisestä, mutta käytännössä tätä ei ole vahvistettu SoundGuys-laboratorion eri Android-laitteilla tehtyjen testien perusteella. Todennäköisimmin vika on heikkolaatuisissa laitteiston äänikoodereissa, jotka on sisäänrakennettu useisiin puhelimen piirisarjoihin. On järkevää käyttää AAC:ta vain Apple-laitteissa ja Androidissa rajoittaa se aptX:ään ja LDAC:iin.

Vaihtoehtoisia koodekkeja tukeva laitteisto on yleensä laadukkaampaa, koska erittäin halpojen ja huonolaatuisten laitteiden kohdalla ei ole järkevää maksaa lisenssimaksuja näiden koodekkien käytöstä. Testeissäni SBC kuulostaa erittäin hyvältä laadukkailla laitteilla.

Tein verkkopalvelun, joka koodaa äänen SBC:ksi, aptX:ksi ja aptX HD:ksi reaaliajassa, suoraan selaimessa. Sen avulla voit testata näitä äänikoodekkeja lähettämättä ääntä Bluetoothin kautta, millä tahansa langallisilla kuulokkeilla, kaiuttimilla ja suosikkimusiikkiasi, ja myös muuttaa koodausparametreja suoraan ääntä toistaessasi:
btcodecs.valdikss.org.ru/sbc-encoder
Palvelu käyttää BlueZ-projektin SBC-koodauskirjastoja ja ffmpeg:n libopenaptx-kirjastoja, jotka on käännetty WebAssemblyksi ja JavaScriptiksi C:stä emscriptenin kautta toimimaan selaimessa. Kukapa voisi haaveilla tällaisesta tulevaisuudesta!

Näyttää siltä, ​​miltä se näyttää:

Huomaa, kuinka kohinataso muuttuu 20 kHz:n jälkeen eri koodekeilla. Alkuperäinen MP3-tiedosto ei sisällä yli 20 kHz:n taajuuksia.

Kokeile vaihtaa koodekkia ja katso, kuuletko eron alkuperäisen SBC 53 Joint Stereon (tavallinen ja yleisin profiili) ja aptX/aptX HD:n välillä.

Kuulen eron koodekkien välillä kuulokkeissa!

Ihmiset, jotka eivät kuule koodekkien eroa verkkopalvelun kautta testattaessa, väittävät kuulevansa sen kuunnellessaan musiikkia langattomilla kuulokkeilla. Valitettavasti tämä ei ole vitsi tai plaseboefekti: ero on todella kuultavissa, mutta se ei johdu eroista koodekit.

Suurin osa langattomissa vastaanottimissa käytetyistä Bluetooth-äänipiirisarjoista on varustettu digitaalisella signaaliprosessorilla (DSP), joka toteuttaa taajuuskorjaimen, kompanderin, stereolaajentimen ja muita asioita, jotka on suunniteltu parantamaan (tai muuttamaan) ääntä. Bluetooth-laitteiden valmistajat voivat määrittää DSP:n jokaiselle koodekille erikseen, ja vaihtaessaan koodekkien välillä kuuntelija luulee kuulevansa eron koodekkien toiminnassa, vaikka todellisuudessa hän kuuntelee erilaisia ​​DSP-asetuksia.

Ääni Bluetoothin kautta: maksimitiedot profiileista, koodekeista ja laitteista
DSP Kalimba äänenkäsittelyputki CSR/Qualcommin valmistamilla siruilla

Ääni Bluetoothin kautta: maksimitiedot profiileista, koodekeista ja laitteista
Aktivoi eri DSP-toiminnot jokaiselle koodekille ja ulostulolle erikseen

Joissakin premium-laitteissa on ohjelmisto, jonka avulla voit mukauttaa DSP-asetuksia, mutta useimmat halvemmat kuulokkeet eivät, eivätkä käyttäjät voi sammuttaa äänen jälkikäsittelyä manuaalisesti.

Laitteiden toiminnalliset ominaisuudet

A2DP-standardin moderni versio on "absoluuttinen äänenvoimakkuuden säätö" -toiminto — laitteen äänenvoimakkuuden säätö käyttämällä AVRCP-protokollan erityiskomentoja, jotka säätelevät lähtöasteen vahvistusta sen sijaan, että he vähentäisivät ohjelmallisesti äänivirran äänenvoimakkuutta. Jos muutat kuulokkeiden äänenvoimakkuutta, muutos ei synkronoidu puhelimen äänenvoimakkuuden kanssa, kuulokkeet tai puhelimesi eivät tue tätä ominaisuutta. Tässä tapauksessa on järkevää kuunnella musiikkia aina suurimmalla äänenvoimakkuudella puhelimessa säätämällä todellinen äänenvoimakkuus kuulokepainikkeilla - tässä tapauksessa signaali-kohinasuhde on parempi ja äänenlaatu täytyy olla edellä.
Todellisuudessa on surullisia tilanteita. SBC:lle tarkoitetuissa RealForce OverDrive D1 -kuulokkeissani on kytketty päälle voimakas compander, ja äänenvoimakkuuden lisääminen lisää hiljaisten äänten tasoa, kun taas kovien äänien äänenvoimakkuus ei muutu (signaali pakataan). Tästä johtuen sinun on asetettava tietokoneen äänenvoimakkuus noin puoleen, jolloin pakkausvaikutusta ei käytännössä ole.
Havaintojeni mukaan kaikki lisäkoodekeilla varustetut kuulokkeet tukevat absoluuttista äänenvoimakkuuden säätötoimintoa, ilmeisesti tämä on yksi koodekkisertifioinnin vaatimuksista.

Jotkut kuulokkeet tukevat yhdistää kaksi laitetta samanaikaisesti. Näin voit esimerkiksi kuunnella musiikkia tietokoneeltasi ja vastaanottaa puheluita puhelimestasi. Sinun tulee kuitenkin olla tietoinen siitä, että tässä tilassa vaihtoehtoiset koodekit ovat poissa käytöstä ja vain SBC:tä käytetään.

AVDTP 1.3 Delay Reporting -toiminto sallii kuulokkeiden välittää viiveen lähetyslaitteeseen, jossa ääni todella toistetaan. Tämän avulla voit säätää äänen synkronointia videon kanssa katsellessasi videotiedostoja: jos radiolähetyksessä on ongelmia, ääni ei jää jälkeen videosta, vaan päinvastoin, videosoitin hidastaa videota, kunnes ääni ja kuva synkronoidaan uudelleen.
Toimintoa tukevat monet kuulokkeet, Android 9+ ja Linux, jossa on PulseAudio 12.0+. En ole tietoinen tämän ominaisuuden tuesta muilla alustoilla.

Kaksisuuntainen viestintä Bluetoothin kautta. Äänen siirto.

Puheensiirtoon Bluetoothissa käytetään synkronista yhteysorientoitua (SCO) - synkronista lähetystä yhteyden alustavan neuvottelun kanssa. Tila mahdollistaa äänen ja äänen lähettämisen tiukasti järjestyksessä, symmetrisellä lähetys- ja vastaanottonopeudella odottamatta vahvistusta lähetyksestä ja pakettien uudelleen lähettämisestä. Tämä vähentää kokonaisviivettä äänen lähetyksessä radiokanavalla, mutta asettaa vakavia rajoituksia lähetettävän datan määrälle aikayksikköä kohti ja vaikuttaa negatiivisesti laatuun.
Kun tätä tilaa käytetään, sekä ääni että ääni lähetetään samalla laadulla.
Valitettavasti vuodesta 2019 lähtien äänenlaatu Bluetoothin kautta on edelleen heikko, ja on epäselvää, miksi Bluetooth SIG ei tee asialle mitään.

CVSD

Perus-CVSD-puhekoodekki standardoitiin vuonna 2002, ja sitä tukevat kaikki kaksisuuntaiset Bluetooth-viestintälaitteet. Se tarjoaa äänensiirron 8 kHz:n näytteenottotaajuudella, mikä vastaa tavanomaisen langallisen puhelimen laatua.

Esimerkki tallenteesta tässä koodekissa.

mSBC

Ylimääräinen mSBC-koodekki standardisoitiin vuonna 2009, ja vuonna 2010 ilmestyi jo puheensiirtoon käyttäviä siruja. mSBC:tä tukevat laajasti useat laitteet.
Tämä ei ole itsenäinen koodekki, vaan tavallinen SBC A2DP-standardista, kiinteällä koodausprofiililla: 16 kHz, mono, bitpool 26.

Esimerkki tallenteesta tässä koodekissa.

Ei loistava, mutta paljon parempi kuin CVSD, mutta on silti ärsyttävää käyttää verkkoviestintään, varsinkin kun käytät kuulokkeita kommunikointiin pelin sisällä – pelin ääni lähetetään myös 16 kHz:n näytteenottotaajuudella.

FastStreamCSR-yritys päätti kehittää ideaa SBC:n uudelleenkäytöstä. Kiertääkseen SCO-protokollan rajoitukset ja käyttääkseen suurempia bittinopeuksia CSR valitsi toisen tien – he ottivat käyttöön kaksisuuntaisen SBC-äänen tuen A2DP:n yksisuuntaiseen äänensiirtostandardiin, standardoidut koodausprofiilit ja kutsuivat sitä "FastStream".

FastStream lähettää stereoääntä taajuudella 44.1 tai 48 kHz bittinopeudella 212 kbps kaiuttimiin, ja monoa, 16 kHz, bittinopeudella 72 kbps käytetään välittämään ääntä mikrofonista (hieman parempi kuin mSBC). Tällaiset parametrit sopivat paljon paremmin verkkopeleissä tapahtuvaan viestintään - pelin ääni ja keskustelukumppanit ovat korkealaatuisia.

Esimerkki tallenteesta tässä koodekissa (+ ääni mikrofonista, sama kuin mSBC).

Yritys keksi mielenkiintoisen kainalosauvan, mutta koska se on ristiriidassa A2DP-standardin kanssa, sitä tuetaan vain joissakin yrityksen lähettimissä (jotka toimivat USB-äänikorttina, eivät Bluetooth-laitteena), mutta se ei saada tukea Bluetooth-pinoissa, vaikka FastStream-tuella varustettujen kuulokkeiden määrä ei ole niin pieni.

Tällä hetkellä FastStream-tuki käyttöjärjestelmässä on vain korjaustiedostona Linux PulseAudiolle kehittäjä Pali Rohárilta, joka ei ole mukana ohjelman päähaarassa.

aptX Matala viive

Suureksi yllätykseksesi aptX Low Latency tukee myös kaksisuuntaista ääntä toteuttaen saman periaatteen kuin FastStream.
Pakkauksenhallinnan tätä ominaisuutta ei voi käyttää missään - Low Latency -dekoodausta ei tueta missään käyttöjärjestelmässä tai missään tuntemassani Bluetooth-pinossa.

Bluetooth 5, Classic ja Low Energy

Bluetooth-spesifikaatioiden ja -versioiden ympärillä on ollut paljon sekaannusta, koska saman tuotemerkin alla on kaksi yhteensopimatonta standardia, joita molempia käytetään laajalti eri tarkoituksiin.

On olemassa kaksi erilaista, yhteensopimatonta Bluetooth-protokollaa: Bluetooth Classic ja Bluetooth Low Energy (LE, joka tunnetaan myös nimellä Bluetooth Smart). On myös kolmas protokolla, Bluetooth High Speed, mutta se ei ole laajalle levinnyt eikä sitä käytetä kotitalouslaitteissa.

Bluetooth 4.0:sta alkaen spesifikaatiomuutokset koskivat pääasiassa Bluetooth Low Energyä, ja Classic-versio sai vain pieniä parannuksia.

Luettelo muutoksista Bluetooth 4.2:n ja Bluetooth 5:n välillä:

9 MUUTOKSET v4.2:sta 5.0:aan

9.1 UUDET OMINAISUUDET

Bluetooth Core Specification 5.0 -julkaisu sisältää useita uusia ominaisuuksia. Tärkeimmät parannuskohteet ovat:
• Slot Availability Mask (SAM)
• 2 Msym/s PHY LE:lle
•LE Pitkä kantama
• High Duty Cycle Ei-liitettävissä oleva mainonta
• LE-mainoslaajennukset
• LE-kanavan valintaalgoritmi #2
9.1.1 CSA5:ssä lisätyt ominaisuudet - Integroitu v5.0:aan
•Suurimpi lähtöteho

Lähde: www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=421043 (sivu 291)

Vain yksi muutos vaikutti Classic-versioon Bluetooth 5 -spesifikaatioiden puitteissa: ne lisäsivät tuen Slot Availability Mask (SAM) -teknologialle, joka on suunniteltu parantamaan radiolähetysten erottelua. Kaikki muut muutokset vaikuttavat vain Bluetooth LE:hen (ja myös korkeampaan lähtötehoon).

kaikki Äänilaitteet käyttävät vain Bluetooth Classicia. Kuulokkeiden ja kaiuttimien yhdistäminen Bluetooth Low Energyn kautta on mahdotonta: äänen lähettämiseen LE:n avulla ei ole standardia. A2DP-standardi, jota käytetään korkealaatuisen äänen lähettämiseen, toimii vain Bluetooth Classicin kautta, eikä LE:ssä ole analogia.

Johtopäätös - Bluetooth 5 -äänilaitteiden ostaminen vain protokollan uuden version vuoksi on turhaa. Bluetooth 4.0/4.1/4.2 toimii äänensiirron yhteydessä täsmälleen samalla tavalla.
Jos uusien kuulokkeiden tiedotteessa mainitaan kaksinkertainen toiminta-alue ja pienentynyt virrankulutus Bluetooth 5:n ansiosta, sinun tulee tietää, että ne joko eivät ymmärrä sitä itse tai johtavat sinua harhaan. Ei ihme, sillä jopa Bluetooth-sirujen valmistajat ovat ilmoituksissaan ymmällään standardin uuden version eroista, ja jotkut Bluetooth 5 -sirut tukevat viidettä versiota vain LE:lle ja käyttävät 4.2:ta Classicille.

Äänen lähetyksen viive

Äänen viiveen (lag) määrä riippuu monista tekijöistä: puskurin koosta äänipinossa, Bluetooth-pinossa ja itse langattomassa toistolaitteessa sekä koodekin algoritmisesta viiveestä.

Yksinkertaisten koodekkien, kuten SBC, aptX ja aptX HD, latenssi on hyvin pieni, 3-6 ms, mikä voidaan jättää huomiotta, mutta monimutkaiset koodekit, kuten AAC ja LDAC, voivat aiheuttaa huomattavan viiveen. AAC-algoritminen latenssi 44.1 kHz:lle on 60 ms. LDAC - noin 30 ms (perustuu karkeaan lähdekoodin analyysiin. Voin olla väärässä, mutta en paljon.)

Tuloksena oleva latenssi riippuu suuresti toistolaitteesta, sen piirisarjasta ja puskurista. Testien aikana sain 150-250 ms:n hajautuksen eri laitteilla (SBC-koodekilla). Jos oletetaan, että lisäkoodekkeja aptX, AAC ja LDAC tukevat laitteet käyttävät korkealaatuisia komponentteja ja pientä puskurikokoa, saadaan seuraavat tyypilliset latenssit:

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

Muistutan teitä: aptX Low Latency ei ole tuettu käyttöjärjestelmissä, minkä vuoksi pienempää latenssia voi saada vain lähetin+vastaanotin tai lähetin+kuulokkeet/kaiutin yhdistelmällä, ja kaikkien laitteiden on tuettava tätä koodekkia.

Bluetooth-laite-, sertifiointi- ja logoongelmat

Kuinka erottaa korkealaatuinen äänilaite halvasta käsityöstä? Ulkonäöltään ennen kaikkea!

Halvoille kiinalaisille kuulokkeille, kaiuttimille ja vastaanottimille:

  1. Pakkauksesta ja laitteesta puuttuu sana "Bluetooth", useimmiten käytetään "Wireless" ja "BT"
  2. Bluetooth-logo puuttuu Ääni Bluetoothin kautta: maksimitiedot profiileista, koodekeista ja laitteista laatikossa tai laitteessa
  3. Ei sinistä vilkkuvaa LEDiä

Näiden elementtien puuttuminen tarkoittaa, että laitetta ei ole sertifioitu, mikä tarkoittaa, että se on mahdollisesti heikkolaatuinen ja ongelmallinen. Esimerkiksi Bluedio-kuulokkeet eivät ole Bluetooth-sertifioituja eivätkä täysin täytä A2DP-spesifikaatioita. He eivät olisi läpäisseet sertifiointia.

Tarkastellaan useita laitteita ja laatikoita niistä:
Ääni Bluetoothin kautta: maksimitiedot profiileista, koodekeista ja laitteista

Ääni Bluetoothin kautta: maksimitiedot profiileista, koodekeista ja laitteista

Ääni Bluetoothin kautta: maksimitiedot profiileista, koodekeista ja laitteista

Nämä ovat kaikki sertifioimattomia laitteita. Ohjeissa voi olla logo ja Bluetooth-tekniikan nimi, mutta tärkeintä on, että ne ovat pakkauksessa ja/tai itse laitteessa.

Jos kuulokkeet tai kaiutin sanoo "Ze bluetooth dewise on yhdistetty onnistuneesti", tämä ei myöskään tarkoita niiden laatua:

Johtopäätös

Voiko Bluetooth korvata täysin langalliset kuulokkeet? Se on kykenevä, mutta huonon puhelun laadun, lisääntyneen äänen viiveen, joka voi olla ärsyttävää peleissä, ja lukuisten patentoitujen koodekkien kustannuksella, jotka vaativat lisenssimaksuja ja lisäävät sekä älypuhelimien että kuulokkeiden lopullisia kustannuksia.

Vaihtoehtoisten koodekkien markkinointi on erittäin vahvaa: aptX ja LDAC esitetään kauan odotetun korvaajana "vanhentuneelle ja huonolle" SBC:lle, joka ei ole läheskään niin huono kuin ihmiset luulevat.

Kuten kävi ilmi, Bluetooth-pinojen keinotekoiset rajoitukset SBC-bittinopeudella voidaan ohittaa, jotta SBC ei ole huonompi kuin aptX HD. Otin aloitteen omiin käsiini ja tein korjaustiedoston LineageOS:n laiteohjelmistolle: Muokkaamme Bluetooth-pinoa parantaaksemme ääntä kuulokkeissa ilman AAC-, aptX- ja LDAC-koodekkeja

Lisää tietoa löytyy nettisivuilta Ääni kaverit и SoundExpert.

bonus: SBC-viitekooderi, A2DP-bittivirtatiedot ja testitiedostot. Tämä tiedosto julkaistiin aiemmin julkisesti Bluetooth-verkkosivustolla, mutta nyt se on vain Bluetooth SIG:n jäsenten saatavilla.

Lähde: will.com

Lisää kommentti