Oudio via Bluetooth: soveel detail as moontlik oor profiele, kodeks en toestelle

Oudio via Bluetooth: soveel detail as moontlik oor profiele, kodeks en toestelle

As gevolg van die massaproduksie van slimfone sonder 'n 3.5 mm-klankaansluiting, het draadlose Bluetooth-oorfone vir baie die hoofmanier geword om na musiek te luister en in koptelefoonmodus te kommunikeer.
Vervaardigers van draadlose toestelle skryf nie altyd gedetailleerde produkspesifikasies nie, en artikels oor Bluetooth-klank op die internet is teenstrydig, soms verkeerd, dek nie al die kenmerke nie, en kopieer dikwels dieselfde inligting wat nie waar is nie.
Kom ons probeer om die protokol te verstaan, die vermoëns van Bluetooth OS-stapels, oorfone en luidsprekers, Bluetooth-kodeks vir musiek en spraak, vind uit wat die kwaliteit van die oorgedrade klank en vertraging beïnvloed, leer hoe om inligting oor ondersteunde kodeks en ander te versamel en te dekodeer toestel vermoëns.

TL; DR:

  • SBC is 'n normale kodek
  • Oorfone het hul eie gelykmaker en naverwerking vir elke kodek afsonderlik
  • aptX is nie so goed soos geadverteer nie
  • LDAC bemark snert
  • Talk-oudiogehalte is steeds swak
  • Jy kan oudio-enkodeerders in C in die blaaier insluit deur saam te stel na WebAssembly via emscripten, en hulle sal nie te veel vertraag nie.

Musiek via Bluetooth

Die funksionele komponent van Bluetooth word bepaal deur profiele - spesifikasies van spesifieke funksies. Musiekoordrag in Bluetooth word uitgevoer met behulp van die A2DP hoë-gehalte eenrigting-oudio-oordragprofiel. Die A2DP-standaard is in 2003 aanvaar en het sedertdien nie dramaties verander nie.
Die profiel standaardiseer 1 verpligte kodek van lae berekeningskompleksiteit SBC, wat spesifiek vir Bluetooth geskep is, en 3 bykomendes. Dit word ook toegelaat om ongedokumenteerde codecs van jou eie implementering te gebruik.

Vanaf Junie 2019 is ons in xkcd-strokiesprent met 14 A2DP-kodeks:

  • SBC ← gestandaardiseer in A2DP, ondersteun deur alle toestelle
  • MPEG-1/2 Layer 1/2/3 ← gestandaardiseer in A2DP: bekend MP3gebruik in digitale TV MP2, en onbekend MP1
  • MPEG-2/4 AAC ← gestandaardiseer in A2DP
  • ATTRAC ← ou kodek van Sony, gestandaardiseer in A2DP
  • LDAC ← nuwe kodek van Sony
  • APTX ← kodek vanaf 1988
  • aptXHD ← dieselfde as aptX maar met verskillende enkoderingsopsies
  • aptX lae latensie ← heeltemal ander kodek, geen sagteware-implementering nie
  • aptX Aanpasbaar ← nog 'n kodek van Qualcomm
  • vinnige stroom ← pseudo-kodek, tweerigtingwysiging van SBC
  • HWA LHDC ← nuwe kodek van Huawei
  • Samsung HD ← ondersteun deur 2 toestelle
  • Samsung skaalbaar ← ondersteun deur 2 toestelle
  • Samsung UHQ-BT ← ondersteun deur 3 toestelle

Hoekom het jy hoegenaamd codecs nodig, vra jy, wanneer Bluetooth EDR het, wat jou toelaat om data teen spoed van 2 en 3 Mbps oor te dra, en 16 Mbps is genoeg vir ongecomprimeerde twee-kanaal 1.4-bis PCM?

Data-oordrag via Bluetooth

Daar is twee tipes data-oordrag in Bluetooth: Asynchronous Connection Less (ACL) vir asynchrone oordrag sonder om 'n verbinding te vestig, en Sinchronous Connection Oriented (SCO), vir sinchroniese oordrag met vooraf onderhandelde verbinding.
Transmissie word uitgevoer met behulp van 'n tydverdelingskema en transmissiekanaalseleksie vir elke pakkie afsonderlik (Frequency-Hop / Time-Division-Duplex, FH / TDD), waarvoor tyd in 625 mikrosekonde-intervalle verdeel word, gleuwe (gleuf) genoem. Een van die toestelle stuur in ewe gleufgetalle, die ander in onewe. Die oorgedrade pakkie kan 1, 3 of 5 gleuwe beset, afhangende van die grootte van die data en die tipe transmissiestel, in hierdie geval word die oordrag deur een toestel in ewe en onewe gleuwe uitgevoer tot aan die einde van die oordrag. In totaal kan tot 1600 pakkies per sekonde ontvang en gestuur word, as elkeen van hulle 1 gleuf beslaan, en beide toestelle versend en ontvang iets sonder om te stop.

2 en 3 Mbit/s vir EDR, wat in aankondigings en op die Bluetooth-webwerf gevind kan word, is die maksimum kanaaloordragtempo van alle data in totaal (insluitend die tegniese opskrifte van alle protokolle waarin data ingekapsuleer moet word), in twee rigtings gelyktydig. Die werklike data-oordragtempo sal baie verskil.

Om musiek oor te dra, word 'n asynchrone metode gebruik, wat byna altyd pakkies soos 2-DH5 en 3-DH5 gebruik, wat die maksimum hoeveelheid data in die EDR-modus van onderskeidelik 2 Mbps en 3 Mbps dra, en 5 tydverdelinggleuwe van die lug.

Skematiese voorstelling van transmissie met 5 gleuwe deur een toestel en 1 gleuf deur 'n ander (DH5/DH1):
Oudio via Bluetooth: soveel detail as moontlik oor profiele, kodeks en toestelle

As gevolg van die beginsel van tydverdeling van die lug, word ons gedwing om 'n tydgleuf van 625 mikrosekondes te wag nadat ons 'n pakkie versend het as die tweede toestel niks aan ons uitstuur of 'n klein pakkie uitsaai nie, en meer tyd as die tweede toestel uitsaai groot pakkies. As meer as een toestel aan die foon gekoppel is (byvoorbeeld oorfone, horlosie en fiksheidsarmband), dan word die oordragtyd tussen almal verdeel.

Die behoefte om oudio in spesiale vervoerprotokolle L2CAP en AVDTP in te kapsuleer, neem 16 grepe van die moontlike maksimum hoeveelheid oorgedra oudio-loonvrag.

