{"id":35145,"date":"2019-10-31T22:02:32","date_gmt":"2019-10-31T19:02:32","guid":{"rendered":"https:\/\/prohoster.info\/blog\/audio-cherez-bluetooth-maksimalno-podrobno-o-profilyah-kodekah-i-ustrojstvah\/"},"modified":"2019-10-31T22:02:32","modified_gmt":"2019-10-31T19:02:32","slug":"audio-cherez-bluetooth-maksimalno-podrobno-o-profilyah-kodekah-i-ustrojstvah","status":"publish","type":"post","link":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/audio-cherez-bluetooth-maksimalno-podrobno-o-profilyah-kodekah-i-ustrojstvah","title":{"rendered":"Audio via Bluetooth: A Comprehensive Overview of Profiles, Codecs, and Devices","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Audio via Bluetooth: A Comprehensive Overview of Profiles, Codecs, and Devices\" src=\"\/wp-content\/uploads\/48eced30a8d5e569e0c70ab4d60c5a9f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDue to the mass production of smartphones without a 3.5 mm audio jack, wireless Bluetooth headphones have become the primary means of listening to music and communicating in headset mode for many.<br \/>\nManufacturers of wireless devices do not always provide detailed product specifications, and articles about Bluetooth audio on the internet are contradictory, sometimes incorrect, fail to cover all features, and often copy the same misleading information.<br \/>\nLet's try to understand the protocol, the capabilities of Bluetooth stacks of operating systems, headphones and speakers, Bluetooth codecs for music and speech, figure out what affects the quality of transmitted sound and latency, and learn to collect and decode information about supported codecs and other capabilities of devices.<\/p>\n<p><b>TL;DR<\/b>: <\/p>\n<ul>\n<li>SBC \u2014 a standard codec<\/li>\n<li>Headphones have their own equalizer and post-processing for each codec separately<\/li>\n<li>aptX is not as good as advertised in promotional announcements<\/li>\n<li>LDAC \u2014 marketing nonsense<\/li>\n<li>Call audio quality is still low<\/li>\n<li>Audio encoders can be embedded in the browser using C, compiled into WebAssembly via emscripten, and they won't cause significant slowdowns.<\/li>\n<\/ul>\n<p>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1>Music via Bluetooth<\/h1>\n<p>The functional aspect of Bluetooth is defined by profiles \u2014 specifications of specific functions. Music transmission via Bluetooth is done using the A2DP profile for high-quality one-way audio. The A2DP standard was adopted in 2003 and has not significantly changed since then.<br \/>\nWithin the profile, 1 mandatory codec with low computational complexity, SBC, specifically designed for Bluetooth, and 3 additional codecs are standardized. The use of undocumented proprietary codecs is also allowed.<\/p>\n<p>As of June 2019, we are at <noindex><a rel=\"nofollow\" href=\"https:\/\/xkcd.com\/927\/\">in the xkcd comic<\/a><\/noindex> with 14 A2DP codecs:<\/p>\n<ul>\n<li><b>SBC<\/b> \u2190 standardized in A2DP, supported by all devices<\/li>\n<li><b>MPEG-1\/2 Layer 1\/2\/3<\/b> \u2190 standardized in A2DP: the well-known <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/MP3\">MP3<\/a><\/noindex>, used in digital TV <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/MPEG-1_Audio_Layer_II\">MP2<\/a><\/noindex>, and the little-known <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/MPEG-1_Audio_Layer_I\">MP1<\/a><\/noindex><\/li>\n<li><b>MPEG-2\/4 AAC<\/b> \u2190 standardized in A2DP<\/li>\n<li><b>ATRAC<\/b> \u2190 an old codec from Sony, standardized in A2DP<\/li>\n<li><b>LDAC<\/b> \u2190 a new codec from Sony<\/li>\n<li><b>aptX<\/b> \u2190 a codec from 1988<\/li>\n<li><b>aptX HD<\/b> \u2190 the same as aptX but with different encoding parameters<\/li>\n<li><b>aptX Low Latency<\/b> \u2190 quite a different codec, no software implementation<\/li>\n<li><b>aptX Adaptive<\/b> \u2190 endnu en codec fra Qualcomm<\/li>\n<li><b>FastStream<\/b> \u2190 pseudokodex, tovejsmodifikation af SBC<\/li>\n<li><b>HWA LHDC<\/b> \u2190 ny codec fra Huawei<\/li>\n<li><b>Samsung HD<\/b> \u2190 underst\u00f8ttes af 2 enheder<\/li>\n<li><b>Samsung Scalable<\/b> \u2190 underst\u00f8ttes af 2 enheder<\/li>\n<li><b>Samsung UHQ-BT<\/b> \u2190 underst\u00f8ttes af 3 enheder<\/li>\n<\/ul>\n<p>Hvorfor er codecs n\u00f8dvendige, sp\u00f8rger du, n\u00e5r Bluetooth har EDR, som muligg\u00f8r dataoverf\u00f8rsel med hastigheder p\u00e5 2 og 3 Mbps, og til ukomprimeret stereo 16-bit PCM er 1,4 Mbps tilstr\u00e6kkeligt?<\/p>\n<p><\/p>\n<h1>Dataoverf\u00f8rsel via Bluetooth<\/h1>\n<p>Bluetooth har to typer dataoverf\u00f8rsel: Asynchronous Connection Less (ACL) til asynkron overf\u00f8rsel uden oprettelse af forbindelse, og Synchronous Connection Oriented (SCO), til synkron overf\u00f8rsel med forudg\u00e5ende aftale om forbindelsen.<br \/>\nOverf\u00f8rslen sker ved brug af en tidsdelingsordning og kanalvalg for hver pakke individuelt (Frequency-Hop\/Time-Division-Duplex, FH\/TDD), hvor tiden opdeles i 625-mikrosektunders intervaller kaldet slots. \u00c9t af apparaterne foreg\u00e5r i lige slots, mens det andet foreg\u00e5r i ulige slots. Den overf\u00f8rte pakke kan tage 1, 3 eller 5 slots, afh\u00e6ngigt af datast\u00f8rrelsen og den valgte overf\u00f8rselstype; i dette tilf\u00e6lde foreg\u00e5r overf\u00f8rsel fra \u00e9n enhed i b\u00e5de lige og ulige slots indtil overf\u00f8rslen er afsluttet. I alt kan der per sekund modtages og sendes op til 1600 pakker, hvis hver af dem optager 1 slot, og begge enheder hele tiden sender og modtager noget.<\/p>\n<p>2 og 3 Mbps for EDR, som kan findes i annoncer og p\u00e5 Bluetooth's hjemmeside, er den maksimale kanaloverf\u00f8rselshastighed for alle data samlet set (inklusive tekniske overskrifter for alle protokoller, som data skal indkapsles i), i begge retninger samtidig. Den faktiske dataoverf\u00f8rselshastighed kan variere betydeligt.<\/p>\n<p>Til musikoverf\u00f8rsel anvendes den asynkrone metode, n\u00e6sten altid ved hj\u00e6lp af pakker af typen 2-DH5 og 3-DH5, som b\u00e6rer det maksimale antal data i EDR 2 Mbps og 3 Mbps, henholdsvis, og optager 5 slots i tidsopdelingen.<\/p>\n<p>Schematiske repr\u00e6sentation af overf\u00f8rsel ved hj\u00e6lp af 5 slots af \u00e9n enhed og 1 slot af en anden (DH5\/DH1):<br \/>\n<img decoding=\"async\" alt=\"Audio via Bluetooth: A Comprehensive Overview of Profiles, Codecs, and Devices\" src=\"\/wp-content\/uploads\/e5875cb59648c349a63c8e7196e9afbf.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00e5 grund af tidsdelingseffekten er vi n\u00f8dt til at vente i 625 mikrosekunder efter at have sendt en pakke, hvis den anden enhed ikke sender noget til os eller sender en lille pakke, og l\u00e6ngere tid, hvis den anden enhed sender store pakker. Hvis der er tilsluttet flere enheder til telefonen (f.eks. hovedtelefoner, ure og fitnessarmb\u00e5nd), deles overf\u00f8rselstiden blandt dem alle.<\/p>\n<p>Behovet for at kapsle lyd i specielle transportprotokoller L2CAP og AVDTP fjerner 16 byte fra den maksimale mulige nyttelast, der kan overf\u00f8res.<\/p>\n<p>Pakke type<br \/>\nAntal slots<br \/>\nMaks. antal byte pr. pakke<br \/>\nMaks. antal byte A2DP nyttelast<br \/>\nMaks. bitrate A2DP nyttelast<\/p>\n<p>2-DH3<br \/>\n3<br \/>\n367<br \/>\n351<br \/>\n936 kbit\/s<\/p>\n<p>3-DH3<br \/>\n3<br \/>\n552<br \/>\n536<br \/>\n1429 kbit\/s<\/p>\n<p>2-DH5<br \/>\n5<br \/>\n679<br \/>\n663<br \/>\n1414 kbit\/s<\/p>\n<p>3-DH5<br \/>\n5<br \/>\n1021<br \/>\n1005<br \/>\n2143 kbit\/s<\/p>\n<p>1414 og 1429 kbit\/s er bestemt utilstr\u00e6kkeligt til at overf\u00f8re uspoleret lyd under praktiske forhold, med st\u00f8j i 2.4 GHz-b\u00e5ndet og behovet for at transmittere kontroldata. EDR 3 Mbit\/s kr\u00e6ver meget forhold til udgangseffekten og st\u00f8j i luften, s\u00e5 selv i 3-DH5-tilstand vil komfortabel overf\u00f8rsel af PCM v\u00e6re umulig, der vil konstant v\u00e6re kortvarige afbrydelser, og det vil kun fungere over korte afstande.<br \/>\nI praksis har selv 990 kbit\/s lydstr\u00f8m (LDAC 990 kbit\/s) problemer med at blive overf\u00f8rt.<\/p>\n<p>Lad os vende tilbage til codecs.<\/p>\n<h2>SBC<\/h2>\n<p>Codec'en er obligatorisk for alle enheder, der underst\u00f8tter A2DP-standarden. Den bedste og d\u00e5rligste codec p\u00e5 en gang.<\/p>\n<p>Samplingfrekvens<br \/>\nBitdybde<br \/>\nBitrate<br \/>\nUnderst\u00f8ttelse af kodning<br \/>\nUnderst\u00f8ttelse af dekodning<\/p>\n<p>16, 32, 44.1, 48 kHz<br \/>\n16 bit<br \/>\n10-1500 kbit\/s<br \/>\nAf alle enheder<br \/>\nAf alle enheder<\/p>\n<p>SBC er en simpel og beregningsm\u00e6ssigt hurtig codec med en primitiv psykoakustisk model (anvender kun maskering af stille lyde) og bruger adaptiv impuls-kodning modulation (APCM).<br \/>\nA2DP-specifikationen anbefaler brug af to profiler: Middle Quality og High Quality.<br \/>\n<img decoding=\"async\" alt=\"Audio via Bluetooth: A Comprehensive Overview of Profiles, Codecs, and Devices\" src=\"\/wp-content\/uploads\/8939e552a23374228289a9686f4d1048.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCodec'en har mange indstillinger, der g\u00f8r det muligt at styre den algoritmiske forsinkelse, antallet af samples i blokken, bitfordelingsalgoritmen, men n\u00e6sten overalt anvendes de samme anbefalede parametre fra specifikationen: Joint Stereo, 8 frekvensb\u00e5nd, 16 blokke i lydrammen, og bitfordelingsmetoden Loudness.<br \/>\nSBC underst\u00f8tter dynamisk \u00e6ndring af Bitpool-parameteren, som direkte p\u00e5virker bitrate. Hvis radioen er overfyldt, g\u00e5r pakker tabt, eller enhederne er langt fra hinanden, kan lydkilden reducere Bitpool, indtil forbindelsen er normaliseret.<\/p>\n<p>Producenterne af de fleste hovedtelefoner indstiller den maksimale v\u00e6rdi af Bitpool-parameteren til 53, hvilket begr\u00e6nser bitraten til 328 kilobit per sekund ved brug af den anbefalede profil.<br \/>\nSelv hvis producenten af hovedtelefonerne har indstillet den maksimale v\u00e6rdi af Bitpool til over 53 (s\u00e5danne modeller findes f.eks. i Beats Solo\u00b3, JBL Everest Elite 750NC, Apple AirPods, samt i nogle receivere og bilstereoenheder), tillader de fleste operativsystemer ikke brug af forh\u00f8jede bitrater p\u00e5 grund af en intern begr\u00e6nsning i Bluetooth-stakene.<br \/>\nDerudover s\u00e6tter nogle producenter en lav maksimal v\u00e6rdi af Bitpool for visse enheder. For eksempel er den 39 for Bluedio T, og 37 for Samsung Gear IconX, hvilket giver d\u00e5rlig lydkvalitet.<\/p>\n<p>Kunstige begr\u00e6nsninger fra udviklerne af Bluetooth-stakene opstod sandsynligvis p\u00e5 grund af inkompatibilitet mellem visse enheder og h\u00f8je v\u00e6rdier af Bitpool eller unormale profiler, selv n\u00e5r de rapporterede at underst\u00f8tte dem, samt et utilstr\u00e6kkeligt antal tests under certificering. Det var lettere for forfatterne af Bluetooth-stakene at begr\u00e6nse sig til at godkende den anbefalede profil snarere end at skabe en database over defekte enheder (selvom de nu g\u00f8r det for andre defekt fungerende funktioner).<\/p>\n<p>SBC tildeler dynamisk kvantiseringsbits til frekvensb\u00e5ndene, og arbejder fra lav til h\u00f8j med forskellige v\u00e6gte. Hvis hele bitraten anvendes p\u00e5 lave og mellemste frekvenser, vil de h\u00f8je frekvenser 'blive sk\u00e5ret af' (i stedet vil der v\u00e6re stilhed).<\/p>\n<p>Eksempel p\u00e5 SBC 328 kbit\/s. \u00d8verst er originalen, nederst SBC, med periodisk skift mellem sporene. Til lyd i videofilen anvendes en tabsl\u00f8s komprimeringskodek FLAC. Brugen af FLAC i mp4-containeren er ikke officielt standardiseret, s\u00e5 der er ingen garanti for, at din browser vil kunne afspille det, men det burde fungere i de seneste versioner af desktop Chrome og Firefox. Hvis du ikke h\u00f8rer noget, kan du downloade filen og \u00e5bne den i en komplet videoafspiller.<br \/>\n<video controls style=\"top: 0; left: 0; width: 100%; height: 100%; position: absolute;\">Your browser does not support HTML5 video.<source src=\"https:\/\/files.catbox.moe\/8yrssu.mp4\" type=\"video\/mp4\"><\/source><\/video><i>ZZ Top \u2014 Sharp Dressed Man<\/i><\/p>\n<p>P\u00e5 spektrogrammet kan man se overgangen: SBC sk\u00e6rer periodisk svage lyde over 17,5 kHz, og tildele slet ikke bits til omr\u00e5det over 20 kHz. Det komplette spektrogram er tilg\u00e6ngeligt ved klik (1,7 MB).<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/qj\/i7\/4w\/qji74wrphaigw3qtza6nepvur50.png\"><img decoding=\"async\" alt=\"Audio via Bluetooth: A Comprehensive Overview of Profiles, Codecs, and Devices\" src=\"\/wp-content\/uploads\/c59aa3f6eff4c4d966a4c96868dd7e00.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Jeg kan ikke h\u00f8re forskel mellem originalen og SBC p\u00e5 dette nummer.<\/p>\n<p>Lad os tage noget nyere og simulere lyden, der ville komme fra at bruge Samsung Gear IconX-hovedtelefoner med Bitpool 37 (\u00f8verst er det originale signal, nederst er SBC 239 kbps, lyd i FLAC).<br \/>\n<video controls style=\"top: 0; left: 0; width: 100%; height: 100%; position: absolute;\">Your browser does not support HTML5 video.<source src=\"https:\/\/files.catbox.moe\/r561g5.mp4\" type=\"video\/mp4\"><\/source><\/video><i>Mindless Self Indulgence \u2014 Witness<\/i><\/p>\n<p>Jeg h\u00f8rer knasen, mindre stereoeffekt og en ubehagelig 'klik' i vokalen i de h\u00f8je frekvenser.<\/p>\n<p>Selvom SBC er en meget fleksibel codec, der kan konfigureres til lav latenstid, giver det fremragende lydkvalitet ved h\u00f8je bitrate (452+ kbps) og ganske anst\u00e6ndig for de fleste mennesker p\u00e5 standard High Quality (328 kbps), fordi standarden A2DP ikke fasts\u00e6tter faste profiler (men kun giver anbefalinger), har udviklerne af stakke indsat kunstige begr\u00e6nsninger p\u00e5 Bitpool, de transmitte audio parametre vises ikke i brugergr\u00e6nsefladen, og producenterne af hovedtelefoner er frie til at indstille deres indstillinger og angiver aldrig Bitpool-v\u00e6rdien i produktspecifikationerne. Codec'en har f\u00e5et et d\u00e5rligt ry for lydkvalitet, selvom dette ikke er codec'ens problem i sig selv.<br \/>\nBitpool-parameteren p\u00e5virker bitrate udelukkende inden for en enkelt profil. Den samme Bitpool-v\u00e6rdi p\u00e5 53 kan give b\u00e5de 328 kbps ved den anbefalede profil High Quality og 1212 kbps med Dual Channel og 4 frekvensb\u00e5nd, hvilket resulterer i, at operativsystemets forfattere, udover begr\u00e6nsningerne p\u00e5 Bitpool, ogs\u00e5 s\u00e6tter et loft for Bitrate. Som jeg ser det, opstod denne situation p\u00e5 grund af mangler i standarden A2DP: man skulle have koordineret bitrate, ikke Bitpool.<\/p>\n<p>Tabel over SBC-funktioner i forskellige OS:<\/p>\n<p>OS<br \/>\nUnderst\u00f8ttede sampling frekvenser<br \/>\nMaks. Bitpool gr\u00e6nse<br \/>\nMaks. Bitrate gr\u00e6nse<br \/>\nTypisk Bitrate<br \/>\nDynamisk tilpasning af Bitpool<\/p>\n<p><b>Windows 10<\/b><br \/>\n44,1 kHz<br \/>\n53<br \/>\n512 kbps<br \/>\n328 kbps<br \/>\n\u2713*<\/p>\n<p><b>Linux (BlueZ + PulseAudio)<\/b><br \/>\n16, 32, 44.1, 48 kHz<br \/>\n64 (ved indg\u00e5ende forbindelse), 53 (ved udg\u00e5ende)<br \/>\nIngen begr\u00e6nsning<br \/>\n328 kbps<br \/>\n\u2713*<\/p>\n<p><b>macOS High Sierra<\/b><br \/>\n44,1 kHz<br \/>\n64, normalt 53***<br \/>\nUkendt<br \/>\n328 kbps<br \/>\n\u2717<\/p>\n<p><b>Android 4.4-9<\/b><br \/>\n44,1\/48 kHz**<br \/>\n53<br \/>\n328 kbps<br \/>\n328 kbps<br \/>\n\u2717<\/p>\n<p><b>Android 4.1-4.3.1<\/b><br \/>\n44,1, 48 kHz**<br \/>\n53<br \/>\n229 kbps<br \/>\n229 kbps<br \/>\n\u2717<\/p>\n<p><b>Blackberry OS 10<\/b><br \/>\n48 kHz<br \/>\n53<br \/>\nIngen begr\u00e6nsning<br \/>\n328 kbps<br \/>\n\u2717<\/p>\n<p><i><b>*<\/b> Bitpool reduceres kun, men \u00f8ges ikke automatisk, n\u00e5r transmissionsforholdene forbedres. For at gendanne Bitpool skal du stoppe afspilningen, vente et par sekunder og genstarte lyden.<br \/>\n<b>**<\/b> Standardv\u00e6rdien afh\u00e6nger af de indstillinger i stakken, der blev angivet under kompilering af firmwaren. I Android 8\/8.1 er frekvensen kun enten 44.1 kHz eller 48 kHz, afh\u00e6ngigt af indstillingerne ved kompilering; i andre versioner underst\u00f8ttes 44.1 kHz og 48 kHz samtidig.<br \/>\n<b>***<\/b> Bitpool-v\u00e6rdien kan h\u00e6ves i programmet Bluetooth Explorer.<\/i><\/p>\n<h2>aptX og aptX HD<\/h2>\n<p>aptX er en enkel og beregningsm\u00e6ssigt hurtig codec uden psykoakustik, der anvender adaptiv differens impuls-kode modulering (<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%90%D0%B4%D0%B0%D0%BF%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F_%D0%B4%D0%B8%D1%84%D1%84%D0%B5%D1%80%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%B8%D0%BC%D0%BF%D1%83%D0%BB%D1%8C%D1%81%D0%BD%D0%BE-%D0%BA%D0%BE%D0%B4%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F%D1%86%D0%B8%D1%8F\">ADPCM<\/a><\/noindex>). Den dukkede op omkring 1988 (datoen for indgivelsen <noindex><a rel=\"nofollow\" href=\"https:\/\/patents.google.com\/patent\/EP0398973B1\/en\">af patentet<\/a><\/noindex> er dateret februar 1988), f\u00f8r Bluetooth blev den prim\u00e6rt brugt i professionelt tr\u00e5dl\u00f8st audio-udstyr. I \u00f8jeblikket ejes den af Qualcomm og kr\u00e6ver licens og royaltybetalinger. Pr. 2014: $6000 engangsgebyr og ca. $1 per enhed for partier op til 10.000 enheder (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.silabs.com\/documents\/login\/presentations\/Developing-Bluetooth-Audio.pdf\">kilde<\/a><\/noindex>, s. 16).<br \/>\naptX og aptX HD er den samme codec, men med forskellige kodningsprofiler.<\/p>\n<p>Codec'en har kun \u00e9n parameter \u2014 valget af samplingfrekvens. Der er ogs\u00e5 valget af antal\/tilstande af kanaler, men i alle de enheder, jeg kender (70+ stykker), underst\u00f8ttes kun stereo.<\/p>\n<p>Codec<br \/>\nSamplingfrekvens<br \/>\nBitdybde<br \/>\nBitrate<br \/>\nUnderst\u00f8ttelse af kodning<br \/>\nUnderst\u00f8ttelse af dekodning<\/p>\n<p><b>aptX<\/b><br \/>\n16, 32, 44.1, 48 kHz<br \/>\n16 bit<br \/>\n128 \/ 256 \/ 352 \/ 384 kbit\/s (afh\u00e6ngig af samplingfrekvensen)<br \/>\nWindows 10 (desktop og mobil), macOS, Android 4.4+\/7*, Blackberry OS 10<br \/>\nEt bredt udvalg af audio-enheder (hardware)<\/p>\n<p><i><b>*<\/b> Versioner op til 7 kr\u00e6ver modificering af Bluetooth-stakken. Codec'en underst\u00f8ttes kun, hvis producenten af Android-enheden har licenseret brugen af codec'en fra Qualcomm (hvis OS'et har kodningsbiblioteker).<\/i><\/p>\n<p>aptX opdeler lyden i 4 frekvensb\u00e5nd og kvantiserer dem med det samme antal bits konstant: 8 bits for 0-5.5 kHz, 4 bits for 5.5-11 kHz, 2 bits for 11-16.5 kHz, 2 bits for 16.5-22 kHz (tallene for samplingfrekvensen 44.1 kHz).<\/p>\n<p>Eksempel p\u00e5 aptX-lyd (\u00f8verst \u2014 originalsignal, nederst \u2014 aptX, spektrogrammer kun for venstre kanal, lyd i FLAC):<br \/>\n<video controls style=\"top: 0; left: 0; width: 100%; height: 100%; position: absolute;\">Your browser does not support HTML5 video.<source src=\"https:\/\/files.catbox.moe\/06eohy.mp4\" type=\"video\/mp4\"><\/source><\/video><br \/>\nDe h\u00f8je frekvenser blev lidt r\u00f8dere, men forskellen kan ikke h\u00f8res.<\/p>\n<p>P\u00e5 grund af den faste fordeling af kvantiseringsbits kan codec'en ikke \"overf\u00f8re bits\" til de frekvenser, der har mest brug for dem. I mods\u00e6tning til SBC vil aptX ikke \"klippe\" frekvenser, men vil tilf\u00f8je kvantiseringsst\u00f8j og dermed reducere det dynamiske omr\u00e5de af lyden.<\/p>\n<p>Man skal ikke antage, at brugen af for eksempel 2 bits for b\u00e5ndet reducerer det dynamiske omr\u00e5de til 12 dB: ADPCM tillader at bruge op til 96 dB dynamisk omr\u00e5de, selv ved brug af 2 bits kvantisering, men kun ved en bestemt signal.<br \/>\nADPCM gemmer forskellen mellem den nuv\u00e6rende og den n\u00e6ste pr\u00f8ve i stedet for at optage den absolutte v\u00e6rdi, som i PCM. Dette g\u00f8r det muligt at reducere kravene til antallet af bits, der er n\u00f8dvendige for at gemme de samme (tabfri) eller n\u00e6sten de samme (med forholdsvis lille rundingsfejl) oplysninger. For at reducere rundingsfejl anvendes koefficienttabeller.<br \/>\nVed oprettelsen af codec'en beregnede forfatterne ADPCM-koefficienterne baseret p\u00e5 en samling af musikfiler. Jo t\u00e6ttere lydsignalet er p\u00e5 det s\u00e6t musik, som tabellerne er bygget p\u00e5, jo f\u00e6rre kvantiseringsfejl (st\u00f8j) skaber aptX.<\/p>\n<p>P\u00e5 grund af dette vil syntetiske tests altid give et resultat, der er v\u00e6rre end musik. Jeg lavede et specielt syntetisk eksempel, hvor aptX viser d\u00e5rlige resultater \u2014 en sinuskurve med en frekvens p\u00e5 12,4 kHz (\u00f8verst \u2014 originalsignalet, nederst \u2014 aptX. Lyden er i FLAC. Skru ned for lyden!):<br \/>\n<video controls style=\"top: 0; left: 0; width: 100%; height: 100%; position: absolute;\">Your browser does not support HTML5 video.<source src=\"https:\/\/files.catbox.moe\/kterhd.mp4\" type=\"video\/mp4\"><\/source><\/video><br \/>\nSpektrumgraf:<br \/>\n<img decoding=\"async\" alt=\"Audio via Bluetooth: A Comprehensive Overview of Profiles, Codecs, and Devices\" src=\"\/wp-content\/uploads\/94ecbf4a6f93b6ca85ca997e2be453ad.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSt\u00f8jen er tydeligt h\u00f8rbar.<\/p>\n<p>Men hvis man genererer en sinuskurve med mindre amplitude, s\u00e5 den er lavere, vil st\u00f8jen ogs\u00e5 blive lavere, hvilket indikerer et bredt dynamisk omr\u00e5de:<\/p>\n<p><img decoding=\"async\" alt=\"Audio via Bluetooth: A Comprehensive Overview of Profiles, Codecs, and Devices\" src=\"\/wp-content\/uploads\/64d0a3f41c152f5f4d01230722fc197a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFor at h\u00f8re forskellen mellem originalmusiknummeret og det komprimerede kan man invertere det ene signal og l\u00e6gge numrene sammen kanal for kanal. Denne tilgang er generelt set ukorrekt og ville ikke give et meningsfuldt resultat med mere komplekse codecs, men i tilf\u00e6lde af ADPCM er den helt passende.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/files.catbox.moe\/leq24q.flac\">Forskellen mellem originalen og aptX<\/a><\/noindex><br \/>\nDen gennemsnitlige kvadratiske forskel mellem signalerne ligger p\u00e5 niveauet -37,4 dB, hvilket ikke er meget for s\u00e5dan komprimeret musik.<\/p>\n<h3>aptX HD<\/h3>\n<p>aptX HD er ikke en selvst\u00e6ndig codec \u2014 det er en forbedret kodningsprofil af aptX codec. \u00c6ndringerne omhandler antallet af bits tildelt til kodning af frekvensomr\u00e5der: 10 bits for 0-5.5 kHz, 6 bits for 5.5-11 kHz, 4 bits for 11-16.5 kHz, 4 bits for 16.5-22 kHz (tal for 44.1 kHz).<\/p>\n<p>Codec<br \/>\nSamplingfrekvens<br \/>\nBitdybde<br \/>\nBitrate<br \/>\nUnderst\u00f8ttelse af kodning<br \/>\nUnderst\u00f8ttelse af dekodning<\/p>\n<p><b>aptX HD<\/b><br \/>\n16, 32, 44.1, 48 kHz<br \/>\n24 bits<br \/>\n192 \/ 384 \/ 529 \/ 576 kbit\/s (afh\u00e6ngigt af samplingsfrekvensen)<br \/>\nAndroid 8+*<br \/>\nNogle audio enheder (hardware)<\/p>\n<p><i><b>*<\/b> Versioner op til 7 kr\u00e6ver modificering af Bluetooth-stakken. Codec'en underst\u00f8ttes kun, hvis producenten af Android-enheden har licenseret brugen af codec'en fra Qualcomm (hvis OS'et har kodningsbiblioteker).<\/i><\/p>\n<p>Mindre udbredt end aptX: tilsyneladende kr\u00e6ver det separat licensering fra Qualcomm og konsoliderede royaltybetalinger.<\/p>\n<p>Lad os gentage eksemplet med en sinusoid ved 12.4 kHz:<br \/>\n<img decoding=\"async\" alt=\"Audio via Bluetooth: A Comprehensive Overview of Profiles, Codecs, and Devices\" src=\"\/wp-content\/uploads\/fe4f8d91dcbc39af881129a9c78ca453.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMeget bedre end med aptX, men stadig st\u00f8jende.<\/p>\n<h2>aptX Low Latency<\/h2>\n<p>Codec fra Qualcomm, der ikke har noget til f\u00e6lles med de standardm\u00e6ssige aptX og aptX HD, if\u00f8lge den sparsomme information fra folk involveret i dets udvikling. Designet til interaktiv lydoverf\u00f8rsel med lav forsinkelse (film, spil), hvor lydens forsinkelse ikke kan justeres softwarem\u00e6ssigt. Kendte softwareimplementeringer af encoder og decoder eksisterer ikke, det underst\u00f8ttes udelukkende af transmittere, modtagere, hovedtelefoner og h\u00f8jttalere, men ikke smartphones og computere.<\/p>\n<p>Samplingfrekvens<br \/>\nBitrate<br \/>\nUnderst\u00f8ttelse af kodning<br \/>\nUnderst\u00f8ttelse af dekodning<\/p>\n<p>44,1 kHz<br \/>\n276\/420 kbit\/s<br \/>\nNogle transmittere (hardware)<br \/>\nNogle audio enheder (hardware)<\/p>\n<h2>AAC<\/h2>\n<p>AAC, eller Advanced Audio Coding \u2014 en beregningsm\u00e6ssigt kompleks codec med en seri\u00f8s psykoakustisk model. Har opn\u00e5et stor udbredelse for lyd p\u00e5 internettet, det n\u00e6stmest popul\u00e6re efter MP3. Kr\u00e6ver licensering og royaltybetalinger: $15000 engangsbel\u00f8b (eller $1000 for selskaber med f\u00e6rre end 15 ansatte) + $0.98 for de f\u00f8rste 500000 enheder (<noindex><a rel=\"nofollow\" href=\"http:\/\/www.via-corp.com\/us\/en\/licensing\/aac\/licensefees.html\">kilde<\/a><\/noindex>).<br \/>\nCodec er standardiseret inden for rammerne af MPEG-2 og MPEG-4 specifikationer, og p\u00e5 trods af hyppige misforst\u00e5elser, tilh\u00f8rer det ikke Apple.<\/p>\n<p>Samplingfrekvens<br \/>\nBitrate<br \/>\nUnderst\u00f8ttelse af kodning<br \/>\nUnderst\u00f8ttelse af dekodning<\/p>\n<p>8 \u2014 96 kHz<br \/>\n8 \u2014 576 kbit\/s (for stereo), 256 \u2014 320 kbit\/s (typisk for Bluetooth)<br \/>\nmacOS, Android 7+*, iOS<br \/>\nEt bredt udvalg af audio-enheder (hardware)<\/p>\n<p><i><b>*<\/b> kun p\u00e5 enheder, hvis producenter har betalt royaltybetalinger<\/i><\/p>\n<p>I iOS og macOS bruges den bedste encoder fra Apple AAC, som nogensinde har v\u00e6ret tilg\u00e6ngelig og som sikrer den bedst mulige lydkvalitet. I Android anvendes den n\u00e6stbedste encoder, Fraunhofer FDK AAC, men der kan bruges forskellige hardware, der er indbygget i platformen (SoC), med ukendt kodningskvalitet. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.soundguys.com\/the-ultimate-guide-to-bluetooth-headphones-aac-20296\/\">If\u00f8lge nylige tests fra SoundGuys<\/a><\/noindex>, varierer kvaliteten af AAC-kodning mellem forskellige Android-telefoner st\u00e6rkt:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.soundguys.com\/wp-content\/uploads\/2018\/10\/aac-enhanced-view-fr-1200x788.jpg\"><img decoding=\"async\" alt=\"Audio via Bluetooth: A Comprehensive Overview of Profiles, Codecs, and Devices\" src=\"\/wp-content\/uploads\/7ae72554564f215dc765272065f5c97c.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>De fleste tr\u00e5dl\u00f8se lydapparater til AAC har en maksimal bitrate p\u00e5 320 kbps, mens nogle kun underst\u00f8tter 256 kbps. De \u00f8vrige bitrates ses sj\u00e6ldent.<br \/>\nAAC giver fremragende lydkvalitet ved bitrates p\u00e5 320 og 256 kbps, men er udsat for <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Generation_loss\">tab ved sekventiel kodning af allerede komprimeret indhold.<\/a><\/noindex>, men det er sv\u00e6rt at h\u00f8re nogen forskelle fra originalen p\u00e5 iOS ved 256 kbps, selv efter flere sekventielle kodninger; ved en enkelt kodning, fx MP3 320 kbps til AAC 256 kbps, kan tabene ignoreres.<br \/>\nSom med andre Bluetooth-codecs bliver al musik f\u00f8rst dekodet og derefter kodet af codec'en. N\u00e5r man lytter til musik i AAC-format, dekodes den f\u00f8rst af operativsystemet og kodet til AAC endnu en gang for at blive sendt via Bluetooth. Dette er n\u00f8dvendigt for at mikse flere lydstr\u00f8mme, fx musik og notifikationer om nye beskeder. iOS er ingen undtagelse. Der findes mange p\u00e5stande online om, at musik i AAC-format ikke transkodes ved transmission via Bluetooth p\u00e5 iOS, hvilket er forkert.<\/p>\n<p><\/p>\n<h2>MP1\/2\/3<\/h2>\n<p>Codec'er i MPEG-1\/2 Part 3-familien best\u00e5r af det velkendte og udbredte MP3, det mindre udbredte MP2 (som hovedsageligt bruges i digital tv og radio), og den helt ukendte MP1.<\/p>\n<p>De gamle codecs MP1 og MP2 underst\u00f8ttes overhovedet ikke: jeg kunne ikke finde nogen hovedtelefoner eller nogen Bluetooth-stak, der kodede eller dekodede dem.<br \/>\nDekodning af MP3 underst\u00f8ttes af nogle hovedtelefoner, men kodning underst\u00f8ttes ikke i nogen stak af moderne operativsystemer. Det ser ud til, at den tredjeparts stak BlueSoleil til Windows kan kode til MP3, hvis man manuelt \u00e6ndrer konfigurationsfilen, men installationen f\u00f8rer til BSoD p\u00e5 Windows 10. Konklusionen er, at codec'en faktisk ikke kan bruges til Bluetooth-lyd.<br \/>\nTidligere, i \u00e5rene 2006-2008, f\u00f8r standarden A2DP blev udbredt i enheder, lyttede folk til MP3-musik p\u00e5 Nokia BH-501 headset gennem MSI BluePlayer-appen, som var tilg\u00e6ngelig p\u00e5 Symbian og Windows Mobile. P\u00e5 det tidspunkt tillod smartphone-operativsystemets arkitektur adgang til mange low-level funktioner, og p\u00e5 Windows Mobile kunne man endda installere tredjeparts Bluetooth-stakke.<\/p>\n<p>Det sidste patent p\u00e5 codec'en MP3 udl\u00f8b, og brugen af codec'en kr\u00e6ver ikke licensbetalinger siden 23. april 2017.<\/p>\n<blockquote><p>Hvis den l\u00e6ngstvarende patent n\u00e6vnt i de f\u00f8rn\u00e6vnte referencer tages som m\u00e5l, blev MP3-teknologien patentsfri i USA den 16. april 2017, da US Patent 6,009,399, der ejes og administreres af Technicolor, udl\u00f8b.<\/p><\/blockquote>\n<p><i>Kilde: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.iis.fraunhofer.de\/en\/ff\/amm\/prod\/audiocodec\/audiocodecs\/mp3.html\">www.iis.fraunhofer.de\/en\/ff\/amm\/prod\/audiocodec\/audiocodecs\/mp3.html<\/a><\/noindex><\/i><\/p>\n<p>Samplingfrekvens<br \/>\nBitrate<br \/>\nUnderst\u00f8ttelse af kodning<br \/>\nUnderst\u00f8ttelse af dekodning<\/p>\n<p>16 \u2014 48 kHz<br \/>\n8 \u2014 320 kbps<br \/>\nSt\u00f8ttes ikke nogen steder<br \/>\nNogle audio enheder (hardware)<\/p>\n<h2>LDAC<\/h2>\n<p>Den nye, aktivt promoverede \u00abHi-Res\u00bb-codec fra Sony, som underst\u00f8tter samplefrekvenser op til 96 kHz og 24-bit opl\u00f8sning, med en bitrate p\u00e5 op til 990 kbps. Reklameret som en audiophil codec, der skal erstatte eksisterende Bluetooth-codecs. Har en funktion til adaptiv bitrate-justering, afh\u00e6ngigt af radioforholdene.<\/p>\n<p>Encoder LDAC (<noindex><a rel=\"nofollow\" href=\"https:\/\/android.googlesource.com\/platform\/external\/libldac\/\">libldac<\/a><\/noindex>) er inkluderet som standard i Android, s\u00e5 kodning underst\u00f8ttes p\u00e5 enhver Android-smartphone fra version 8 af OS. Software-dekodere findes ikke frit tilg\u00e6ngeligt, codec-specifikationen er ikke tilg\u00e6ngelig for offentligheden, men ved f\u00f8rste blik p\u00e5 encoderens indre struktur ligner codec'en <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Adaptive_Transform_Acoustic_Coding#ATRAC9\">ATRAC9<\/a><\/noindex> \u2014 codec'en fra Sony, der anvendes i PlayStation 4 og Vita: begge arbejder i frekvensomr\u00e5det, bruger modificeret diskret cosinus-transformation (MDCT) og komprimering ved hj\u00e6lp af Huffman-algoritmen.<\/p>\n<p>LDAC-support findes n\u00e6sten udelukkende p\u00e5 hovedtelefoner fra Sony. Muligheden for at dekode LDAC findes nogle gange p\u00e5 hovedtelefoner og DAC'er fra andre producenter, men meget sj\u00e6ldent.<\/p>\n<p>Samplingfrekvens<br \/>\nBitrate<br \/>\nUnderst\u00f8ttelse af kodning<br \/>\nUnderst\u00f8ttelse af dekodning<\/p>\n<p>44.1 \u2014 96 kHz<br \/>\n303\/606\/909 kbps (for 44.1 og 88.2 kHz), 330\/660\/990 kbps (for 48 og 96 kHz)<br \/>\nAndroid 8+<br \/>\nNogle Sony-hovedtelefoner og enkelte enheder fra andre producenter (hardwarem\u00e6ssigt)<\/p>\n<p>Marketing af LDAC som en Hi-Res codec skader dens tekniske komponent: det er t\u00e5beligt at spilde bitrate p\u00e5 at transmittere frekvenser, der ikke kan h\u00f8res af det menneskelige \u00f8re, og p\u00e5 h\u00f8jere opl\u00f8sning, n\u00e5r der ikke er nok til at transmittere CD-kvalitet (44.1\/16) uden tab. Heldigvis har codec'en to driftsl\u00e6ggere: transmission af CD-audio og transmission af Hi-Res-audio. I det f\u00f8rste tilf\u00e6lde transmitteres kun 44.1 kHz\/16 bit tr\u00e5dl\u00f8st.<\/p>\n<p>Da der ikke findes en software-dekoder til LDAC frit tilg\u00e6ngeligt, er det umuligt at teste codec'en uden ekstra enheder, der dekoder LDAC. If\u00f8lge testresultaterne af LDAC p\u00e5 en DAC med support, som ingeni\u00f8rerne fra SoundGuys.com tilsluttede via digital udgang, og optog den genererede lyd p\u00e5 testsignal, giver LDAC 660 og 990 kbps i CD-kvalitet et signal\/st\u00f8j-forhold, der er lidt bedre end aptX HD.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.soundguys.com\/wp-content\/uploads\/2018\/10\/LDAC-990-CD-Noise-Floor.jpg\"><img decoding=\"async\" alt=\"Audio via Bluetooth: A Comprehensive Overview of Profiles, Codecs, and Devices\" src=\"\/wp-content\/uploads\/819853ab9d92e9631454082ade245628.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<i>Kilde: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.soundguys.com\/ldac-ultimate-bluetooth-guide-20026\/\">www.soundguys.com\/ldac-ultimate-bluetooth-guide-20026<\/a><\/noindex><\/i><\/p>\n<p>LDAC underst\u00f8tter ogs\u00e5 dynamisk bitrate uden for de fastsatte profiler \u2014 fra 138 kbps til 990 kbps, men s\u00e5 vidt jeg kan se, bruges der kun standardiserede profiler 303\/606\/909 og 330\/660\/990 kbps p\u00e5 Android.<\/p>\n<h2>Andre codec'er<\/h2>\n<p>Andre A2DP-codec'er har ikke opn\u00e5et den samme popularitet. Deres underst\u00f8ttelse er enten n\u00e6sten ikke-eksisterende eller kun tilg\u00e6ngelig p\u00e5 bestemte modeller af hovedtelefoner og smartphones.<br \/>\nDen standardiserede A2DP codec ATRAC er aldrig blevet brugt som Bluetooth-codec, selv ikke af Sony selv, mens Samsung HD, Samsung Scalable og Samsung UHQ-BT har meget begr\u00e6nset underst\u00f8ttelse fra sender- og modtagerenheder, og HWA LHDC er for ny og underst\u00f8ttes kun af tre(?) enheder.<\/p>\n<p><\/p>\n<h1>Underst\u00f8ttelse af codecs af lyd-enheder<\/h1>\n<p>Ikke alle producenter offentligg\u00f8r pr\u00e6cise oplysninger om, hvilke codecs der underst\u00f8ttes af bestemte tr\u00e5dl\u00f8se hovedtelefoner, h\u00f8jttalere, receivere eller transmittere. Nogle gange kan det v\u00e6re s\u00e5dan, at underst\u00f8ttelsen af en bestemt codec kun eksisterer for afsendelse, men ikke for modtagelse (relevant for kombinerede transmitter-receivere), selvom producenten blot h\u00e6vder \u201eunderst\u00f8ttelse\u201c, uden kommentarer (jeg formoder, at det skyldes den adskilte licensering af encoder og decoder for nogle codecs). I de billigste enheder kan man slet ikke finde den p\u00e5st\u00e5ede st\u00f8tte for aptX.<\/p>\n<p>Desv\u00e6rre vises den anvendte codec ikke noget sted i de fleste OS-gr\u00e6nseflader. Denne information findes kun p\u00e5 Android fra version 8 og macOS. Dog vil disse OS kun vise de codecs, som b\u00e5de telefon\/computer og hovedtelefoner underst\u00f8tter.<\/p>\n<p>Hvordan kan man finde ud af, hvilke codecs enheden underst\u00f8tter? Optag og analyser A2DP-forhandlingsdata!<br \/>\nDet kan g\u00f8res p\u00e5 Linux, macOS og Android. P\u00e5 Linux kan man bruge Wireshark eller hcidump, p\u00e5 macOS \u2014 Bluetooth Explorer, og p\u00e5 Android \u2014 den indbyggede funktion til at gemme Bluetooth HCI dump, som er tilg\u00e6ngelig i udviklerindstillingerne. Du vil f\u00e5 et dump i btsnoop-format, som kan uploades til Wireshark-analyzeren.<br \/>\n<b>V\u00e6r opm\u00e6rksom p\u00e5<\/b>: Et korrekt dump kan kun opn\u00e5s ved at tilslutte en telefon\/pc til hovedtelefonerne\/h\u00f8jttaleren (uanset hvor m\u00e6rkeligt det lyder)! Hovedtelefonerne kan selv etablere forbindelse til telefonen, og i s\u00e5 fald vil de anmode om en liste over codec'er fra telefonen, og ikke omvendt. For at sikre en korrekt dump, afbryd f\u00f8rst parringen med enheden, og par derefter telefonen med hovedtelefonerne under dumpoptagelsen.<\/p>\n<p>Brug f\u00f8lgende visningsfilter for at filtrere irrelevant trafik:<\/p>\n<pre><code class=\"plaintext\">btavdtp.signal_id<\/code><\/pre>\n<p>Som resultat skal du se noget lignende:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/fv\/ku\/xs\/fvkuxsqcdwtxznupploqmldv9qm.png\"><img decoding=\"async\" alt=\"Audio via Bluetooth: A Comprehensive Overview of Profiles, Codecs, and Devices\" src=\"\/wp-content\/uploads\/b598f3282b36d7761c5f4fa63802d57e.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Du kan klikke p\u00e5 hvert punkt i GetCapabilities kommandoen og se detaljerede specifikationer for codec'en.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/7s\/9a\/xa\/7s9axaeztya_dr2irptfi68ejxs.png\"><img decoding=\"async\" alt=\"Audio via Bluetooth: A Comprehensive Overview of Profiles, Codecs, and Devices\" src=\"\/wp-content\/uploads\/e5037fe18ae95ed7f047f4b8b8fcb2c8.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Wireshark kender ikke alle codec-id'er, s\u00e5 nogle codec'er skal dekodes manuelt ved at se i tabellen over id'er nedenfor:<\/p>\n<pre><code class=\"plaintext\">Obligatorisk:\n0x00 - SBC\n\nValgfri:\n0x01 - MPEG-1,2 (aka MP3)\n0x02 - MPEG-2,4 (aka AAC)\n0x04 - ATRAC\n\nLeverand\u00f8rspecifik:\n0xFF 0x004F 0x01   - aptX\n0xFF 0x00D7 0x24   - aptX HD\n0xFF 0x000A 0x02   - aptX Low Latency\n0xFF 0x00D7 0x02   - aptX Low Latency\n0xFF 0x000A 0x01   - FastStream\n0xFF 0x012D 0xAA   - LDAC\n0xFF 0x0075 0x0102 - Samsung HD\n0xFF 0x0075 0x0103 - Samsung Scalable Codec\n0xFF 0x053A 0x484C - Savitech LHDC\n\n0xFF 0x000A 0x0104 - CSR True Wireless Stereo v3 Codec-ID for AAC\n0xFF 0x000A 0x0105 - CSR True Wireless Stereo v3 Codec-ID for MP3\n0xFF 0x000A 0x0106 - CSR True Wireless Stereo v3 Codec-ID for aptX<\/code><\/pre>\n<p>For ikke at skulle analysere dumps manuelt, har jeg lavet en service, der analyserer alt automatisk: <noindex><a rel=\"nofollow\" href=\"https:\/\/btcodecs.valdikss.org.ru\">btcodecs.valdikss.org.ru<\/a><\/noindex><\/p>\n<p><\/p>\n<h1>Sammenligning af codec'er. Hvilken codec er bedst?<\/h1>\n<p>Hver codec har sine egne fordele og ulemper.<br \/>\naptX og aptX HD bruger faste profiler, der ikke kan \u00e6ndres uden modifikation af encoder og decoder. V\u00e6rken producenten af telefonen eller producenten af hovedtelefonerne kan \u00e6ndre bitrate eller kodningsforhold for aptX. Codec-ejeren, Qualcomm, udleverer en referenceencoder i form af et bibliotek. Disse fakta er en styrke ved aptX \u2014 du ved p\u00e5 forh\u00e5nd, hvilken lydkvalitet du vil f\u00e5, uden nogen 'men'.<\/p>\n<p>SBC har derimod mange tilpassede indstillinger, dynamisk bitrate (encoder kan s\u00e6nke bitpool-parametret, hvis radioens b\u00e5ndbredde er overloaded), og har ikke faste profiler, men kun anbefalede 'middel kvalitet' og 'h\u00f8j kvalitet', som blev tilf\u00f8jet i A2DP-specifikationen i 2003. 'H\u00f8j kvalitet' er allerede ikke s\u00e5 h\u00f8j efter nutidige standarder, og de fleste Bluetooth-stacks tillader ikke at bruge indstillinger, der er bedre end 'h\u00f8j kvalitet', selvom der ikke er tekniske begr\u00e6nsninger for dette.<br \/>\nBluetooth SIG har ikke en reference SBC-encoder som et bibliotek, og producenter implementerer det selv.<br \/>\nDette er SBC's svagheder \u2013 det er aldrig klart p\u00e5 forh\u00e5nd, hvilken lydkvalitet man kan forvente fra en bestemt enhed. SBC kan levere b\u00e5de lav og meget h\u00f8j lydkvalitet, men den sidste er ikke opn\u00e5elig uden at slukke for eller omg\u00e5 de kunstige begr\u00e6nsninger i Bluetooth-stacks.<\/p>\n<p>Situationen med AAC er tvetydig: p\u00e5 den ene side b\u00f8r codec-teoretisk set levere kvalitet, der ikke kan skelnes fra originalen, men i praksis, if\u00f8lge tests fra SoundGuys-laboratoriet p\u00e5 forskellige Android-enheder, bekr\u00e6ftes dette ikke. Sandsynligvis ligger skylden hos de lavkvalitets hardware-audioencodere, der er indbygget i forskellige chip-s\u00e6t i telefoner. Det giver mening at bruge AAC kun p\u00e5 Apple-enheder, mens man p\u00e5 Android b\u00f8r n\u00f8jes med aptX og LDAC.<\/p>\n<p>Hardware, der underst\u00f8tter alternative codecs, er som regel af h\u00f8jere kvalitet, simpelthen fordi det ikke giver mening at betale licensafgifter for at bruge disse codecs p\u00e5 meget billige lavkvalitets-enheder. If\u00f8lge mine tests lyder SBC meget godt p\u00e5 kvalitetsudstyr.<\/p>\n<p>Jeg lavede en webservice til at kode audio i SBC, aptX og aptX HD i realtid, direkte i browseren. Med den kan du teste disse audio-codecs uden faktisk at transmittere audio via Bluetooth, p\u00e5 enhver kablet hovedtelefon, h\u00f8jttaler og din yndlingsmusik, samt \u00e6ndre kodningsparametrene lige under afspilningen af audio:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/btcodecs.valdikss.org.ru\/sbc-encoder\/\">btcodecs.valdikss.org.ru\/sbc-encoder<\/a><\/noindex><br \/>\nTjenesten bruger SBC-kodningsbibliotekerne fra BlueZ-projektet og libopenaptx fra ffmpeg, som er kompileret til WebAssembly og JavaScript fra C, gennem emscripten, for at kunne k\u00f8re i browseren. Hvem kunne have dr\u00f8mt om s\u00e5dan en fremtid!<\/p>\n<p>S\u00e5dan ser det ud:<br \/>\n<video controls style=\"top: 0; left: 0; width: 100%; height: 100%; position: absolute;\">Your browser does not support HTML5 video.<source src=\"https:\/\/files.catbox.moe\/9e9q8f.mp4\" type=\"video\/mp4\"><\/source><\/video><br \/>\nBem\u00e6rk, hvordan st\u00f8jniveauet \u00e6ndres efter 20 kHz med forskellige codecs. I den originale MP3-fil er frekvenser over 20 kHz frav\u00e6rende.<\/p>\n<p>Pr\u00f8v at skifte mellem codecs og vurdere, om du kan h\u00f8re forskel mellem originalen, SBC 53 Joint Stereo (standard og den mest udbredte profil), og aptX\/aptX HD.<\/p>\n<p><\/p>\n<h2>Jeg h\u00f8rer forskel mellem codec'erne <i>i hovedtelefonerne.<\/i>!<\/h2>\n<p>Folk, der ikke h\u00f8rer forskel mellem codec'erne under test gennem webtjenester, er sikre p\u00e5, at de kan h\u00f8re det, n\u00e5r de lytter til musik i tr\u00e5dl\u00f8se hovedtelefoner. Desv\u00e6rre er det ikke en joke eller placebo-effekt: forskellen er faktisk h\u00f8rbar, men den skyldes ikke forskellene <i>mellem codec'erne.<\/i>.<\/p>\n<p>Langt st\u00f8rstedelen af Bluetooth audio chips\u00e6t, der anvendes i modtagende tr\u00e5dl\u00f8se enheder, er udstyret med en digital signalprocessor (DSP), som implementerer en equalizer, kompressor, stereo-udvider og andre funktioner designet til at forbedre (eller \u00e6ndre) lyden. Producenter af Bluetooth-udstyr kan tilpasse DSP'en <i>for hver codec separat.<\/i>, og n\u00e5r der skiftes mellem codec'erne, vil lytterne have indtrykket af, at de h\u00f8rer forskellen mellem codec'erne, n\u00e5r de i virkeligheden lytter til forskellige DSP-indstillinger.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/0j\/75\/rv\/0j75rvrbutguojyxx9yu0s-uang.png\"><img decoding=\"async\" alt=\"Audio via Bluetooth: A Comprehensive Overview of Profiles, Codecs, and Devices\" src=\"\/wp-content\/uploads\/6a8f7ab3ef52753cd32f398c023cd601.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<i>DSP lydbearbejdningspipeline Kalimba i chips fra CSR\/Qualcomm<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Audio via Bluetooth: A Comprehensive Overview of Profiles, Codecs, and Devices\" src=\"\/wp-content\/uploads\/5dd07986d55d2e7e65697ab7114a942b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Aktivering af forskellige DSP-funktioner for hver codec og udgang separat.<\/i><\/p>\n<p>Nogle enheder i premium-segmentet leveres med software, der muligg\u00f8r tilpasning af DSP-parametre, men de fleste billigere hovedtelefoner har ikke denne mulighed, og brugere kan ikke deaktivere post-processing af lyden med almindelige midler.<\/p>\n<p><\/p>\n<h2>Funktionelle egenskaber ved enhederne<\/h2>\n<p>Den moderne version af A2DP-standarden har <b>funktionen \"absolut lydstyrkeregulering\".<\/b> \u2014 styring af enhedens lydstyrke med s\u00e6rlige kommandoer fra AVRCP-protokollen, der justerer forst\u00e6rkningen af udgangstrinnet i stedet for at reducere lydstr\u00f8mmen softwarem\u00e6ssigt. Hvis \u00e6ndringen i lydstyrken p\u00e5 hovedtelefonerne ikke synkroniseres med lydstyrken p\u00e5 telefonen, betyder det, at dine hovedtelefoner eller telefon ikke underst\u00f8tter denne funktion. I s\u00e5 fald er det fornuftigt at lytte til musik altid med maksimal lydstyrke p\u00e5 telefonen, mens den faktiske lydstyrke justeres med knapperne p\u00e5 hovedtelefonerne \u2014 p\u00e5 denne m\u00e5de vil forholdet mellem signal og st\u00f8j v\u00e6re bedre, og lydkvaliteten. <i>skal v\u00e6re<\/i> h\u00f8jere.<br \/>\nI virkeligheden er der triste situationer. P\u00e5 mine hovedtelefoner RealForce OverDrive D1 er der aktiveret en kraftig kompressor for SBC, og en stigning i lydstyrken medf\u00f8rer, at niveauet for svage lyde \u00f8ges, mens lydstyrken for h\u00f8je lyde forbliver den samme (signal komprimeres). P\u00e5 grund af dette skal jeg indstille lydstyrken p\u00e5 computeren til cirka halvdelen, i dette tilf\u00e6lde er kompressionseffekten n\u00e6sten ikke til stede.<br \/>\nEfter mine observationer underst\u00f8tter alle hovedtelefoner med ekstra kodekker funktionen for absolut lydjustering, tilsyneladende er dette et af kravene for certificering af kodekker.<\/p>\n<p>Nogle hovedtelefoner underst\u00f8tter <b>tilslutning af to enheder samtidigt<\/b>. Dette g\u00f8r det muligt at lytte til musik fra computeren og tage opkald fra telefonen. Dog skal det bem\u00e6rkes, at i denne tilstand de alternative kodekker deaktiveres, og der anvendes kun SBC.<\/p>\n<p><b>AVDTP 1.3 Delay Reporting-funktionen<\/b> giver hovedtelefonerne mulighed for at rapportere forsinkelsen til det sendende apparat, hvorved lyd faktisk afspilles. Dette g\u00f8r det muligt at justere synkroniseringen af lyd med video under afspilning af video: ved problemer med radiotransmission vil lyden ikke falde bagud i forhold til videoen, men i stedet vil videoen blive forsinket af videoafspilleren, indtil lyden og videoen igen synkroniseres.<br \/>\nFunktionen underst\u00f8ttes af mange hovedtelefoner, Android 9+ og Linux med PulseAudio 12.0+. Jeg kender ikke til underst\u00f8ttelse af funktionen p\u00e5 andre platforme.<\/p>\n<p><\/p>\n<h1>To-vejs kommunikation via Bluetooth. Overf\u00f8rsel af stemme.<\/h1>\n<p>For voice transmission over Bluetooth, Synchronous Connection Oriented (SCO) is used \u2014 a synchronous transmission with pre-established connection agreement. This mode allows sound and voice to be transmitted strictly in order, with a symmetric send and receive speed, without waiting for transmission confirmation and packet retransmission. This reduces the overall audio transmission delay through the radio channel but imposes serious limitations on the amount of data transmitted per unit of time and negatively affects quality.<br \/>\nWhen this mode is used, both voice and audio are transmitted with the same quality.<br \/>\nUnfortunately, as of 2019, the quality of speech transmission over Bluetooth is still low, and it is unclear why Bluetooth SIG is not addressing this issue.<\/p>\n<h5>CVSD<\/h5>\n<p>The basic speech transmission codec CVSD was standardized in 2002 and is supported by all bidirectional communication devices over Bluetooth. It provides audio transmission with a sampling rate of 8 kHz, equivalent to the quality of regular wired telephony. <\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/files.catbox.moe\/c4h77s.flac\">Example recording in this codec<\/a><\/noindex>.<\/p>\n<h5>mSBC<\/h5>\n<p>The additional codec mSBC was standardized in 2009, and by 2010 chips using it for voice transmission had already appeared. mSBC is widely supported by various devices.<br \/>\nThis is not a standalone codec, but the regular SBC from the A2DP standard, with a fixed encoding profile: 16 kHz, mono, bitpool 26.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/files.catbox.moe\/b09joy.flac\">Example recording in this codec<\/a><\/noindex>.<\/p>\n<p>Not exceptional, but much better than CVSD; however, it is still unpleasant to use for internet communication, especially when using headphones for gaming communication \u2014 game sound will also be transmitted with a sampling rate of 16 kHz.<\/p>\n<p>FastStreamCSR decided to develop the idea of reusing SBC. To overcome the limitations of the SCO protocol and utilize higher bit rates, CSR took a different path \u2014 they incorporated support for bidirectional SBC audio into the one-way audio transmission standard A2DP, standardized encoding profiles, and called it \"FastStream.\"<\/p>\n<p>FastStream transmits stereo sound to the speakers at 44.1 or 48 kHz with a bit rate of 212 kbps, while audio from the microphone is transmitted in mono at 16 kHz, with a bit rate of 72 kbps (slightly better than mSBC). Such parameters are much better suited for communication in online games \u2014 game and interlocutor sounds will be of high quality.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/files.catbox.moe\/4gazzt.flac\">Example recording in this codec<\/a><\/noindex> (+ <noindex><a rel=\"nofollow\" href=\"https:\/\/files.catbox.moe\/b09joy.flac\">sound from the microphone, the same as mSBC<\/a><\/noindex>).<\/p>\n<p>Virksomheden har fundet p\u00e5 en interessant l\u00f8sning, men fordi den er i strid med A2DP-standarden, er dens support kun tilg\u00e6ngelig i nogle af virksomhedens transmittere (som fungerer som USB-lydkort og ikke som Bluetooth-enheder), men den er ikke blevet underst\u00f8ttet i Bluetooth-stakkerne, selvom antallet af hovedtelefoner med st\u00f8tte for FastStream ikke er s\u00e5 lille.<\/p>\n<p>P\u00e5 nuv\u00e6rende tidspunkt er der kun support for FastStream i operativsystemet <noindex><a rel=\"nofollow\" href=\"https:\/\/lists.freedesktop.org\/archives\/pulseaudio-discuss\/2019-June\/031175.html\">som et patch til Linux-baseret PulseAudio<\/a><\/noindex> fra udvikleren Pali Roh\u00e1r, som ikke er inkluderet i hovedgrenen af programmet.<\/p>\n<h5>aptX Low Latency<\/h5>\n<p>Til stor overraskelse underst\u00f8tter aptX Low Latency ogs\u00e5 tovejsaudio, hvilket implementerer det samme princip som FastStream.<br \/>\nDenne funktion i codec'et kan ikke bruges noget sted \u2014 der er ikke nogen dekodningssupport for Low Latency i noget operativsystem eller i nogen kendte Bluetooth-stakke.<\/p>\n<p><\/p>\n<h1>Bluetooth 5, Classic og Low Energy<\/h1>\n<p>Der er opst\u00e5et stor forvirring omkring specifikationer og versioner af Bluetooth p\u00e5 grund af eksistensen af to inkompatible standarder under det samme m\u00e6rke, som begge er bredt anvendt til forskellige form\u00e5l.<\/p>\n<p>Der er to forskellige, ikke-kompatible Bluetooth-protokoller: Bluetooth Classic og Bluetooth Low Energy (LE, ogs\u00e5 kendt som Bluetooth Smart). Der er ogs\u00e5 en tredje protokol, Bluetooth High Speed, men den er ikke udbredt og anvendes ikke i forbrugerenheder.<\/p>\n<p>Fra og med Bluetooth 4.0 har \u00e6ndringer i specifikationen prim\u00e6rt v\u00e6ret relateret til Bluetooth Low Energy, mens Classic-versionen kun har f\u00e5et mindre forbedringer.<\/p>\n<p>Listen over \u00e6ndringer mellem Bluetooth 4.2 og Bluetooth 5:<\/p>\n<blockquote><p>9 \u00c6NDRINGER FRA V4.2 TIL 5.0<\/p>\n<p>9.1 NYE FUNKTIONER<\/p>\n<p>Flere nye funktioner pr\u00e6senteres i Bluetooth Core Specification 5.0 Release. De vigtigste forbedringsomr\u00e5der er:<br \/>\n\u2022 Slot Availability Mask (SAM)<br \/>\n\u2022 2 Msym\/s PHY for LE<br \/>\n\u2022 LE Long Range<br \/>\n\u2022 High Duty Cycle Non-Connectable Advertising<br \/>\n\u2022 LE Advertising Extensions<br \/>\n\u2022 LE Channel Selection Algorithm #2<br \/>\n9.1.1 Funktioner tilf\u00f8jet i CSA5 \u2014 Integreret i v5.0<br \/>\n\u2022 H\u00f8jere outputeffekt<\/p><\/blockquote>\n<p><i>Kilde: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.bluetooth.org\/docman\/handlers\/DownloadDoc.ashx?doc_id=421043\">www.bluetooth.org\/docman\/handlers\/DownloadDoc.ashx?doc_id=421043<\/a><\/noindex> (side 291)<\/i><\/p>\n<p>Kun \u00e9n \u00e6ndring vedr\u00f8rte Classic-versionen inden for specifikationen for Bluetooth 5: der blev tilf\u00f8jet st\u00f8tte til teknologien Slot Availability Mask (SAM), som skal forbedre opdelingen af radiospektret. Alle andre \u00e6ndringer p\u00e5virker kun Bluetooth LE (og Higher Output Power ogs\u00e5).<\/p>\n<p><b>Alle<\/b> lydelementer bruger kun Bluetooth Classic. Det er ikke muligt at tilslutte hovedtelefoner og h\u00f8jttalere via Bluetooth Low Energy: der findes ikke nogen standard for overf\u00f8rsel af audio ved hj\u00e6lp af LE. A2DP-standarden, der bruges til overf\u00f8rsel af h\u00f8j kvalitet audio, fungerer kun gennem Bluetooth Classic, og der findes ingen tilsvarende i LE.<\/p>\n<p>Det giver ikke mening at k\u00f8be lydudstyr med Bluetooth 5 kun p\u00e5 grund af den nye version af protokollen. Bluetooth 4.0\/4.1\/4.2 vil fungere pr\u00e6cist p\u00e5 samme m\u00e5de i forbindelse med lydoverf\u00f8rsel.<br \/>\nHvis annonceringen af nye h\u00f8retelefoner n\u00e6vner en fordoblet r\u00e6kkevidde og lavere energiforbrug takket v\u00e6re Bluetooth 5, s\u00e5 ved du, at de enten ikke har styr p\u00e5 det, eller at de f\u00f8rer dig bag lyset. Det er ikke overraskende, for selv producenterne af Bluetooth-chip s\u00e6tter ofte en fod forkert i deres annoncering af forskellene i den nye version af standarden, og nogle Bluetooth 5-chips underst\u00f8tter kun den femte version for LE, mens de bruger 4.2 for Classic.<\/p>\n<h1>Lydforsinkelse<\/h1>\n<p>St\u00f8rrelsen p\u00e5 lydforsinkelsen afh\u00e6nger af mange faktorer: st\u00f8rrelsen p\u00e5 bufferen i lydstakken, i Bluetooth-stakken og i den tr\u00e5dl\u00f8se enhed, der afspiller, samt codec'ens algoritmiske forsinkelse.<\/p>\n<p>Forsinkelsen for Simple Codecs som SBC, aptX og aptX HD er meget lille og ligger p\u00e5 3-6 ms, hvilket kan forsgaes, men komplekse codecs som AAC og LDAC kan give m\u00e6rkbar forsinkelse. Den algoritmiske forsinkelse for AAC ved 44.1 kHz er 60 ms. LDAC er omkring 30 ms (if\u00f8lge grov analyse af kildekoden. Jeg kan tage fejl, men ikke meget.)<\/p>\n<p>Den samlede forsinkelse afh\u00e6nger st\u00e6rkt af den afspillende enhed, dens chipset og buffer. Under test fik jeg en spredning fra 150 til 250 ms p\u00e5 forskellige enheder (med SBC codec). Hvis vi antager, at enheder med st\u00f8tte for ekstra codecs som aptX, AAC, og LDAC bruger kvalitetskomponenter og lille bufferst\u00f8rrelse, f\u00e5r vi f\u00f8lgende typiske forsinkelser:<\/p>\n<p>SBC: 150-250 ms<br \/>\naptX: 130-180 ms<br \/>\nAAC: 190-240 ms<br \/>\nLDAC: 160-210 ms<\/p>\n<p>Jeg minder om: aptX Low Latency underst\u00f8ttes ikke i operativsystemerne, hvilket betyder, at mindre forsinkelse kun kan opn\u00e5s ved en kombination af transmitter+modtager eller transmitter+\u00f8retelefoner\/kolonne, og alle enheder skal underst\u00f8tte denne codec.<\/p>\n<p><\/p>\n<h1>Problemer med enheder, certifikationer og Bluetooth-logoer<\/h1>\n<p>Hvordan skelner man et kvalitets lydudstyr fra en billig kopi? F\u00f8rst og fremmest udseendet!<\/p>\n<p>Billige kinesiske h\u00f8retelefoner, h\u00f8jtalere og modtagere har:<\/p>\n<ol>\n<li>Ikke ordet \"Bluetooth\" p\u00e5 kassen og enheden, oftere bruges \"Wireless\" og \"BT\"<\/li>\n<li>Mangel p\u00e5 Bluetooth-logo <img decoding=\"async\" alt=\"Audio via Bluetooth: A Comprehensive Overview of Profiles, Codecs, and Devices\" src=\"\/wp-content\/uploads\/bde65e4674a5d573c0482e64ea6ff2d3.png\" style=\"display:block;margin: 0 auto;\" \/> p\u00e5 kassen eller enheden<\/li>\n<li>Ingen blinkende bl\u00e5 LED-lampe<\/li>\n<\/ol>\n<p>\nFrav\u00e6ret af disse elementer indikerer, at enheden ikke har gennemg\u00e5et certificering, hvilket betyder, at den potentielt er af lav kvalitet og problematisk. For eksempel er hovedtelefonerne fra Bluedio ikke certificeret af Bluetooth og opfylder ikke fuldt ud A2DP-specifikationen. De ville ikke klare certificeringen.<\/p>\n<p>Lad os se p\u00e5 nogle enheder og deres kasser:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/e4\/qa\/rr\/e4qarrce8fcjv8wwu46aiyib3oa.jpeg\"><img decoding=\"async\" alt=\"Audio via Bluetooth: A Comprehensive Overview of Profiles, Codecs, and Devices\" src=\"\/wp-content\/uploads\/12b3b234a522eaef783b480e8f003ffc.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/ba\/06\/vb\/ba06vbcolhpvuie2xlbgnvsycd0.jpeg\"><img decoding=\"async\" alt=\"Audio via Bluetooth: A Comprehensive Overview of Profiles, Codecs, and Devices\" src=\"\/wp-content\/uploads\/da56314dd65a1000cd3b545d9925d08b.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/mw\/1b\/t1\/mw1bt1hp0cz11xuilzyz0a70dca.jpeg\"><img decoding=\"async\" alt=\"Audio via Bluetooth: A Comprehensive Overview of Profiles, Codecs, and Devices\" src=\"\/wp-content\/uploads\/2bb0356a92d8aee2a84c3123aa8d7e09.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Dette er alt sammen ukcertificerede enheder. I manualen kan der v\u00e6re et logo og navnet p\u00e5 Bluetooth-teknologien, men det vigtigste er, at de er p\u00e5 kassen og\/eller selve enheden.<\/p>\n<p>Hvis dine hovedtelefoner eller h\u00f8jttaler siger \u201eZe bluetooth dewise is connecteda successfulle\u201c, siger det heller ikke noget om deres kvalitet:<br \/>\n<center><div class=\"youtube-placeholder\" data-id=\"TOFbsbGpIWk\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/TOFbsbGpIWk\/hqdefault.jpg\" alt=\"Afspil video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<p><\/p>\n<h1>Konklusion<\/h1>\n<p>Kan Bluetooth fuldst\u00e6ndig erstatte kablede hovedtelefoner og headset? Det kan det, men med lavere kvalitet i samtalemodus, \u00f8get forsinkelse i lydoverf\u00f8rslen, som kan irritere i spil, og mange propriet\u00e6re codecs, der kr\u00e6ver licensafgifter og \u00f8ger den endelige pris p\u00e5 b\u00e5de smartphones og hovedtelefoner.<\/p>\n<p>Markedsf\u00f8ringen af alternative codecs er meget st\u00e6rk: aptX og LDAC pr\u00e6senteres som en l\u00e6nge ventet erstatning for den \u201efor\u00e6ldede og d\u00e5rlige\u201c SBC, som ikke er s\u00e5 d\u00e5rlig, som man ofte mener.<\/p>\n<p>Det viser sig, at de kunstige begr\u00e6nsninger i Bluetooth-stacks p\u00e5 bitraten for SBC kan omg\u00e5s, s\u00e5 SBC ikke vil give efter for aptX HD. Jeg tog initiativet og lavede en patch til LineageOS-firmware: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/455316\/\">Modificerer Bluetooth-stakken for at forbedre lyden p\u00e5 hovedtelefoner uden AAC, aptX og LDAC codecs<\/a><\/noindex><\/p>\n<p>Mere information kan findes p\u00e5 siderne <noindex><a rel=\"nofollow\" href=\"https:\/\/www.soundguys.com\/\">SoundGuys<\/a><\/noindex> og <noindex><a rel=\"nofollow\" href=\"http:\/\/soundexpert.org\/\">SoundExpert<\/a><\/noindex>.<\/p>\n<p><b>Bonus:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/files.catbox.moe\/29l4kd.zip\">referencen encoder SBC, information om A2DP bitstream og testfiler<\/a><\/noindex>. Denne fil var tidligere offentligt tilg\u00e6ngelig p\u00e5 Bluetooth's hjemmeside, men er nu kun tilg\u00e6ngelig for dem, der er blevet medlemmer af Bluetooth SIG.<\/p>\n<p>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/427997\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418\u0437-\u0437\u0430 \u043c\u0430\u0441\u0441\u043e\u0432\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u043e\u0432 \u0431\u0435\u0437 \u0430\u0443\u0434\u0438\u043e\u0440\u0430\u0437\u044a\u0435\u043c\u0430 3.5 \u043c\u043c \u0431\u0435\u0441\u043f\u0440\u043e\u0432\u043e\u0434\u043d\u044b\u0435 Bluetooth-\u043d\u0430\u0443\u0448\u043d\u0438\u043a\u0438 \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u0438\u0445 \u0441\u0442\u0430\u043b\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u043d\u0438\u044f \u043c\u0443\u0437\u044b\u043a\u0438 \u0438 \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0433\u0430\u0440\u043d\u0438\u0442\u0443\u0440\u044b. \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0438 \u0431\u0435\u0441\u043f\u0440\u043e\u0432\u043e\u0434\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0438\u0448\u0443\u0442 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0435 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u0442\u043e\u0432\u0430\u0440\u0430, \u0430 \u0441\u0442\u0430\u0442\u044c\u0438 \u043e Bluetooth-\u0430\u0443\u0434\u0438\u043e \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u0432\u044b, \u043c\u0435\u0441\u0442\u0430\u043c\u0438 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b, \u043d\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043e \u0432\u0441\u0435\u0445 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u0445, \u0438 \u0447\u0430\u0441\u0442\u043e \u043a\u043e\u043f\u0438\u0440\u0443\u044e\u0442 \u043e\u0434\u043d\u0443 \u0438 \u0442\u0443 \u0436\u0435 \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35145","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0418\u0437-\u0437\u0430 \u043c\u0430\u0441\u0441\u043e\u0432\u043e\u0433\u043e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/audio-cherez-bluetooth-maksimalno-podrobno-o-profilyah-kodekah-i-ustrojstvah\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0410\u0443\u0434\u0438\u043e \u0447\u0435\u0440\u0435\u0437 Bluetooth: \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044f\u0445, \u043a\u043e\u0434\u0435\u043a\u0430\u0445 \u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418\u0437-\u0437\u0430 \u043c\u0430\u0441\u0441\u043e\u0432\u043e\u0433\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/audio-cherez-bluetooth-maksimalno-podrobno-o-profilyah-kodekah-i-ustrojstvah\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:02:32+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:02:32+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Audio via Bluetooth: s\u00e5 grundigt som muligt om profiler, codecs og enheder | ProHoster","description":"P\u00e5 grund af massen.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/audio-cherez-bluetooth-maksimalno-podrobno-o-profilyah-kodekah-i-ustrojstvah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0410\u0443\u0434\u0438\u043e \u0447\u0435\u0440\u0435\u0437 Bluetooth: \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044f\u0445, \u043a\u043e\u0434\u0435\u043a\u0430\u0445 \u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 | ProHoster","og:description":"\u0418\u0437-\u0437\u0430 \u043c\u0430\u0441\u0441\u043e\u0432\u043e\u0433\u043e.","og:url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/audio-cherez-bluetooth-maksimalno-podrobno-o-profilyah-kodekah-i-ustrojstvah","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:02:32+00:00","article:modified_time":"2019-10-31T19:02:32+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35145","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 22:04:30","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:09:54","updated":"2026-01-21 22:04:30","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/35145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=35145"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/35145\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=35145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=35145"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=35145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}