Pakket tipe
Aantal gleuwe
Maks. aantal grepe in 'n pakkie
Maks. grepe van A2DP loonvrag
Maks. A2DP loonvrag bitsnelheid

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 en 1429 kbps is beslis nie genoeg om ongecomprimeerde oudio in werklike toestande oor te dra nie, met 'n raserige 2.4 GHz-band en die behoefte om diensdata oor te dra. EDR 3 Mbps is veeleisend op transmissiekrag en geraas in die lug, daarom, selfs in 3-DH5-modus, is gemaklike PCM-oordrag onmoontlik, daar sal altyd korttermyn-onderbrekings wees, en alles sal slegs op 'n afstand van 'n paar meter.
In die praktyk is selfs 'n 990 kbit/s oudiostroom (LDAC 990 kbit/s) moeilik om oor te dra.

Kom ons keer terug na codecs.

SBC

'n Kodek word benodig vir alle toestelle wat die A2DP-standaard ondersteun. Die beste en slegste codec op dieselfde tyd.

Bemonsteringsfrekwensie
Bietjie diepte
Bitsnelheid
Enkodering ondersteuning
Dekodeer ondersteuning

16, 32, 44.1, 48 kHz
16 bietjie
10-1500 kbps
Alle toestelle
Alle toestelle

SBC is 'n eenvoudige en berekeningsvinnige kodek, met 'n primitiewe psigo-akoestiese model (slegs maskering van stil klanke word toegepas), met behulp van adaptive pulse code modulation (APCM).
Die A2DP-spesifikasie beveel twee profiele aan vir gebruik: Middelgehalte en hoë gehalte.
Oudio via Bluetooth: soveel detail as moontlik oor profiele, kodeks en toestelle

Die kodek het baie instellings wat jou toelaat om die algoritmiese vertraging, die aantal monsters in 'n blok, die bisverspreidingsalgoritme te beheer, maar dieselfde parameters wat in die spesifikasie aanbeveel word, word byna universeel gebruik: Joint Stereo, 8 frekwensiebande, 16 blokke in 'n oudio raam, Loudness bit verspreiding metode.
SBC ondersteun dinamiese verandering van die Bitpool-parameter, wat die bitsnelheid direk beïnvloed. As die radio verstop is, pakkies verlore is, of die toestelle ver weg is, kan die klankbron die Bitpool verminder totdat die skakel na normaal terugkeer.

Die meeste koptelefoonvervaardigers stel die maksimum Bitpool-waarde op 53, wat die bitsnelheid tot 328 kbps beperk wanneer die aanbevole profiel gebruik word.
Selfs al het die koptelefoonvervaardiger die maksimum Bitpool-waarde bo 53 gestel (sulke modelle word byvoorbeeld gevind: Beats Solo³, JBL Everest Elite 750NC, Apple AirPods, gebeur ook op sommige ontvangers en motorhoofeenhede), dan sal die meeste bedryfstelsels nie laat jou toe om verhoogde bitrate te gebruik as gevolg van die stel interne waarde limiet in Bluetooth stapels.
Daarbenewens stel sommige vervaardigers 'n lae maksimum Bitpool-waarde vir sommige toestelle. Byvoorbeeld, vir Bluedio T is dit 39, vir Samsung Gear IconX is dit 37, wat swak klankgehalte gee.

Kunsmatige beperkings aan die kant van Bluetooth-stapelontwikkelaars het waarskynlik ontstaan ​​as gevolg van die onverenigbaarheid van sommige toestelle met groot Bitpool-waardes of atipiese profiele, selfs al het hulle ondersteuning daarvoor gerapporteer, en onvoldoende sertifiseringstoetse. Dit was makliker vir die skrywers van die Bluetooth-stapels om hulself daartoe te beperk om ooreen te stem oor die aanbevole profiel, en nie om basisse van verkeerde toestelle te skep nie (hoewel hulle dit nou doen vir ander foutiewe werkende funksies).

Die SBC ken kwantiseringsbisse dinamies toe aan die frekwensiebande op 'n onder-na-bo-wyse met verskillende gewigte. As die hele bitsnelheid vir die onderste en middelste frekwensies gebruik is, sal die boonste frekwensies "afgesny" word (daar sal eerder stilte wees).

Voorbeeld SBC 328 kbps. Bo - die oorspronklike, onder - SBC, wissel van tyd tot tyd tussen snitte. Die klank in die videolêer gebruik die FLAC-verlieslose kompressiekodek. Die gebruik van FLAC in 'n mp4-houer is nie amptelik gestandaardiseer nie, so dit is nie gewaarborg dat jou blaaier dit sal speel nie, maar dit behoort in die nuutste rekenaarweergawes van Chrome en Firefox te werk. As jy nie klank het nie, kan jy die lêer aflaai en dit in 'n volwaardige videospeler oopmaak.
ZZ Top - Skerp geklede man

Die spektrogram wys die oomblik van oorskakeling: SBC sny periodiek stil klanke bo 17.5 kHz, en ken glad nie bisse toe vir die band bo 20 kHz nie. Die volledige spektrogram is beskikbaar deur te klik (1.7 MB).
Oudio via Bluetooth: soveel detail as moontlik oor profiele, kodeks en toestelle

Ek kan geen verskil tussen oorspronklike en SBC op hierdie snit hoor nie.

Kom ons neem iets nuwer en simuleer die klank wat verkry sou word deur Samsung Gear IconX-oorfone met Bitpool 37 (bo - oorspronklike sein, onder - SBC 239 kbps, oudio in FLAC).
Mindless Self Indulgence - Getuie

Ek hoor geknetter, minder stereo effek, en 'n onaangename "gekletter" van koor in die hoë frekwensies.

Alhoewel SBC 'n baie buigsame kodek is, kan dit ingestel word vir lae latensie, gee uitstekende klankgehalte teen hoë bitsnelheid (452+ kbps) en is dit redelik goed vir die meeste mense teen standaard hoë kwaliteit (328 kbps), as gevolg van die feit dat die A2DP-standaard stel nie vaste profiele nie (maar gee slegs aanbevelings), stapelontwikkelaars het kunsmatige beperkings op Bitpool gestel, oorgedrade klankparameters word nie in die gebruikerskoppelvlak vertoon nie, en koptelefoonvervaardigers is vry om hul eie instellings te stel en nooit die Bitpool aan te dui nie. waarde in produkspesifikasies, codec het bekend geword vir sy swak klankgehalte, hoewel dit nie 'n probleem met die codec as sodanig is nie.
Die Bitpool-parameter beïnvloed slegs die bitsnelheid direk binne een profiel. Dieselfde waarde van Bitpool 53 kan beide 'n bitsnelheid van 328 kbps gee met die aanbevole hoë kwaliteit profiel, en 1212 kbps met Dual Channel en 4 frekwensiebande, en daarom stel die skrywers van die bedryfstelsel, benewens die beperkings op Bitpool, 'n limiet en op Bitrate. Soos ek dit sien, het hierdie situasie ontstaan ​​as gevolg van 'n fout in die A2DP-standaard: dit was nodig om die bitrate te onderhandel, nie Bitpool nie.

Tabel van ondersteuning vir SBC-kenmerke in verskillende bedryfstelsels:

bedryfstelsel
Ondersteunde steekproefkoerse
Maks. Bitpool
Maks. bitsnelheid
Tipiese bitrate
Bitpool dinamiese aanpassing

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

Linux (BlueZ + PulseAudio)
16, 32, 44.1, 48 kHz
64 (vir inkomende verbinding), 53 (vir uitgaande)
Geen beperking
328 kbps
✓*

MacOS High Sierra
44.1 кГц
64, verstek 53***
onbekend
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
Geen beperking
328 kbps

* Bitpool verminder net, maar verhoog nie outomaties nie, in geval van verbeterde oordragtoestande. Om Bitpool te herstel, moet u die afspeel stop, 'n paar sekondes wag en die klank herbegin.
** Die verstekwaarde hang af van die stapelinstellings wat gespesifiseer is tydens die samestelling van die firmware. In Android 8/8.1 is die frekwensie slegs óf 44.1 kHz óf 48 kHz, afhangende van die instellings tydens samestelling, in ander weergawes word 44.1 kHz en 48 kHz gelyktydig ondersteun.
*** Die Bitpool-waarde kan verhoog word in die Bluetooth Explorer-program.

aptX en aptX HD

aptX is 'n eenvoudige en berekeningsvinnige kodek, sonder psigo-akoestiek, met behulp van aanpasbare differensiële PCM (ADPCM). Het omstreeks 1988 verskyn (datum van liassering patent gedateer Februarie 1988), voordat Bluetooth hoofsaaklik in professionele draadlose klanktoerusting gebruik is. Word tans deur Qualcomm besit, vereis lisensiëring en tantième. Vanaf 2014: $6000 1 enkelbedrag en ≈$10000 per toestel, vir groepe tot XNUMX XNUMX toestelle (bron, p. 16).
aptX en aptX HD is dieselfde kodek, met verskillende enkoderingsprofiele.

Die kodek het net een parameter - die keuse van steekproeftempo. Daar is egter 'n keuse van die aantal / modus van kanale, maar in alle toestelle wat ek ken (70+ stukke) word slegs Stereo ondersteun.

Kodek
Bemonsteringsfrekwensie
Bietjie diepte
Bitsnelheid
Enkodering ondersteuning
Dekodeer ondersteuning

APTX
16, 32, 44.1, 48 kHz
16 bietjie
128 / 256 / 352 / 384 kbps (afhangende van monstertempo)
Windows 10 (rekenaar en selfoon), macOS, Android 4.4+/7*, Blackberry OS 10
Wye verskeidenheid klanktoestelle (hardeware)

* Weergawes voor 7 vereis Bluetooth-stapelwysiging. Die kodek word slegs ondersteun as die Android-toestelvervaardiger die kodek van Qualcomm gelisensieer het (as die bedryfstelsel enkoderingsbiblioteke het).

aptX verdeel oudio in 4 frekwensiebande en kwantiseer hulle heeltyd met dieselfde aantal bisse: 8 bisse vir 0-5.5 kHz, 4 bisse vir 5.5-11 kHz, 2 bisse vir 11-16.5 kHz, 2 bisse vir 16.5-22 kHz (syfers vir 44.1 kHz monstertempo).

'n Voorbeeld van aptX-klank (bo - oorspronklike sein, onder - aptX, spektrogramme van slegs linkerkanale, klank in FLAC):

Die boonste frekwensies het 'n bietjie rooier geword, maar die verskil is nie hoorbaar nie.

As gevolg van die vaste verspreiding van kwantiseringsbisse, kan die kodek nie "die bisse oordra" na daardie frekwensies wat hulle die nodigste het nie. Anders as SBC, sal aptX nie frekwensies "sny" nie, maar sal kwantiseringsgeraas daarby voeg, wat die dinamiese omvang van die klank verminder.

Daar moet nie aanvaar word dat die gebruik van byvoorbeeld 2 bisse vir 'n band die dinamiese reeks tot 12 dB verminder nie: ADPCM laat toe om tot 96 dB van dinamiese reeks te gebruik, selfs wanneer 2 bisse kwantisering gebruik word, maar slegs met 'n sekere sein .
ADPCM stoor die verskil in numeriese voorstelling tussen die huidige en volgende lesing, in plaas daarvan om 'n absolute waarde soos in PCM te skryf. Dit verminder die vereistes vir die aantal bisse wat nodig is om dieselfde (verlieslose) of amper dieselfde (met relatief klein afrondingsfout) inligting te stoor. Faktortabelle word gebruik om afrondingsfoute te verminder.
Toe die kodek geskep is, het die skrywers die ADPCM-koëffisiënte op 'n stel musiekklanklêers bereken. Hoe nader die klanksein aan die stel musiek is waarop die tafels gebou is, hoe minder kwantiseringsfoute (geraas) skep aptX.

As gevolg hiervan sal sintetiese toetse altyd slegter resultate as musiek gee. Ek het 'n spesiale sintetiese voorbeeld gemaak waarop aptX swak resultate toon - 'n 12.4 kHz sinusgolf (bo - oorspronklike sein, onder - aptX. Klank in FLAC. Draai die volume af!):

Spektrum plot:
Oudio via Bluetooth: soveel detail as moontlik oor profiele, kodeks en toestelle

Geluide is duidelik hoorbaar.

As ons egter 'n sinusgolf met 'n kleiner amplitude genereer sodat dit stiller is, word die geluide ook stiller, wat 'n wye dinamiese reeks aandui:

Oudio via Bluetooth: soveel detail as moontlik oor profiele, kodeks en toestelle

Om die verskil tussen die oorspronklike musieksnit en die saamgeperste een te hoor, kan jy een van die seine omkeer en die snitte kanaal vir kanaal byvoeg. Hierdie benadering is oor die algemeen verkeerd en sal nie 'n gesonde resultaat gee met meer komplekse codecs nie, maar dit is baie geskik vir ADPCM spesifiek.
Verskil tussen oorspronklike en aptX
Die RMS verskil van die seine is op -37.4 dB, wat nie veel is vir sulke saamgeperste musiek nie.

aptXHD

aptX HD is nie 'n selfstandige kodek nie, dit is 'n verbeterde enkoderingsprofiel van die aptX-kodek. Die veranderinge het die aantal bisse wat vir enkodering frekwensiereekse toegeken is, beïnvloed: 10 bisse vir 0-5.5 kHz, 6 bisse vir 5.5-11 kHz, 4 bisse vir 11-16.5 kHz, 4 bisse vir 16.5-22 kHz (getalle vir 44.1). .

Kodek
Bemonsteringsfrekwensie
Bietjie diepte
Bitsnelheid
Enkodering ondersteuning
Dekodeer ondersteuning

aptXHD
16, 32, 44.1, 48 kHz
24 stukkies
192 / 384 / 529 / 576 kbps (afhangende van monstertempo)
Android 8+*
Sommige oudiotoestelle (hardeware)

* Weergawes voor 7 vereis Bluetooth-stapelwysiging. Die kodek word slegs ondersteun as die Android-toestelvervaardiger die kodek van Qualcomm gelisensieer het (as die bedryfstelsel enkoderingsbiblioteke het).

Minder algemeen as aptX: vereis blykbaar aparte lisensiëring van Qualcomm, en aparte lisensiefooie.

Kom ons herhaal die voorbeeld met 'n sinusgolf by 12.4 kHz:
Oudio via Bluetooth: soveel detail as moontlik oor profiele, kodeks en toestelle

Baie beter as met aptX, maar steeds raserig.

aptX lae latensie

Codec van Qualcomm, wat niks in gemeen het met standaard aptX en aptX HD nie, te oordeel aan die min inligting van die mense wat by die ontwikkeling daarvan betrokke is. Ontwerp vir interaktiewe oordrag van oudio met lae latensie (flieks, speletjies), waar die klankvertraging nie deur sagteware aangepas kan word nie. Daar is geen sagteware-implementerings van enkodeerders en dekodeerders bekend nie, dit word uitsluitlik deur senders, ontvangers, oorfone en luidsprekers ondersteun, maar nie deur slimfone en rekenaars nie.

Bemonsteringsfrekwensie
Bitsnelheid
Enkodering ondersteuning
Dekodeer ondersteuning

44.1 кГц
276/420 kbps
Sommige senders (hardeware)
Sommige oudiotoestelle (hardeware)

AAK

AAC, of ​​Advanced Audio Coding, is 'n rekenaar-komplekse kodek met 'n ernstige psigo-akoestiese model. Dit het wydverspreid geword vir oudio op die internet, die tweede gewildste na MP3. Vereis lisensiëring en tantième: $15000 1000 enkelbedrag (of $15 0.98 vir maatskappye met minder as 500000 werknemers) + $XNUMX vir die eerste XNUMX XNUMX toestelle (bron).
Die kodek is gestandaardiseer binne die MPEG-2- en MPEG-4-spesifikasies, en in teenstelling met algemene wanopvattings, behoort dit nie aan Apple nie.

Bemonsteringsfrekwensie
Bitsnelheid
Enkodering ondersteuning
Dekodeer ondersteuning

8 - 96 kHz
8 - 576 kbps (vir stereo), 256 - 320 kbps (tipies vir Bluetooth)
macOS, Android 7+*, iOS
Wye verskeidenheid klanktoestelle (hardeware)

* slegs op toestelle waarvan die vervaardigers tantième betaal het

iOS en macOS gebruik Apple se beste AAC-enkodeerder tot dusver, wat die hoogste moontlike klankgehalte lewer. Android gebruik die tweede beste kwaliteit Fraunhofer FDK AAC-enkodeerder, maar kan verskeie hardeware gebruik wat in die platform (SoC) ingebou is met onbekende enkoderingsgehalte. Volgens onlangse toetse deur SoundGuys, is die kwaliteit van AAC-kodering deur verskillende Android-fone baie anders:
Oudio via Bluetooth: soveel detail as moontlik oor profiele, kodeks en toestelle

Die meeste draadlose oudiotoestelle vir AAC het 'n maksimum bistempo van 320 kbps, sommige ondersteun slegs 256 kbps. Ander bitrate is uiters skaars.
AAC bied uitstekende gehalte by 320 en 256 kbps, maar is vatbaar vir verlies van opeenvolgende enkodering van reeds saamgeperste inhoud, dit is egter moeilik om enige verskille van die oorspronklike op iOS te hoor by 256 kbps selfs met verskeie opeenvolgende enkoderings, met 'n enkele enkodering, byvoorbeeld, MP3 320 kbps tot AAC 256 kbps, verliese kan verwaarloos word.
Soos die geval is met ander Bluetooth-kodeks, word enige musiek eers gedekodeer en dan deur die kodek geënkodeer. Wanneer daar na musiek in AAC-formaat geluister word, word dit eers deur middel van die bedryfstelsel gedekodeer, dan weer in AAC geënkodeer, vir oordrag via Bluetooth. Dit is nodig vir die vermenging van veelvuldige oudiostrome soos musiek en nuwe boodskapkennisgewing. iOS is geen uitsondering nie. Daar is baie bewerings op die internet dat AAC-musiek op iOS nie getranskodeer word wanneer dit via Bluetooth oorgedra word nie, wat nie waar is nie.

MP1/2/3

Die MPEG-1/2 Deel 3-familie van kodeks bestaan ​​uit die bekende en wyd gebruikte MP3, die minder algemene MP2 (wat hoofsaaklik in digitale TV en radio gebruik word), en die heeltemal onbekende MP1.

Die ouer MP1- en MP2-kodeks word glad nie ondersteun nie: ek kon geen oorfone of enige Bluetooth-stapel vind wat hulle enkodeer of dekodeer nie.
MP3-dekodering word deur sommige oorfone ondersteun, maar enkodering word nie op enige stapel moderne bedryfstelsels ondersteun nie. Dit blyk dat die derdeparty BlueSoleil-stapel vir Windows na MP3 kan kodeer as jy die konfigurasielêer handmatig verander, maar die installering daarvan lei vir my tot BSoD op Windows 10. Die gevolgtrekking is dat die kodek nie eintlik vir Bluetooth-klank gebruik kan word nie.
Voorheen, in 2006-2008, voordat die A2DP-standaard wydverspreid in toestelle was, het mense na MP3-musiek op die Nokia BH-501-koptelefoon geluister deur die MSI BluePlayer-program, wat op Symbian en Windows Mobile beskikbaar was. Op daardie tydstip het die slimfoonbedryfstelselargitektuur toegang tot baie laevlakfunksies toegelaat, en derdeparty-Bluetooth-stapels kon hoegenaamd op Windows Mobile geïnstalleer word.

Die nuutste patent van die MP3-kodek het verval, die gebruik van die kodek is vanaf 23 April 2017 tantièmevry.

As die langste-lopende patent genoem in die voorgenoemde verwysings as 'n maatstaf geneem word, dan het die MP3-tegnologie patentvry geword in die Verenigde State op 16 April 2017 toe Amerikaanse Patent 6,009,399, gehou deur en geadministreer deur Technicolor, verval het.

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

Bemonsteringsfrekwensie
Bitsnelheid
Enkodering ondersteuning
Dekodeer ondersteuning

16 - 48 kHz
8 - 320 kbps
Nêrens ondersteun nie
Sommige oudiotoestelle (hardeware)

LDAC

'n Nuwe en aktief bevorderde "Hi-Res"-kodek van Sony wat monstertempo's tot 96 kHz en 24 bisse ondersteun, met bistempo's tot 990 kbps. Geadverteer as 'n oudiofiele kodek, as 'n plaasvervanger vir bestaande Bluetooth-kodeks. Dit het die funksie van aanpasbare aanpassing van die bitsnelheid, afhangende van die radiotoestande.

Encoder LDAC (libldac) is ingesluit by die standaard aflewering van Android, so enkodering word ondersteun op enige Android-slimfoon vanaf OS weergawe 8. Daar is geen vrylik beskikbare sagteware-dekodeerders nie, die kodek-spesifikasie is nie beskikbaar vir die algemene publiek nie, maar met die eerste oogopslag by die enkodeerder is die interne struktuur van die kodek soortgelyk aan ATRAC9 - 'n kodek van Sony wat in die PlayStation 4 en Vita gebruik word: beide werk in die frekwensiereeks, gebruik 'n gewysigde diskrete cosinus-transformasie (MDCT) en kompressie deur die Huffman-algoritme te gebruik.

LDAC-ondersteuning word byna uitsluitlik deur Sony-koptelefoon verteenwoordig. Die vermoë om LDAC te dekodeer word soms op oorfone en DAC's van ander vervaardigers gevind, maar baie selde.

Bemonsteringsfrekwensie
Bitsnelheid
Enkodering ondersteuning
Dekodeer ondersteuning

44.1 - 96 kHz
303/606/909 kbps (vir 44.1 en 88.2 kHz), 330/660/990 kbps (vir 48 en 96 kHz)
Android 8 +
Sommige Sony-oorfone en enkeltoestelle van ander vervaardigers (hardeware)

Bemarking van LDAC as 'n Hi-Res-kodek benadeel die tegniese komponent daarvan: dit is dom om bitrate te spandeer op uitsaaifrekwensies wat nie vir die menslike oor hoorbaar is nie en verhoogde bisdiepte, solank dit nie genoeg is om CD-kwaliteit te stuur nie (44.1/16) ) sonder verlies. Gelukkig het die kodek twee werkswyses: CD-klankoordrag en Hi-Res-klankoordrag. In die eerste geval word slegs 44.1 kHz/16 bisse oor die lug uitgesaai.

Aangesien die sagteware LDAC-dekodeerder nie vrylik beskikbaar is nie, is dit onmoontlik om die kodek te toets sonder bykomende toestelle wat LDAC dekodeer. Volgens die resultate van die LDAC-toets op 'n DAC met sy ondersteuning, wat die ingenieurs van die webwerf SoundGuys.com via 'n digitale uitset verbind het en die uitsetklank op toetsseine opgeneem het, bied LDAC 660 en 990 kbps in CD-kwaliteitmodus 'n sein-tot-geraas-verhouding effens beter as dié van aptX HD.

Oudio via Bluetooth: soveel detail as moontlik oor profiele, kodeks en toestelle
Bron: www.soundguys.com/ldac-ultimate-bluetooth-guide-20026

LDAC ondersteun ook dinamiese bitsnelheid buite gevestigde profiele - van 138 kbps tot 990 kbps, maar sover ek kan sien, gebruik Android net gestandaardiseerde 303/606/909 en 330/660/990 kbps profiele.

Ander codecs

Ander A2DP-kodeks word nie algemeen gebruik nie. Hul ondersteuning is óf byna heeltemal afwesig, óf slegs beskikbaar op sekere modelle van oorfone en slimfone.
Die ATRAC-kodek wat in A2DP gestandaardiseer is, is nog nooit as 'n Bluetooth-kodek gebruik nie, selfs nie deur Sony self nie, die Samsung HD, Samsung Scalable en Samsung UHQ-BT-kodeks het baie beperkte ondersteuning van versending en ontvang van toestelle, en HWA LHDC is te nuut en word ondersteun deur slegs drie(?) toestelle.

Ondersteuning vir codecs deur oudio-toestelle

Nie alle vervaardigers publiseer akkurate inligting oor die kodeks wat sekere draadlose oorfone, luidsprekers, ontvangers of senders ondersteun nie. Soms gebeur dit dat ondersteuning vir 'n sekere kodek slegs vir transmissie is, maar nie vir ontvangs nie (relevant vir gekombineerde sender-ontvangers), hoewel die vervaardiger bloot "ondersteuning" verklaar sonder aantekeninge (ek neem aan dat aparte lisensiëring van enkodeerders en dekodeerders van sommige codecs is hiervoor te blameer). In die goedkoopste toestelle vind u moontlik glad nie die verklaarde ondersteuning vir aptX nie.

Ongelukkig word die kodek wat gebruik word, nêrens in die koppelvlakke van die meeste bedryfstelsels vertoon nie. Inligting hieroor is slegs beskikbaar in Android, vanaf weergawe 8, en macOS. Selfs in hierdie bedryfstelsels sal egter slegs die kodeks wat deur beide die telefoon / rekenaar en oorfone ondersteun word, vertoon word.

Hoe om uit te vind watter codecs die toestel ondersteun? Vang en ontleed 'n verkeershoop met A2DP-onderhandelingsopsies!
U kan dit op Linux, macOS en Android doen. Op Linux kan jy Wireshark of hcidump gebruik, op macOS kan jy Bluetooth Explorer gebruik, en op Android kan jy die inheemse Bluetooth HCI dump stoor-funksie gebruik, wat beskikbaar is in die ontwikkelaarnutsgoed. Jy sal 'n btsnoop-storting kry wat in die Wireshark-ontleder gelaai kan word.
Let wel: die korrekte storting kan slegs verkry word deur van die foon / rekenaar na die oorfone / luidspreker te koppel (maak nie saak hoe nuuskierig dit mag klink nie)! Oorfone kan onafhanklik 'n verbinding met die foon tot stand bring, in welke geval hulle 'n lys kodeks vanaf die foon sal aanvra, en nie andersom nie. Om te verseker dat 'n korrekte dump geskryf word, ontkoppel eers die toestel en koppel dan die foon met die oorfone terwyl die dump geskryf word.

Gebruik die volgende vertoonfilter om irrelevante verkeer uit te wis:

btavdtp.signal_id

As gevolg hiervan moet jy iets soortgelyks sien as:
Oudio via Bluetooth: soveel detail as moontlik oor profiele, kodeks en toestelle

U kan op elke item van die GetCapabilities-opdrag klik en die gedetailleerde kenmerke van die kodek sien.
Oudio via Bluetooth: soveel detail as moontlik oor profiele, kodeks en toestelle

Wireshark ken nie alle kodek-identifiseerders nie, so sommige codecs sal met die hand gedekripteer moet word, kyk na die identifiseerdertabel hieronder:

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

Om nie die stortings met die hand te ontleed nie, het ek 'n diens gemaak wat alles outomaties sal ontleed: btcodecs.valdikss.org.ru

Vergelyking van codecs. Watter kodek is beter?

Elke kodek het sy eie voordele en nadele.
aptX en aptX HD gebruik hardgekodeerde profiele wat nie verander kan word sonder om die enkodeerder en dekodeerder te verander nie. Nóg die foonvervaardiger nóg die oorfoonvervaardiger het die mag om die bitrate of aptX-enkoderingsfaktore te verander. Die eienaar van die kodek, Qualcomm, verskaf 'n verwysingsenkodeerder as 'n biblioteek. Hierdie feite is die krag van aptX – jy weet vooraf watter klankgehalte jy gaan kry, sonder enige “maar”.

SBC, inteendeel, het baie konfigureerbare parameters, dinamiese bitsnelheid (die enkodeerder kan die bitpool-parameter verminder as die radio gelaai is), en het nie hardgekodeerde profiele nie, maar slegs die aanbevole "medium kwaliteit" en "hoë kwaliteit" wat in 2 jaar by die A2003DP-spesifikasie gevoeg is. "Hoë Kwaliteit" is nie meer so hoë gehalte volgens moderne standaarde nie, en die meeste Bluetooth-stapels laat jou nie toe om instellings beter as die "Hoë Kwaliteit"-profiel te gebruik nie, alhoewel daar geen tegniese beperkings hiervoor is nie.
Die Bluetooth SIG het nie 'n verwysings-SBC-enkodeerder in die vorm van 'n biblioteek nie, en vervaardigers implementeer dit self.
Dit is die swakpunte van die SBC - dit is nooit vooraf duidelik watter klankgehalte om van 'n spesifieke toestel te verwag nie. Die SBC kan beide lae en baie hoë klankgehalte produseer, maar laasgenoemde is onbereikbaar sonder om die kunsmatige beperkings van Bluetooth-stapels te deaktiveer of te omseil.

Die situasie met AAC is dubbelsinnig: aan die een kant, teoreties, moet die kodek kwaliteit produseer wat nie van die oorspronklike onderskei kan word nie, maar in die praktyk, te oordeel aan die toetse van die SoundGuys-laboratorium op verskeie Android-toestelle, word dit nie bevestig nie. Waarskynlik lê die fout by lae-gehalte hardeware klank-enkodeerders wat in verskeie telefoonskyfiestelle ingebou is. Dit maak sin om AAC slegs op Apple-toestelle te gebruik, en beperk jouself tot aptX en LDAC op Android.

Hardeware wat alternatiewe kodeks ondersteun, is oor die algemeen van hoër gehalte, bloot omdat dit nie sin maak vir baie goedkoop toestelle van lae gehalte om tantième te betaal om hierdie kodeks te gebruik nie. In my toetse klink die SBC baie goed op kwaliteit hardeware.

Ek het 'n webdiens gemaak wat oudio in SBC, aptX en aptX HD intyds enkodeer, direk in die blaaier. Daarmee kan jy hierdie oudio-kodeks toets sonder om werklik oudio via Bluetooth, op enige bedrade oorfone, luidsprekers en jou gunstelingmusiek oor te dra, asook enkoderingsparameters direk tydens oudio-terugspeel verander:
btcodecs.valdikss.org.ru/sbc-encoder
Die diens gebruik die SBC-koderingsbiblioteke van die BlueZ-projek en libopenaptx van ffmpeg, wat saamgestel is na WebAssembly en JavaScript vanaf C, via emscripten, om in die blaaier te loop. Wie kan van so 'n toekoms droom!

So lyk dit:

Let op hoe die geraasvlak na 20 kHz vir verskillende kodeks verander. Daar is geen frekwensies bo 3 kHz in die oorspronklike MP20-lêer nie.

Probeer om kodeks te wissel en kyk of jy die verskil tussen die oorspronklike, SBC 53 Joint Stereo (die verstek en mees algemene profiel) en aptX/aptX HD kan hoor.

Ek hoor die verskil tussen codecs in koptelefoon!

Mense wat nie die verskil tussen codecs hoor tydens toetsing deur 'n webdiens nie, beweer dat hulle dit hoor wanneer hulle na musiek in draadlose oorfone luister. Helaas, dit is nie 'n grap of 'n placebo-effek nie: die verskil is regtig hoorbaar, maar dit word nie deur verskille veroorsaak nie. kodeks.

Die oorgrote meerderheid van Bluetooth-klankskyfiestelle wat in draadlose ontvangstoestelle gebruik word, is toegerus met 'n digitale seinverwerker (DSP) wat 'n gelykmaker, compander, stereo-uitbreider en ander dinge implementeer wat ontwerp is om die klank te verbeter (of te verander). Bluetooth-vervaardigers kan die DSP aanpas vir elke kodek afsonderlik, en wanneer daar tussen kodeks gewissel word, sal dit vir die luisteraar lyk asof hy die verskil hoor in hoe die kodeks werk, terwyl hy in werklikheid na verskillende DSP-instellings luister.

Oudio via Bluetooth: soveel detail as moontlik oor profiele, kodeks en toestelle
Kalimba DSP klankverwerkingspyplyn in CSR/Qualcomm-skyfies

Oudio via Bluetooth: soveel detail as moontlik oor profiele, kodeks en toestelle
Aktivering van verskeie DSP-funksies vir elke kodek en uitvoer afsonderlik

Sommige premium toestelle kom met 'n program wat jou toelaat om DSP-instellings aan te pas, maar die meeste goedkoper oorfone het nie hierdie opsie nie, en gebruikers kan nie klanknaverwerking met die broek afskakel nie.

Funksionele kenmerke van toestelle

Die huidige weergawe van die A2DP-standaard het "absolute volume beheer" funksie — toestelvolumebeheer deur spesiale opdragte van die AVRCP-protokol, wat die wins van die uitsetstadium reguleer, in plaas daarvan om die volume van die klankstroom programmaties te verminder. As wanneer jy die volume op die oorfone verander, die verandering nie met die volume op die foon sinkroniseer nie, beteken dit dat jou oorfone of foon nie hierdie funksie ondersteun nie. In hierdie geval is dit sinvol om altyd met die maksimum volume op die telefoon na musiek te luister, en die werklike volume met die koptelefoonknoppies aan te pas - in hierdie geval sal die sein-tot-geraas-verhouding beter wees en die klankkwaliteit moet wees hierbo.
In werklikheid is daar hartseer situasies. Ek het 'n sterk compander op my RealForce OverDrive D1-koptelefoon vir SBC, en die verhoging van die volume lei tot 'n toename in die vlak van stil klanke, terwyl die volume van harde klanke nie verander nie (die sein word saamgepers). As gevolg hiervan moet u die volume op die rekenaar op ongeveer die helfte stel, in hierdie geval is daar feitlik geen kompressie-effek nie.
Volgens my waarnemings ondersteun alle oorfone met bykomende kodeks die absolute volumebeheerfunksie, dit is blykbaar een van die vereistes vir kodek-sertifisering.

Sommige oorfone ondersteun koppel twee toestelle gelyktydig. Dit laat jou byvoorbeeld toe om na musiek vanaf jou rekenaar te luister en oproepe van jou foon af te ontvang. U moet egter bewus wees dat alternatiewe kodeks in hierdie modus gedeaktiveer is, en slegs SBC word gebruik.

AVDTP 1.3 Vertraag verslagdoening Funksie laat die oorfone toe om die vertraging te kommunikeer aan die uitsaaitoestel waar klank werklik gespeel word. Dit laat jou toe om die sinchronisasie van klank met video aan te pas terwyl jy videolêers kyk: as daar probleme is met oordrag oor die lug, sal die klank nie agter die video bly nie, maar inteendeel, die video sal vertraag word deur die videospeler totdat die oudio en video weer gesinchroniseer is.
Die kenmerk word ondersteun deur baie oorfone, Android 9+ en Linux met PulseAudio 12.0+. Ek is nie bewus van die funksie se ondersteuning op ander platforms nie.

Tweerigting kommunikasie via Bluetooth. Stemoordrag.

Vir stemoordrag in Bluetooth word Synchronous Connection Oriented (SCO) gebruik - sinchroniese transmissie met voorlopige verbindingsonderhandeling. Die modus laat jou toe om klank en stem streng in volgorde oor te dra, met 'n simmetriese stuur- en ontvangspoed, sonder om te wag vir transmissiebevestiging en herstuur van pakkies. Dit verminder die algehele oudio-oordragvertraging oor die radiokanaal, maar stel ernstige beperkings op die hoeveelheid data wat per tydseenheid versend word, en beïnvloed die kwaliteit negatief.
Wanneer hierdie modus gebruik word, word beide stem en oudio met dieselfde kwaliteit oorgedra.
Ongelukkig, vanaf 2019, is Bluetooth-stemkwaliteit steeds swak, en dit is onduidelik hoekom die Bluetooth SIG niks daaraan doen nie.

CVSD

Die basiese CVSD-spraakkodek is in 2002 gestandaardiseer en word deur alle Bluetooth-tweerigtingtoestelle ondersteun. Dit verskaf oudio-oordrag met 'n monstertempo van 8 kHz, wat ooreenstem met die kwaliteit van konvensionele bedrade telefonie.

'n Voorbeeld van opname in hierdie kodek.

mSBC

’n Bykomende mSBC-kodek is in 2009 gestandaardiseer, en in 2010 was daar reeds skyfies wat dit vir stemoordrag gebruik. mSBC word wyd ondersteun deur verskeie toestelle.
Dit is nie 'n onafhanklike kodek nie, maar 'n gewone SBC van die A2DP-standaard, met 'n vaste enkoderingsprofiel: 16 kHz, mono, bitpool 26.

'n Voorbeeld van opname in hierdie kodek.

Nie briljant nie, maar baie beter as CVSD, maar dit is steeds irriterend om dit te gebruik om oor die internet te gesels, veral wanneer jy oorfone gebruik om in 'n speletjie te gesels - speletjie-oudio sal ook teen 'n monstertempo van 16 kHz uitgesaai word.

FastStreamCSR het besluit om die idee te ontwikkel om SBC te hergebruik. Om die beperkings van die SCO-protokol te omseil en hoër bitsnelhede te gebruik, het CSR die ander kant toe gegaan – hulle het ondersteuning vir tweerigting-SBC-klank in die A2DP-eenrigting-klankoordragstandaard, gestandaardiseerde enkoderingsprofiele, ingestel en dit "FastStream" genoem.

FastStream stuur 44.1 of 48 kHz stereoklank teen 212 kbps na die luidsprekers, en mono, 16 kHz, teen 72 kbps word gebruik om oudio vanaf die mikrofoon oor te dra (effens beter as mSBC). Sulke parameters is baie beter geskik vir kommunikasie in aanlynspeletjies - die klank van die spel en gespreksgenote sal van hoë gehalte wees.

'n Voorbeeld van opname in hierdie kodek (+ mikrofoonklank, dieselfde as mSBC).

Die maatskappy het met 'n interessante kruk vorendag gekom, maar weens die feit dat dit die A2DP-standaard weerspreek, ondersteun slegs sommige van die maatskappy se senders (wat as 'n USB-klankkaart werk, nie 'n Bluetooth-toestel nie) dit, maar dit het nie ondersteuning ontvang nie. in Bluetooth-stapels, hoewel die aantal FastStream-geaktiveerde koptelefoon nie so klein is nie.

Op die oomblik is FastStream-ondersteuning in die bedryfstelsel slegs as 'n pleister vir Linux se PulseAudio van die ontwikkelaar Pali Rohár, wat nie by die hooftak van die program ingesluit is nie.

aptX lae latensie

Verbasend genoeg ondersteun aptX Low Latency ook tweerigting-klank, wat dieselfde beginsel as FastStream implementeer.
Jy sal nêrens hierdie kenmerk van die kodek kan gebruik nie - daar is geen ondersteuning vir Low Latency-dekodering in enige bedryfstelsel en in enige Bluetooth-stapel wat ek ken nie.

Bluetooth 5, Klassiek en Lae Energie

Baie verwarring het ontstaan ​​oor Bluetooth-spesifikasies en -weergawes as gevolg van die teenwoordigheid van twee onversoenbare standaarde onder dieselfde handelsmerk, wat albei wyd vir verskillende doeleindes gebruik word.

Daar is twee verskillende, onversoenbare Bluetooth-protokolle: Bluetooth Classic en Bluetooth Low Energy (LE, ook bekend as Bluetooth Smart). Daar is ook 'n derde protokol, Bluetooth High Speed, maar dit is nie algemeen nie en word nie in verbruikerstoestelle gebruik nie.

Vanaf Bluetooth 4.0 was die spesifikasieveranderinge hoofsaaklik Bluetooth Low Energy, met die Classic-weergawe wat slegs geringe verbeterings ontvang het.

Lys van veranderinge tussen Bluetooth 4.2 en Bluetooth 5:

9 VERANDERINGS VAN v4.2 NA 5.0

9.1 NUWE KENMERKE

Verskeie nuwe kenmerke word in die Bluetooth Core Specification 5.0-vrystelling bekendgestel. Die belangrikste areas van verbetering is:
• Slotbeskikbaarheidmasker (SAM)
• 2 Msym/s PHY vir LE
• LE Langafstand
• Hoëdienssiklus nie-koppelbare advertensies
• LE Advertensie-uitbreidings
• LE Channel Seleksie Algoritme #2
9.1.1 Kenmerke bygevoeg in CSA5 - Geïntegreer in v5.0
• Hoër uitsetkrag

Bron: www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=421043 (bladsy 291)

Slegs een verandering het die Classic-weergawe binne die Bluetooth 5-spesifikasie beïnvloed: hulle het ondersteuning bygevoeg vir Slot Availability Mask (SAM)-tegnologie, wat ontwerp is om radioskeiding te verbeter. Alle ander veranderinge raak slegs Bluetooth LE (en hoër uitsetkrag ook).

Alle oudiotoestelle gebruik slegs Bluetooth Classic. Oorfone en luidsprekers kan nie via Bluetooth Low Energy verbind word nie: daar is geen standaard vir oudio-oordrag met LE nie. Die A2DP-standaard, wat gebruik word om klank van hoë gehalte oor te dra, werk slegs deur Bluetooth Classic, en daar is geen analoog in LE nie.

Gevolgtrekking - dit maak geen sin om klanktoestelle met Bluetooth 5 te koop net as gevolg van die nuwe weergawe van die protokol nie. Bluetooth 4.0/4.1/4.2 sal op dieselfde manier werk in die konteks van oudio-oordrag.
As die aankondiging van nuwe oorfone melding maak van dubbele reikafstand en verminderde kragverbruik danksy Bluetooth 5, dan moet jy weet dat hulle hulself nie verstaan ​​nie of jou mislei. Geen wonder nie, want selfs vervaardigers van Bluetooth-skyfies raak verward in hul aankondigings oor die verskille tussen die nuwe weergawe van die standaard, en sommige Bluetooth 5-skyfies ondersteun die vyfde weergawe net vir LE, terwyl hulle vir Classic 4.2 gebruik.

Oudio-oordrag vertraging

Die hoeveelheid vertraging (lag) van oudio hang af van baie faktore: die grootte van die buffer in die oudiostapel, in die Bluetooth-stapel en in die reproduserende draadlose toestel self, die algoritmiese vertraging van die kodek.

Eenvoudige codecs soos SBC, aptX en aptX HD het 'n baie lae latency van 3-6ms, wat weglaatbaar is, maar komplekse codecs soos AAC en LDAC kan merkbare latency ervaar. Die AAC algoritmiese vertraging vir 44.1 kHz is 60 ms. LDAC - ongeveer 30 ms (volgens 'n rowwe ontleding van die bronkode. Ek kan verkeerd wees, maar nie veel nie.)

Die gevolglike vertraging is hoogs afhanklik van die afspeeltoestel, sy skyfiestel en buffer. Tydens die toetse het ek 'n verspreiding van 150 tot 250 ms op verskillende toestelle (met SBC-kodek) gekry. As ons aanvaar dat toestelle wat bykomende aptX-, AAC- en LDAC-kodeks ondersteun, hoëgehalte-komponente en 'n klein buffergrootte gebruik, kry ons die volgende tipiese vertragings:

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

Ek herinner jou: aptX Low Latency word nie in bedryfstelsels ondersteun nie, en daarom kan 'n laer vertraging slegs verkry word deur 'n kombinasie van sender + ontvanger of sender + oorfone / luidspreker, en alle toestelle moet hierdie kodek ondersteun.

Probleme met Bluetooth-toestel, sertifisering en logo

Hoe om 'n klanktoestel van hoë gehalte van 'n goedkoop vaartuig te onderskei? In voorkoms, eerstens!

Vir goedkoop Chinese oorfone, luidsprekers en ontvangers:

  1. Die woord "Bluetooth" ontbreek op die boks en toestel, wat die meeste gebruik word "Wireless" en "BT"
  2. Bluetooth-logo ontbreek Oudio via Bluetooth: soveel detail as moontlik oor profiele, kodeks en toestelle op die boks of toestel
  3. Geen blou flikkerende LED nie

Die afwesigheid van hierdie elemente dui daarop dat die toestel nie gesertifiseer is nie, wat beteken dat dit moontlik van lae gehalte en problematies is. Bluedio-oorfone is byvoorbeeld nie Bluetooth-gesertifiseer nie en voldoen nie ten volle aan die A2DP-spesifikasie nie. Hulle sou nie gesertifiseer word nie.

Oorweeg verskeie toestelle en bokse van hulle:
Oudio via Bluetooth: soveel detail as moontlik oor profiele, kodeks en toestelle

Oudio via Bluetooth: soveel detail as moontlik oor profiele, kodeks en toestelle

Oudio via Bluetooth: soveel detail as moontlik oor profiele, kodeks en toestelle

Dit is alles ongesertifiseerde toestelle. Die instruksies kan 'n logo en die naam van Bluetooth-tegnologie bevat, maar die belangrikste ding is dat dit op die boks en/of die toestel self is.

As jou oorfone of luidspreker sê "Ze bluetooth dewise is connecta suksesvol", beteken dit ook nie hul kwaliteit nie:

Gevolgtrekking

Kan Bluetooth bedrade koptelefoon en koptelefoon heeltemal vervang? Bekwaam, maar ten koste van swak oproepgehalte, verhoogde oudio-latency wat irriterend kan wees in speletjies, en 'n oorvloed eie kodeks wat tantieme vereis en die finale koste van beide slimfone en oorfone verhoog.

Die bemarking van alternatiewe kodeks is baie sterk: aptX en LDAC word aangebied as 'n langverwagte plaasvervanger vir die "verouderde en slegte" SBC, wat nie naastenby so erg is as wat mense dink dit is nie.

Soos dit geblyk het, kan die kunsmatige beperkings van Bluetooth-stapels op die SBC-bitsnelheid omseil word, sodat die SBC nie minderwaardig sal wees as aptX HD nie. Ek het die inisiatief in my eie hande geneem en 'n pleister vir die LineageOS-firmware gemaak: Verander die Bluetooth-stapel om die klank op koptelefoon sonder AAC, aptX en LDAC codecs te verbeter

Meer inligting kan op die webwerwe gevind word Klank Ouens и klankkundige.

bonus: SBC verwysing encoder, A2DP bitstroom inligting en toets lêers. Hierdie lêer is voorheen publiek op die Bluetooth-webwerf geplaas, maar is nou slegs beskikbaar vir lede van die Bluetooth SIG.

Bron: will.com

Voeg 'n opmerking