
Wegen der massenhaften Produktion von Smartphones ohne 3,5-mm-Audioanschluss sind kabellose Bluetooth-Kopfhörer für viele zur Hauptmethode geworden, um Musik zu hören und in der Headset-Funktion zu kommunizieren.
Hersteller kabelloser Geräte geben nicht immer detaillierte Produktspezifikationen an, und Artikel über Bluetooth-Audio im Internet sind widersprüchlich, teilweise ungenau, erläutern nicht alle Besonderheiten und kopieren oft dieselben, nicht zutreffenden Informationen.
Lassen Sie uns die Protokolle, die Möglichkeiten der Bluetooth-Stacks von Betriebssystemen, Kopfhörern und Lautsprechern, die Bluetooth-Codecs für Musik und Sprache untersuchen, herausfinden, was die Qualität des übertragenen Tons und die Verzögerung beeinflusst, und lernen, Informationen über unterstützte Codecs und andere Funktionen der Geräte zu sammeln und zu dekodieren.
TL;DR:
- SBC – ein normaler Codec
- Die Kopfhörer haben ihren eigenen Equalizer und Nachbearbeitung für jeden Codec separat
- aptX ist nicht so gut, wie die Werbeankündigungen sagen
- LDAC – Marketing-Mumpitz
- Die Sprachqualität ist immer noch niedrig
- Im Browser können Audio-Encoder in C eingebettet werden, indem sie über Emscripten in WebAssembly kompiliert werden, und sie werden nicht wesentlich verlangsamen.
Musik über Bluetooth
Die Funktionalität von Bluetooth wird durch Profile bestimmt – die Spezifikationen bestimmter Funktionen. Die Musikübertragung über Bluetooth erfolgt unter Verwendung des Profils für die Übertragung hochwertiger unidirektionaler Audiodaten A2DP. Der Standard A2DP wurde 2003 angenommen und hat sich seitdem grundlegend nicht geändert.
Innerhalb des Profils ist 1 obligatorischer Codec mit niedriger Rechenkomplexität SBC standardisiert, der speziell für Bluetooth entwickelt wurde, sowie 3 zusätzliche. Außerdem ist die Verwendung nicht dokumentierter Codecs der eigenen Implementierung zulässig.
Stand Juni 2019 befinden wir uns mit 14 A2DP-Codecs:
- SBC ← standardisiert in A2DP, wird von allen Geräten unterstützt
- MPEG-1/2 Layer 1/2/3 ← standardisiert in A2DP: der allgemein bekannte , verwendet im digitalen TV , und unbekannt
- MPEG-2/4 AAC ← standardisiert in A2DP
- ATRAC ← alter Codec von Sony, standardisiert in A2DP
- LDAC ← neuer Codec von Sony
- aptX ← Codec aus dem Jahr 1988
- aptX HD ← dasselbe wie aptX, nur mit anderen Kodierungsparametern
- aptX Low Latency ← völlig anderer Codec, keine Softwareimplementierung
- aptX Adaptive ← ein weiterer Codec von Qualcomm
- FastStream ← Pseudocodec, bidirektionale Modifikation von SBC
- HWA LHDC ← neuer Codec von Huawei
- Samsung HD ← wird von 2 Geräten unterstützt
- Samsung Scalable ← wird von 2 Geräten unterstützt
- Samsung UHQ-BT ← wird von 3 Geräten unterstützt
Warum braucht man überhaupt Codecs, fragen Sie sich, wenn es bei Bluetooth EDR gibt, das eine Datenübertragungsgeschwindigkeit von 2 und 3 Mbit/s ermöglicht, während für unkomprimiertes, zweikanaliges 16-Bit PCM nur 1,4 Mbit/s erforderlich sind?
Datenübertragung über Bluetooth
Es gibt zwei Arten der Datenübertragung über Bluetooth: Asynchronous Connection Less (ACL) für asynchrone Übertragungen ohne Verbindungsaufbau und Synchronous Connection Oriented (SCO) für synchrone Übertragungen mit vorheriger Vereinbarung der Verbindung.
Die Übertragung erfolgt unter Verwendung eines Zeitaufteilungsverfahrens und der Kanalauswahl für jedes Paket einzeln (Frequency-Hop/Time-Division-Duplex, FH/TDD), wobei die Zeit in Intervalle von 625 Mikrosekunden unterteilt wird, die als Slots bezeichnet werden. Eines der Geräte führt die Übertragung in geraden Slotnummern durch, das andere in ungeraden. Das übertragene Paket kann 1, 3 oder 5 Slots belegen, abhängig von der Datenmenge und dem festgelegten Übertragungstyp; in diesem Fall wird die Übertragung eines Geräts sowohl in geraden als auch in ungeraden Slots bis zum Ende der Übertragung durchgeführt. Insgesamt können in einer Sekunde bis zu 1600 Pakete empfangen und gesendet werden, wenn jedes davon 1 Slot belegt und beide Geräte ununterbrochen etwas senden und empfangen.
2 und 3 Mbit/s für EDR, die in Ankündigungen und auf der Bluetooth-Website zu finden sind, stellen die maximale Übertragungsgeschwindigkeit aller Daten insgesamt dar (einschließlich der technischen Header aller Protokolle, in denen die Daten gekapselt werden müssen), in beiden Richtungen gleichzeitig. Die tatsächliche Datenübertragungsgeschwindigkeit wird erheblich variieren.
Für die Übertragung von Musik wird ein asynchroner Mechanismus verwendet, nahezu immer mithilfe von Paketen vom Typ 2-DH5 und 3-DH5, die die maximale Datenmenge im EDR-Modus von 2 Mbit/s bzw. 3 Mbit/s übertragen und 5 Slots für die Zeitaufteilung belegen.
Schematische Darstellung der Übertragung mit 5 Slots von einem Gerät und 1 Slot von einem anderen (DH5/DH1):

Aufgrund des Prinzips der zeitlichen Trennung des Frequenzspektrums sind wir gezwungen, nach der Übertragung eines Pakets auf ein 625-Mikrosekunden-Zeitfenster zu warten, wenn das zweite Gerät uns nichts überträgt oder ein kleines Paket überträgt, und mehr Zeit zu warten, wenn das zweite Gerät große Pakete überträgt. Wenn mehr als ein Gerät an das Telefon angeschlossen ist (zum Beispiel Kopfhörer, Uhren und Fitness-Tracker), wird die Übertragungszeit zwischen allen aufgeteilt.
Die Notwendigkeit, Audio in spezielle Transportprotokolle wie L2CAP und AVDTP zu kapseln, zieht 16 Byte vom möglichen maximalen Übertragungsgewicht des Audios ab.
Pakettyp
Anzahl der Slots
Max. Anzahl der Bytes im Paket
Max. Anzahl der Bytes der A2DP-Nutzlast
Max. Bitrate der A2DP-Nutzlast
2-DH3
3
367
351
936 kbit/s
3-DH3
3
552
536
1429 kbit/s
2-DH5
5
679
663
1414 kbit/s
3-DH5
5
1021
1005
2143 kbit/s
1414 und 1429 kbit/s sind für die Übertragung von unkomprimiertem Audio unter realen Bedingungen eindeutig unzureichend, mit dem störenden 2,4 GHz-Bereich und der Notwendigkeit, Steuerdaten zu übertragen. EDR 3 Mbit/s stellt hohe Anforderungen an die Übertragungsleistung und Störungen im Frequenzbereich, sodass selbst im 3-DH5-Modus eine komfortable PCM-Übertragung nicht möglich ist, es wird ständig zu kurzzeitigen Unterbrechungen kommen, und alles wird nur auf wenigen Metern funktionieren.
In der Praxis ist selbst ein Stream mit 990 kbit/s (LDAC 990 kbit/s) schwer übertragbar.
Lass uns zu den Codecs zurückkehren.
SBC
Ein Codec, der für alle Geräte, die den A2DP-Standard unterstützen, verpflichtend ist. Der beste und gleichzeitig schlechteste Codec.
Abtastrate
Bitrate
Bitrate
Support für Kodierung
Support für Dekodierung
16, 32, 44,1, 48 kHz
16 Bit
10-1500 kbit/s
Von allen Geräten
Von allen Geräten
SBC ist ein einfacher und rechnerisch schneller Codec mit einem primitiven psychoakustischen Modell (verwendet nur Maskierung leiser Töne) und nutzt die adaptive Impuls-Code-Modulation (APCM).
Die A2DP-Spezifikation empfiehlt die Verwendung von zwei Profilen: Mittelqualität und hohe Qualität.

Der Codec hat viele Einstellungen, die es ermöglichen, die algorithmische Verzögerung, die Anzahl der Samples pro Block, den Bitverteilung-Algorithmus zu steuern, aber nahezu durchgehend werden dieselben in den Spezifikationen empfohlenen Parameter verwendet: Joint Stereo, 8 Frequenzbänder, 16 Blöcke im Audio-Frame, Art der Bitverteilung Lautstärke.
SBC unterstützt die dynamische Anpassung des Bitpool-Parameters, der direkt die Bitrate beeinflusst. Wenn das Radiosignal überlastet ist, Pakete verloren gehen oder die Geräte weit voneinander entfernt sind, kann die Audioquelle den Bitpool reduzieren, bis die Verbindung stabilisiert ist.
Die Hersteller der meisten Kopfhörer setzen den maximalen Wert des Bitpool-Parameters auf 53, was die Bitrate auf 328 Kilobit pro Sekunde bei Verwendung des empfohlenen Profils begrenzt.
Selbst wenn der Kopfhörerhersteller einen maximalen Bitpool-Wert über 53 eingestellt hat (solche Modelle sind beispielsweise: Beats Solo³, JBL Everest Elite 750NC, Apple AirPods, dies kommt auch bei einigen Receivern und Auto-Hifi-Geräten vor), lassen es die meisten Betriebssysteme nicht zu, höhere Bitraten aufgrund einer festgelegten internen Beschränkung in Bluetooth-Stapeln zu verwenden.
Darüber hinaus setzen einige Hersteller einen niedrigen maximalen Bitpool-Wert für bestimmte Geräte. Zum Beispiel hat Bluedio T einen Wert von 39, Samsung Gear IconX - 37, was zu schlechter Audioqualität führt.
Künstliche Beschränkungen der Bluetooth-Stapel-Entwickler sind wahrscheinlich aufgrund von Inkompatibilitäten einiger Geräte mit hohen Bitpool-Werten oder atypischen Profilen entstanden, selbst wenn diese deren Unterstützung vermeldet haben, und einem ungenügenden Maß an Tests während der Zertifizierung. Es war für die Entwickler der Bluetooth-Stapel einfacher, sich an die Zustimmung des empfohlenen Profils zu halten, als eine Liste fehlerhaft arbeitender Geräte zu erstellen (auch wenn sie dies jetzt für andere nicht korrekt funktionierende Funktionen tun).
SBC weist dynamisch Quantisierungsbits für Frequenzbänder zu und arbeitet dabei nach dem Prinzip von niedrig nach hoch mit unterschiedlichen Gewichtungsfaktoren. Wenn die gesamte Bitrate für tiefe und mittlere Frequenzen verwendet wurde, werden hohe Frequenzen "abgeschnitten" (stattdessen wird es still).
Beispiel SBC 328 kbit/s. Oben — Original, unten — SBC, es erfolgt ein gelegentlicher Wechsel zwischen den Spuren. Für die Audio-Datei im Video wird der verlustfreie Codec FLAC verwendet. Die Verwendung von FLAC im mp4-Container ist offiziell nicht standardisiert, daher ist es nicht garantiert, dass Ihr Browser es abspielt, sollte aber in den neuesten Versionen von Desktop-Chrome und Firefox funktionieren. Wenn Sie keinen Ton haben, können Sie die Datei herunterladen und in einem vollständigen Video-Player öffnen.
ZZ Top — Sharp Dressed Man
Im Spektrogramm ist der Moment des Umschaltens sichtbar: SBC schneidet gelegentlich leise Töne über 17,5 kHz ab und hebt keine Bits für den Frequenzbereich über 20 kHz hervor. Das vollständige Spektrogramm ist durch Klicken verfügbar (1,7 MB).
Ich höre keinen Unterschied zwischen dem Original und SBC bei diesem Track.
Lass uns etwas Neueres nehmen und Audio simulieren, das bei der Verwendung von Samsung Gear IconX Kopfhörern mit Bitpool 37 entstehen würde (oben — Originalsignal, unten — SBC 239 kbit/s, Sound in FLAC).
Mindless Self Indulgence — Witness
Ich höre ein Knacken, einen geringeren Stereo-Effekt und ein unangenehmes „Klicken“ der Stimmen in den hohen Frequenzen.
Obwohl SBC ein sehr flexibler Codec ist, der auf niedrige Latenz eingestellt werden kann, bietet er eine ausgezeichnete Audioqualität bei hohen Bitraten (452+ kbit/s) und durchaus gute Qualität für die meisten Menschen bei Standard-High Quality (328 kbit/s), da der A2DP-Standard keine festen Profile vorschreibt (sondern nur Empfehlungen gibt). Die Entwickler der Stacks haben künstliche Einschränkungen für Bitpool gesetzt, die übertragbaren Audioparameter werden nicht in der Benutzeroberfläche angezeigt, und die Hersteller von Kopfhörern sind frei, ihre eigenen Einstellungen festzulegen und geben nie den Wert von Bitpool in den technischen Spezifikationen des Produkts an. Der Codec ist für seine niedrige Klangqualität bekannt, obwohl dies nicht das Problem des Codecs selbst ist.
Der Parameter Bitpool beeinflusst die Bitrate nur innerhalb eines Profils. Der gleiche Wert von Bitpool 53 kann eine Bitrate von 328 kbit/s im empfohlenen Profil High Quality sowie 1212 kbit/s mit Dual Channel und 4 Frequenzbändern ergeben, weswegen die Autoren von Betriebssystemen neben den Einschränkungen für Bitpool auch Beschränkungen für die Bitrate festlegen. Meiner Meinung nach ist diese Situation auf unzureichende Standards im A2DP zurückzuführen: Es hätte der Bitrate und nicht dem Bitpool zugestimmt werden müssen.
Tabelle der Unterstützung von SBC-Funktionen in verschiedenen Betriebssystemen:
dem Betriebssystem
Unterstützte Abtastraten
Maximale Bitpool-Beschränkung
Maximale Bitrate-Beschränkung
Typische Bitrate
Dynamische Anpassung des Bitpools
Windows 10
44,1 kHz
53
512 kbit/s
328 kbit/s
✓*
Linux (BlueZ + PulseAudio)
16, 32, 44,1, 48 kHz
64 (bei eingehend), 53 (bei ausgehend)
Keine Einschränkung
328 kbit/s
✓*
macOS High Sierra
44,1 kHz
64, standardmäßig 53***
Unbekannt
328 kbit/s
✗
Android 4.4-9
44,1/48 kHz**
53
328 kbit/s
328 kbit/s
✗
Android 4.1-4.3.1
44,1, 48 kHz**
53
229 kbit/s
229 kbit/s
✗
Blackberry OS 10
48 kHz
53
Keine Einschränkung
328 kbit/s
✗
* Der Bitpool verringert sich nur, steigert sich jedoch nicht automatisch, wenn sich die Übertragungsbedingungen verbessern. Um den Bitpool wiederherzustellen, müssen Sie die Wiedergabe anhalten, ein paar Sekunden warten und dann das Audio erneut starten.
** Der Standardwert hängt von den beim Kompilieren der Firmware angegebenen Stack-Einstellungen ab. In Android 8/8.1 beträgt die Frequenz entweder 44,1 kHz oder 48 kHz, abhängig von den Kompiliereinstellungen. In anderen Versionen werden sowohl 44,1 kHz als auch 48 kHz gleichzeitig unterstützt.
*** Der Bitpool-Wert kann im Programm Bluetooth Explorer erhöht werden.
aptX und aptX HD
aptX ist ein einfacher und rechnerisch schneller Codec, der ohne psychoakustische Verfahren adaptive Differential Pulse Code Modulation verwendet (). Er entstand etwa 1988 (das Datum der Patentanmeldung , S. 16)., S. 16).
aptX und aptX HD sind ein und derselbe Codec, mit unterschiedlichen Codierungsprofilen.
Der Codec hat nur einen Parameter – die Wahl der Abtastrate. Es gibt zwar auch die Auswahl der Anzahl/Modus der Kanäle, aber in allen mir bekannten Geräten (über 70 Stück) wird ausschließlich Stereo unterstützt.
Codec
Abtastrate
Bitrate
Bitrate
Support für Kodierung
Support für Dekodierung
aptX
16, 32, 44,1, 48 kHz
16 Bit
128 / 256 / 352 / 384 kbps (je nach Abtastrate)
Windows 10 (Desktop und Mobil), macOS, Android 4.4+/7*, Blackberry OS 10
Von einer breiten Anzahl an Audiogeräten (hardwareseitig)
* Versionen vor 7 benötigen Modifikationen am Bluetooth-Stack. Der Codec wird nur unterstützt, wenn der Hersteller des Android-Geräts die Nutzung des Codecs bei Qualcomm lizenziert hat (wenn es in der OS Bibliotheken zur Kodierung gibt).
aptX teilt Audio in 4 Frequenzbänder auf und quantisiert sie mit einer konstanten Anzahl von Bits: 8 Bit für 0-5,5 kHz, 4 Bit für 5,5-11 kHz, 2 Bit für 11-16,5 kHz, 2 Bit für 16,5-22 kHz (Zahlen für eine Abtastrate von 44,1 kHz).
Beispiel für aptX-Audio (oben das Eingangssignal, unten aptX, Spektrogramme nur der linken Kanäle, Klang in FLAC):
Die hohen Frequenzen sind etwas röter geworden, aber der Unterschied ist nicht hörbar.
Aufgrund der festen Verteilung der Quantisierungsbits kann der Codec keine Bits auf die Frequenzen übertragen, die sie am dringendsten benötigen. Im Gegensatz zu SBC schneidet aptX keine Frequenzen ab, sondern fügt Quantisierungsrauschen hinzu, wodurch der Dynamikbereich des Audios reduziert wird.
Man sollte nicht annehmen, dass die Verwendung von beispielsweise 2 Bits für den Kanal den Dynamikbereich auf 12 dB reduziert: ADPCM ermöglicht einen Dynamikbereich von bis zu 96 dB, selbst bei der Verwendung von 2 Quantisierungsbits, jedoch nur bei einem bestimmten Signal.
ADPCM speichert die Differenz der numerischen Darstellung zwischen dem aktuellen und dem nächsten Sample, anstatt den Absolutwert wie bei PCM zu speichern. Dies ermöglicht eine Reduzierung der Bit-Anforderungen, die zur Speicherung der gleichen (verlustfrei) oder praktisch gleichen (mit relativ kleinen Rundungsfehlern) Informationen erforderlich sind. Um Rundungsfehler zu minimieren, werden Koeffiziententabellen verwendet.
Bei der Erstellung des Codecs berechneten die Autoren die ADPCM-Koeffizienten anhand eines Satzes von Musik-Audiodateien. Je näher das Audiosignal an diesem Musikset ist, auf dem die Tabellen basieren, desto weniger Quantisierungsfehler (Rauschen) erzeugt aptX.
Aus diesem Grund werden synthetische Tests immer schlechtere Ergebnisse liefern als Musik. Ich habe ein spezielles synthetisches Beispiel erstellt, bei dem aptX schlechte Ergebnisse zeigt – eine Sinuswelle mit einer Frequenz von 12,4 kHz (oben das originale Signal, unten aptX. Der Klang ist im FLAC-Format. Verringern Sie die Lautstärke!):
Spektrumdiagramm:

Das Rauschen ist deutlich hörbar.
Wenn jedoch eine Sinuswelle mit geringerer Amplitude erzeugt wird, damit sie leiser ist, wird das Rauschen ebenfalls leiser, was auf einen breiten Dynamikbereich hinweist:

Um den Unterschied zwischen dem originalen Musikstück und dem komprimierten zu hören, kann man eines der Signale invertieren und die Tracks kanalweise addieren. Dieser Ansatz ist im Allgemeinen nicht korrekt und würde mit komplexeren Codecs keine vernünftigen Ergebnisse liefern, aber er ist für ADPCM gut geeignet.
Der quadratische Mittelwert der Signalunterschiede liegt bei -37,4 dB, was für so stark komprimierte Musik nicht viel ist.
aptX HD
aptX HD ist kein eigenständiger Codec, sondern ein verbesserter Kodierungsprofil des aptX-Codecs. Die Änderungen betreffen die Anzahl der Bits, die für die Kodierung der Frequenzbereiche verwendet werden: 10 Bit für 0-5,5 kHz, 6 Bit für 5,5-11 kHz, 4 Bit für 11-16,5 kHz, 4 Bit für 16,5-22 kHz (Zahlen für 44,1 kHz).
Codec
Abtastrate
Bitrate
Bitrate
Support für Kodierung
Support für Dekodierung
aptX HD
16, 32, 44,1, 48 kHz
24 Bit
192 / 384 / 529 / 576 kbit/s (je nach Abtastrate)
Android 8+*
Von einigen Audiogeräten (hardwareseitig)
* Versionen vor 7 benötigen Modifikationen am Bluetooth-Stack. Der Codec wird nur unterstützt, wenn der Hersteller des Android-Geräts die Nutzung des Codecs bei Qualcomm lizenziert hat (wenn es in der OS Bibliotheken zur Kodierung gibt).
Weniger verbreitet als aptX: Es scheint eine separate Lizenzierung von Qualcomm und spezielle Lizenzgebühren zu erfordern.
Lassen Sie uns das Beispiel mit der Sinuswelle bei 12,4 kHz wiederholen:

Viel besser als mit aptX, aber trotzdem etwas rauschend.
aptX Low Latency
Ein Codec von Qualcomm, der nichts mit den Standard-aptX- und aptX-HD-Codecs zu tun hat, basierend auf den spärlichen Informationen von Personen, die an seiner Entwicklung beteiligt waren. Er ist für die interaktive Übertragung von Audio mit niedriger Latenz (Filme, Spiele) vorgesehen, wo die Audioverzögerung nicht softwareseitig angepasst werden kann. Bekannte Softwareimplementierungen von Encodern und Decodern fehlen; er wird ausschließlich von Sendern, Empfängern, Kopfhörern und Lautsprechern unterstützt, jedoch nicht von Smartphones und PCs.
Abtastrate
Bitrate
Support für Kodierung
Support für Dekodierung
44,1 kHz
276/420 kbit/s
Von einigen Sendern (hardwareseitig)
Von einigen Audiogeräten (hardwareseitig)
AAC
AAC, oder Advanced Audio Coding, ist ein rechenintensiver Codec mit einem komplexen psychoakustischen Modell. Er hat sich im Internet für Audio weit verbreitet und ist nach MP3 der zweitbeliebteste. Er erfordert Lizenzierung und Lizenzgebühren: einmal 15.000 $ (oder 1.000 $ für Unternehmen mit weniger als 15 Mitarbeitern) + 0,98 $ für die ersten 500.000 Geräte ().
Der Codec ist im Rahmen der Spezifikationen MPEG-2 und MPEG-4 standardisiert und gehört, entgegen eines weit verbreiteten Missverständnisses, nicht zu Apple.
Abtastrate
Bitrate
Support für Kodierung
Support für Dekodierung
8 – 96 kHz
8 – 576 kbit/s (für Stereo), 256 – 320 kbit/s (typisch für Bluetooth)
macOS, Android 7+*, iOS
Von einer breiten Anzahl an Audiogeräten (hardwareseitig)
* nur auf Geräten, deren Hersteller Lizenzgebühren gezahlt haben
In iOS und macOS wird der aktuell beste Encoder von Apple AAC verwendet, der die höchstmögliche Audioqualität gewährleistet. In Android wird der zweitbeste Encoder Fraunhofer FDK AAC verwendet, aber es können verschiedene Hardware-Encoder (SoC) mit unbekannter Kodierungsqualität verwendet werden. , variiert die Audioqualität von AAC bei verschiedenen Android-Handys erheblich:
Die meisten drahtlosen Audiogeräte für AAC haben eine maximale Bitrate von 320 kbit/s eingestellt, einige unterstützen nur 256 kbit/s. Andere Bitraten sind sehr selten.
AAC bietet eine ausgezeichnete Qualität bei Bitraten von 320 und 256 kbit/s, ist jedoch anfällig für , es ist jedoch schwierig, Unterschiede zum Original auf iOS bei einer Bitrate von 256 kbit/s zu hören, selbst nach mehreren sequenziellen Kodierungen; bei einer Einzelkodierung, etwa von MP3 320 kbit/s zu AAC 256 kbit/s, sind die Verluste vernachlässigbar.
Wie bei anderen Bluetooth-Codecs wird jede Musik zunächst dekodiert und dann vom Codec kodiert. Wenn man Musik im AAC-Format hört, wird sie zuerst durch das Betriebssystem dekodiert und dann erneut in AAC kodiert, um sie über Bluetooth zu übertragen. Dies ist notwendig, um mehrere Audioströme zu mischen, z. B. Musik und Benachrichtigungen über neue Nachrichten. iOS ist da keine Ausnahme. Im Internet finden sich viele Behauptungen, dass Musik im AAC-Format auf iOS nicht transkodiert wird, wenn sie über Bluetooth übertragen wird, was jedoch falsch ist.
MP1/2/3
Die Codecs der MPEG-1/2 Part 3-Familie umfassen das bekannte und weit verbreitete MP3, das weniger verbreitete MP2 (das hauptsächlich im digitalen Fernsehen und Radio verwendet wird) und das weitgehend unbekannte MP1.
Die alten Codecs MP1 und MP2 werden gar nicht mehr unterstützt: Ich konnte keine Kopfhörer oder Bluetooth-Stacks finden, die sie kodieren oder dekodieren.
Das Dekodieren von MP3 wird von einigen Kopfhörern unterstützt, jedoch wird das Kodieren in keinem der Stacks moderner Betriebssysteme unterstützt. Anscheinend kann der Drittanbieter-Stack BlueSoleil für Windows in MP3 kodieren, wenn man die Konfigurationsdatei manuell ändert, aber bei mir führt die Installation zu einem BSoD unter Windows 10. Fazit: Mit dem Codec kann man im Grunde nicht für Bluetooth-Audio arbeiten.
Früher, in den Jahren 2006-2008, bevor der A2DP-Standard in Geräten weit verbreitet war, hörten Menschen MP3-Musik über das Nokia BH-501-Headset mit der MSI BluePlayer-Software, die auf Symbian und Windows Mobile verfügbar war. Zu dieser Zeit erlaubte die Architektur der Smartphone-Betriebssysteme den Zugriff auf viele Low-Level-Funktionen, und auf Windows Mobile konnte man sogar Drittanbieter-Bluetooth-Stacks installieren.
Das letzte Patent des MP3-Codecs ist abgelaufen, die Nutzung des Codecs erfordert seit dem 23. April 2017 keine Lizenzgebühren mehr.
Wenn man das am längsten laufende Patent aus den oben genannten Verweisen als Maßstab nimmt, wurde die MP3-Technologie in den Vereinigten Staaten am 16. April 2017 patentfrei, als das US-Patent 6.009.399, das von Technicolor gehalten und verwaltet wurde, ablief.
Quelle:
Abtastrate
Bitrate
Support für Kodierung
Support für Dekodierung
16 — 48 kHz
8 — 320 kbit/s
Wird nirgendwo unterstützt
Von einigen Audiogeräten (hardwareseitig)
LDAC
Der neue und aktiv beworbene „Hi-Res“-Codec von Sony, der Abtastraten von bis zu 96 kHz und eine 24-Bit-Prüfziffer mit Bitraten von bis zu 990 kbit/s unterstützt. Wird als audiophiler Codec beworben, als Ersatz für bestehende Bluetooth-Codecs. Verfügt über eine adaptive Bitratenanpassung, abhängig von den Bedingungen des Funksenders.
Der LDAC-Encoder () ist standardmäßig in Android enthalten, sodass die Kodierung auf jedem Android-Smartphone ab der Version 8 des Betriebssystems unterstützt wird. Software-Decoder sind nicht öffentlich verfügbar, die Codec-Spezifikation ist der breiten Öffentlichkeit nicht zugänglich, jedoch sieht der erste Blick auf den Encoder so aus, als wäre die interne Struktur des Codecs ähnlich wie bei — ein Codec von Sony, der in PlayStation 4 und Vita verwendet wird: beide arbeiten im Frequenzbereich, verwenden modifiziertes diskretes Kosinus-Transformation (MDCT) und Kompression mit einem Huffman-Algorithmus.
Die Unterstützung von LDAC ist praktisch nur bei Sony-Kopfhörern zu finden. Die Möglichkeit, LDAC zu decodieren, tritt manchmal auch bei Kopfhörern und DACs anderer Hersteller auf, jedoch sehr selten.
Abtastrate
Bitrate
Support für Kodierung
Support für Dekodierung
44.1 — 96 kHz
303/606/909 kbit/s (für 44.1 und 88.2 kHz), 330/660/990 kbit/s (für 48 und 96 kHz)
Android 8+
Von einigen Sony-Kopfhörern und wenigen Geräten anderer Hersteller (hardwareseitig)
Das Marketing von LDAC als Hi-Res-Codec schadet seiner technischen Substanz: Es ist dumm, Bitrate für die Übertragung unhörbarer Frequenzen und erhöhter Auflösung zu verschwenden, solange nicht genügend für die verlustfreie Übertragung von CD-Qualität (44.1/16) vorhanden ist. Glücklicherweise hat der Codec zwei Betriebsmodi: die Übertragung von CD-Audio und die Übertragung von Hi-Res-Audio. Im ersten Fall wird nur 44.1 kHz/16 Bit über die Luft übertragen.
Da es keinen softwarebasierten Decoder von LDAC im freien Zugang gibt, ist es unmöglich, den Codec ohne zusätzliche Geräte, die LDAC dekodieren, zu testen. Laut den Tests von LDAC an einem unterstützenden DAC, die die Ingenieure von SoundGuys.com über den digitalen Ausgang verbunden und den ausgegebenen Klang durch Testsignale aufgezeichnet haben, weist LDAC bei 660 und 990 kbit/s im CD-Qualitätsmodus ein Signal-Rausch-Verhältnis auf, das nur geringfügig besser ist als das von aptX HD.
Quelle:
LDAC unterstützt auch dynamische Bitraten außerhalb der festgelegten Profile — von 138 kbit/s bis 990 kbit/s, aber soweit ich das beurteilen kann, werden in Android nur die standardisierten Profile 303/606/909 und 330/660/990 kbit/s verwendet.
Andere Codecs
Andere A2DP-Codecs haben nicht weit verbreitete Anwendung gefunden. Ihre Unterstützung fehlt entweder praktisch vollständig oder ist nur auf bestimmten Modellen von Kopfhörern und Smartphones vorhanden.
Der in A2DP standardisierte Codec ATRAC wurde selbst von Sony nie als Bluetooth-Codec verwendet, die Codecs Samsung HD, Samsung Scalable und Samsung UHQ-BT haben eine sehr begrenzte Unterstützung seitens der sendenden und empfangenden Geräte, und HWA LHDC ist zu neu und wird nur von drei(?) Geräten unterstützt.
Unterstützung von Codecs durch Audiogeräte
Nicht alle Hersteller veröffentlichen genaue Informationen über die Codecs, die von bestimmten kabellosen Kopfhörern, Lautsprechern, Empfängern oder Transmittern unterstützt werden. Manchmal stellt sich heraus, dass die Unterstützung eines bestimmten Codecs nur für den Sender, nicht aber für den Empfänger besteht (gilt für kombinierte Transmitter-Empfänger), obwohl der Hersteller einfach von „Unterstützung“ spricht, ohne weitere Anmerkungen. Ich vermute, dass dies am getrennten Lizenzierungsmodell für Encoder und Decoder einiger Codecs liegt. Bei den günstigsten Geräten kann es vorkommen, dass die angegebene Unterstützung für aptX überhaupt nicht vorhanden ist.
Leider zeigt die Benutzeroberfläche der meisten Betriebssysteme nirgendwo den verwendeten Codec an. Informationen dazu sind nur in Android, beginnend mit Version 8, und macOS verfügbar. Selbst in diesen OS werden jedoch nur die Codecs angezeigt, die sowohl das Telefon/den Computer als auch die Kopfhörer unterstützen.
Wie kann man herausfinden, welche Codecs ein Gerät unterstützt? Indem man einen Datenverkehrsdump mit den A2DP-Aushandlungsparametern aufzeichnet und analysiert!
Das kann in Linux, macOS und Android gemacht werden. In Linux kann man Wireshark oder hcidump verwenden, in macOS — Bluetooth Explorer und in Android — die eingebaute Funktion zum Speichern eines Bluetooth HCI-Dumps, die in den Entwicklertools verfügbar ist. Sie erhalten einen Dump im btsnoop-Format, der in den Wireshark-Analyzer hochgeladen werden kann.
Bitte beachten Sie: Ein korrekter Dump kann nur erstellt werden, wenn man sich mit einem Telefon/Computer mit den Kopfhörern/Lautsprechern verbindet (so seltsam es auch klingen mag)! Die Kopfhörer können sich selbstständig mit dem Telefon verbinden, und in diesem Fall fordern sie die Liste der Codecs vom Telefon an, nicht umgekehrt. Um garantiert einen korrekten Dump aufzunehmen, trennen Sie zuerst die Verbindung zum Gerät und koppeln Sie dann während der Aufnahme des Dumps das Telefon mit den Kopfhörern.
Verwenden Sie den folgenden Filter, um irrelevanten Traffic herauszufiltern:
btavdtp.signal_idWenn alles richtig gemacht wurde, sollten Sie etwas Ähnliches sehen:
Sie können auf jeden Punkt des GetCapabilities-Befehls klicken und die detaillierten Spezifikationen des Codecs einsehen.
Wireshark kennt nicht alle Codec-IDs, daher müssen einige Codecs manuell entschlüsselt werden, indem man in die folgende ID-Tabelle schaut:
Verpflichtend:
0x00 - SBC
Optional:
0x01 - MPEG-1,2 (auch bekannt als MP3)
0x02 - MPEG-2,4 (auch bekannt als AAC)
0x04 - ATRAC
Hersteller spezifisch:
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 - Die CSR True Wireless Stereo v3 Codec-ID für AAC
0xFF 0x000A 0x0105 - Die CSR True Wireless Stereo v3 Codec-ID für MP3
0xFF 0x000A 0x0106 - Die CSR True Wireless Stereo v3 Codec-ID für aptXUm Dumps nicht manuell analysieren zu müssen, habe ich einen Service erstellt, der alles automatisch analysiert:
Codec-Vergleich. Welcher Codec ist besser?
Jeder Codec hat seine eigenen Vor- und Nachteile.
aptX und aptX HD verwenden festgelegte Profile, die nicht ohne Modifikation des Encoders und Decoders geändert werden können. Weder der Hersteller des Telefons noch der der Kopfhörer kann die Bitrate oder die Kodierungsraten von aptX ändern. Der Eigentümer des Codecs, Qualcomm, stellt einen Referenz-Encoder in Form einer Bibliothek zur Verfügung. Diese Fakten sind eine Stärke von aptX – Sie wissen im Voraus, welcher Klangqualität Sie erhalten, ohne jegliches "Aber".
SBC hingegen verfügt über viele anpassbare Parameter, eine dynamische Bitrate (der Encoder kann den Bitpool-Wert verringern, wenn der Rundfunk überlastet ist), und hat keine festgelegten Profile, sondern lediglich empfohlene „mittlere Qualität“ und „hohe Qualität“, die 2003 in die A2DP-Spezifikation aufgenommen wurden. „Hohe Qualität“ ist nach heutigen Maßstäben nicht mehr so hoch, und die meisten Bluetooth-Stacks erlauben es nicht, bessere Parameter als im „hohen Qualitätsprofil“ zu verwenden, obwohl es dafür keine technischen Einschränkungen gibt.
Bluetooth SIG hat keinen Referenzencoder SBC in Form einer Bibliothek, und die Hersteller setzen ihn selbst um.
Das sind die Schwächen von SBC – es ist niemals im Voraus klar, welche Klangqualität von einem bestimmten Gerät zu erwarten ist. SBC kann sowohl niedrige als auch sehr hohe Klangqualität liefern, aber Letzteres ist ohne Deaktivierung oder Umgehung künstlicher Einschränkungen der Bluetooth-Stacks unerreichbar.
Die Situation mit AAC ist zwiespältig: Einerseits sollte der Codec theoretisch eine Qualität liefern, die vom Original nicht zu unterscheiden ist, aber die Praxis, wie die Tests von SoundGuys auf verschiedenen Android-Geräten zeigen, bestätigt dies nicht. Wahrscheinlich liegt es an den minderwertigen Hardware-Audioencodern, die in verschiedenen Chipsätzen verwaltet werden. AAC macht nur auf Apple-Geräten Sinn, während man auf Android auf aptX und LDAC beschränken sollte.
Geräte, die alternative Codecs unterstützen, sind in der Regel von höherer Qualität, einfach weil es für ganz billige, qualitativ minderwertige Geräte keinen Sinn macht, Lizenzgebühren für die Verwendung dieser Codecs zu zahlen. Nach meinen Tests klingt SBC auf hochwertiger Hardware sehr gut.
Ich habe einen Webservice entwickelt, der Audio in Echtzeit in SBC, aptX und aptX HD direkt im Browser codiert. Damit können Sie diese Audiocodecs testen, ohne tatsächlich Audio über Bluetooth zu übertragen, an jedem kabelgebundenen Kopfhörer, Lautsprecher und Ihrer Lieblingsmusik, und die Kodierungseinstellungen während der Audioausgabe ändern:
Der Service verwendet SBC-Codierungsbibliotheken aus dem BlueZ-Projekt und libopenaptx aus ffmpeg, die in WebAssembly und JavaScript aus C, durch emscripten, für die Ausführung im Browser kompiliert wurden. Wer hätte von so einer Zukunft träumen können!
So sieht das aus:
Achte darauf, wie sich der Geräuschpegel nach 20 kHz bei verschiedenen Codecs verändert. Im Original-MP3-Format fehlen Frequenzen über 20 kHz.
Versuche, die Codecs umzuschalten, und bewerte, ob du einen Unterschied zwischen dem Original, SBC 53 Joint Stereo (dem Standard- und am häufigsten verwendeten Profil) und aptX/aptX HD hörst.
Ich höre den Unterschied zwischen den Codecs in den Kopfhörern.!
Menschen, die während der Tests über den Webdienst keinen Unterschied zwischen den Codecs hören, versichern, dass sie ihn beim Musikhören mit kabellosen Kopfhörern hören. Leider ist das kein Scherz und kein Placebo-Effekt: Der Unterschied ist tatsächlich hörbar, aber er wird nicht durch die Unterschiede der Codecs.
verursacht. Die überwiegende Mehrheit der Bluetooth-Audio-Chipsätze, die in empfangenden drahtlosen Geräten verwendet werden, ist mit einem digitalen Signalprozessor (Digital Signal Processor, DSP) ausgestattet, der einen Equalizer, Kompressor, Stereoerweiterer und andere Funktionen implementiert, die darauf abzielen, den Klang zu verbessern (oder zu verändern). Die Hersteller von Bluetooth-Hardware können den DSP für jeden Codec separat, und beim Umschalten zwischen den Codecs wird dem Hörer der Eindruck vermittelt, dass er einen Unterschied in der Funktionsweise der Codecs hört, während er tatsächlich unterschiedliche DSP-Einstellungen hört.
Die DSP-Soundverarbeitungs-Pipeline Kalimba in Chips von CSR/Qualcomm

Aktivierung verschiedener DSP-Funktionen für jeden Codec und Ausgang separat
Einige Premium-Geräte sind mit Software ausgestattet, die es ermöglicht, die DSP-Einstellungen anzupassen, aber die meisten billigeren Kopfhörer haben diese Möglichkeit nicht, und die Benutzer können die Nachbearbeitung des Klangs nicht mit einfachen Mitteln deaktivieren.
Funktionale Merkmale der Geräte
Die moderne Version des A2DP-Standards verfügt über die Funktion „absolute Lautstärkeregelung“. — die Lautstärkeregelung des Geräts mit speziellen AVRCP-Protokollbefehlen, die die Verstärkung des Ausgangsreglers anstelle einer softwareseitigen Verringerung der Lautstärke des Audiostreams steuert. Wenn bei der Änderung der Lautstärke an den Kopfhörern keine Synchronisierung mit der Lautstärke am Telefon stattfindet, bedeutet das, dass Ihre Kopfhörer oder Ihr Telefon diese Funktion nicht unterstützen. In diesem Fall lohnt es sich, die Musik immer mit maximaler Lautstärke am Telefon zu hören und die tatsächliche Lautstärke mit den Tasten der Kopfhörer zu regeln – in diesem Fall wird das Signal-Rausch-Verhältnis besser sein und die Audioqualität. sollte höher sein.
In der Realität gibt es jedoch traurige Situationen. Bei meinen RealForce OverDrive D1 Kopfhörern ist ein starker Kompressor für SBC aktiviert, und eine Erhöhung der Lautstärke führt zu einem Anstieg der Lautstärke leiser Töne, während die Lautstärke lauter Töne dabei unverändert bleibt (es erfolgt eine Signalverarbeitung). Deshalb muss die Lautstärke am Computer etwa auf die Hälfte eingestellt werden, wodurch der Kompressionseffekt nahezu verschwindet.
Meinen Beobachtungen nach unterstützen alle Kopfhörer mit zusätzlichen Codecs die Funktion der absoluten Lautstärkeregelung, wahrscheinlich ist dies eine der Anforderungen für die Zertifizierung der Codecs.
Einige Kopfhörer unterstützen die gleichzeitige Verbindung von zwei Geräten. Dies ermöglicht es beispielsweise, Musik vom Computer zu hören und Anrufe vom Telefon entgegenzunehmen. Es sollte jedoch beachtet werden, dass in diesem Modus alternative Codecs deaktiviert werden und nur SBC verwendet wird.
Die AVDTP 1.3 Delay Reporting-Funktion ermöglicht es den Kopfhörern, dem sendenden Gerät die Verzögerung zu melden, mit der der Ton tatsächlich wiedergegeben wird. Dies ermöglicht es, die Audio-Synchronisation mit Video beim Abspielen von Videodateien anzupassen: Bei Problemen mit der Übertragung über das Radio wird das Audio nicht hinter dem Video zurückbleiben, stattdessen wird das Video vom Videoplayer gestoppt, bis Audio und Video wieder synchronisiert sind.
Die Funktion wird von vielen Kopfhörern, Android 9+ und Linux mit PulseAudio 12.0+ unterstützt. Ich habe keine Informationen zur Unterstützung der Funktion auf anderen Plattformen.
Bidirektionale Kommunikation über Bluetooth. Sprachübertragung.
Um Sprache über Bluetooth zu übertragen, wird die Synchronous Connection Oriented (SCO) verwendet – eine synchrone Übertragung mit vorheriger Aushandlung der Verbindung. Dieser Modus ermöglicht die Übertragung von Ton und Sprache in strikter Reihenfolge, mit symmetrischer Sendegeschwindigkeit und Empfang, ohne auf eine Bestätigung der Übertragung oder das erneute Senden von Paketen zu warten. Dies verringert die gesamte Verzögerung bei der Audioübertragung über den Funkkanal, schränkt jedoch die Menge an übertragenen Daten pro Zeiteinheit erheblich ein und beeinflusst die Qualität negativ.
Wenn dieser Modus verwendet wird, werden sowohl Sprache als auch Audio mit derselben Qualität übertragen.
Leider ist die Sprachübertragungsqualität über Bluetooth im Jahr 2019 immer noch niedrig, und es ist unklar, warum Bluetooth SIG nichts dagegen unternimmt.
CVSD
Der Basis-Sprachcodec CVSD wurde 2002 standardisiert und wird von allen Geräten mit bidirektionaler Kommunikation über Bluetooth unterstützt. Er ermöglicht die Übertragung von Audio mit einer Abtastrate von 8 kHz, was der Qualität einer normalen leitungsgebundenen Telefonie entspricht.
.
mSBC
Der zusätzliche Codec mSBC wurde 2009 standardisiert, und 2010 erschienen bereits Chips, die ihn zur Sprachübertragung nutzen. mSBC wird von verschiedenen Geräten weitgehend unterstützt.
Es handelt sich nicht um einen eigenständigen Codec, sondern um einen gewöhnlichen SBC aus dem A2DP-Standard, mit einem festen Codierungsprofil: 16 kHz, mono, Bitpool 26.
.
Nicht hervorragend, aber viel besser als CVSD, dennoch ist es unangenehm, ihn für die Kommunikation über das Internet zu verwenden, insbesondere wenn Sie Kopfhörer für die Kommunikation im Spiel verwenden – auch der Spielton wird mit einer Abtastrate von 16 kHz übertragen.
FastStreamDie CSR-Gesellschaft hat beschlossen, die Idee der Wiederverwendung von SBC weiterzuentwickeln. Um die Einschränkungen des SCO-Protokolls zu umgehen und höhere Bitraten zu verwenden, ging CSR einen anderen Weg – sie führten die Unterstützung von bidirektionalem SBC-Audio im Standard für unidirektionales Audio A2DP ein, standardisierten die Codierungsprofile und nannten es „FastStream“.
FastStream überträgt Stereo-Sound mit 44,1 oder 48 kHz mit einer Bitrate von 212 kbit/s an die Lautsprecher, während für die Mikrofonübertragung Mono, 16 kHz mit einer Bitrate von 72 kbit/s verwendet wird (etwas besser als bei mSBC). Diese Parameter eignen sich viel besser für die Kommunikation in Online-Spielen – der Ton des Spiels und der Gesprächspartner wird qualitativ hochwertig sein.
(+ ).
Das Unternehmen hat einen interessanten Workaround entwickelt, doch da er gegen den A2DP-Standard verstößt, wird er nur von einigen Transmittern des Unternehmens unterstützt (die als USB-Audiointerface und nicht als Bluetooth-Geräte fungieren). Unterstützung in Bluetooth-Stacks hat er jedoch nicht erhalten, obwohl die Anzahl der Kopfhörer mit FastStream-Unterstützung nicht unerheblich ist.
Derzeit gibt es Unterstützung für FastStream im Betriebssystem nur von dem Entwickler Pali Rohár, der nicht im Hauptzweig des Programms enthalten ist.
aptX Low Latency
Zu großer Überraschung unterstützt auch aptX Low Latency bidirektionales Audio, indem es dasselbe Prinzip wie FastStream umsetzt.
Diese spezielle Eigenschaft des Codecs kann nirgendwo verwendet werden — die Unterstützung für die Decodierung von Low Latency gibt es in keinem Betriebssystem und in keinem mir bekannten Bluetooth-Stack.
Bluetooth 5, Classic und Low Energy
Rund um die Spezifikationen und Versionen von Bluetooth gibt es große Verwirrung aufgrund der Existenz von zwei inkompatiblen Standards unter einer Marke, die beide weit verbreitet für unterschiedliche Zwecke eingesetzt werden.
Es gibt zwei verschiedene, untereinander inkompatible Bluetooth-Protokolle: Bluetooth Classic und Bluetooth Low Energy (LE, auch bekannt als Bluetooth Smart). Außerdem gibt es ein drittes Protokoll, Bluetooth High Speed, das jedoch nicht verbreitet ist und nicht in Haushaltsgeräten verwendet wird.
Seit Bluetooth 4.0 betreffen die Änderungen in der Spezifikation hauptsächlich Bluetooth Low Energy, während die Classic-Version nur geringfügige Verbesserungen erhielt.
Liste der Änderungen zwischen Bluetooth 4.2 und Bluetooth 5:
9 ÄNDERUNGEN VON v4.2 ZU 5.0
9.1 NEUE FUNKTIONEN
Mehrere neue Funktionen wurden in der Bluetooth-Kern-Spezifikation 5.0 veröffentlicht. Die wichtigsten Verbesserungsbereiche sind:
• Slot Availability Mask (SAM)
• 2 Msym/s PHY für LE
• LE Long Range
• Hochfrequente nicht konnektierbare Werbung
• LE-Werbungserweiterungen
• LE Kanalauswahlalgorithmus #2
9.1.1 Funktionen, die in CSA5 hinzugefügt wurden — integriert in v5.0
• Höhere Ausgangsleistung
Quelle: (Seite 291)
Nur eine Änderung betraf die Classic-Version im Rahmen der Spezifikation Bluetooth 5: Die Unterstützung der Technologie Slot Availability Mask (SAM) wurde hinzugefügt, um die Trennung des Funkspektrums zu verbessern. Alle anderen Änderungen betreffen ausschließlich Bluetooth LE (und auch die höhere Ausgangsleistung).
Alle Audio-Geräte verwenden nur Bluetooth Classic. Kopfhörer und Lautsprecher können über Bluetooth Low Energy nicht verbunden werden: Es gibt keinen Standard zur Übertragung von Audio unter Verwendung von LE. Der A2DP-Standard, der für die Übertragung von hochwertigem Audio verwendet wird, funktioniert nur über Bluetooth Classic, und eine Entsprechung in LE gibt es nicht.
Es ist sinnlos, Audiogeräte nur aufgrund der neuen Protokollversion Bluetooth 5 zu erwerben. Bluetooth 4.0/4.1/4.2 funktioniert im Kontext der Audioübertragung genau gleich.
Wenn die Ankündigung neuer Kopfhörer einen verdoppelten Arbeitsradius und einen reduzierten Energieverbrauch dank Bluetooth 5 erwähnt, dann wissen Sie: Sie haben entweder selbst keine Ahnung oder führen Sie in die Irre. Kein Wunder, denn selbst Hersteller von Bluetooth-Chips verwechseln in ihren Ankündigungen die Unterschiede zwischen der neuen Version des Standards, und einige Bluetooth 5-Chips unterstützen die fünfte Version nur für LE, verwenden für Classic aber 4.2.
Audioübertragungsverzögerung
Die Größe der Audioverzögerung hängt von vielen Faktoren ab: der Puffergröße im Audiostack, im Bluetooth-Stack und im drahtlosen Abspielgerät selbst, sowie der algorithmischen Verzögerung des Codecs.
Die Verzögerung einfacher Codecs wie SBC, aptX und aptX HD ist ziemlich gering und beträgt 3-6 ms, was vernachlässigbar ist, während komplexe Codecs wie AAC und LDAC spürbare Verzögerungen verursachen können. Die algorithmische Verzögerung von AAC für 44,1 kHz beträgt 60 ms. LDAC liegt bei etwa 30 ms (basierend auf einer groben Analyse des Quellcodes. Ich könnte mich irren, aber nicht gravierend).
Die endgültige Verzögerung hängt stark vom Abspielgerät, seinem Chipsatz und dem Puffer ab. Während meiner Tests erhielt ich eine Spannweite von 150 bis 250 ms bei verschiedenen Geräten (mit dem Codec SBC). Wenn man annimmt, dass Geräte mit Unterstützung für zusätzliche Codecs wie aptX, AAC und LDAC qualitativ hochwertige Komponenten und eine kleine Pufferspeicherkapazität verwenden, ergeben sich folgende typische Verzögerungen:
SBC: 150-250 ms
aptX: 130-180 ms
AAC: 190-240 ms
LDAC: 160-210 ms
Ich erinnere daran: aptX Low Latency wird in den Betriebssystemen nicht unterstützt, weshalb eine geringere Verzögerung nur mit einem Sender+Empfänger oder Sender+Kopfhörer/Lautsprecher erreicht werden kann, wobei alle Geräte diesen Codec unterstützen müssen.
Geräteprobleme, Zertifizierungen und Bluetooth-Logos
Wie unterscheidet man ein qualitatives Audiogerät von einem billigen Nachbau? An der äußeren Erscheinung, vor allem!
Bei billigen chinesischen Kopfhörern, Lautsprechern und Empfängern:
- Das Wort „Bluetooth“ fehlt auf der Verpackung und dem Gerät, häufig werden „Wireless“ und „BT“ verwendet.
- Das Bluetooth-Logo fehlt
auf der Verpackung oder dem Gerät - Es fehlt die blaue blinkende LED
Das Fehlen dieser Elemente deutet darauf hin, dass das Gerät nicht zertifiziert wurde, was bedeutet, dass es potenziell von niedriger Qualität und fehlerhaft ist. Zum Beispiel sind die Kopfhörer der Marke Bluedio nicht Bluetooth-zertifiziert und entsprechen nicht vollständig der A2DP-Spezifikation. Sie hätten die Zertifizierung nicht bestanden.
Schauen wir uns einige Geräte und deren Verpackungen an:
Dies sind alles nicht zertifizierte Geräte. In der Anleitung kann das Logo und der Name der Bluetooth-Technologie erscheinen, aber das Wichtigste ist, dass sie auf der Verpackung und/oder dem Gerät selbst zu finden sind.
Wenn Ihre Kopfhörer oder Lautsprecher sagen: «Ze bluetooth dewise is connecteda successfulle», sagt das auch nichts über ihre Qualität aus:

Fazit
Kann Bluetooth kabelgebundene Kopfhörer und Headsets vollständig ersetzen? Ja, jedoch auf Kosten einer schlechteren Gesprächsqualität, größerer Verzögerung bei der Tonübertragung, die in Spielen störend sein kann, und einer Vielzahl proprietärer Codecs, die Lizenzgebühren erfordern und die Endkosten sowohl für Smartphones als auch für Kopfhörer erhöhen.
Das Marketing alternativ angebotener Codecs ist sehr stark: aptX und LDAC werden als lange erwarteter Ersatz für das „veraltete und schlechte“ SBC dargestellt, das bei weitem nicht so schlecht ist, wie allgemein angenommen.
Es stellte sich heraus, dass die künstlichen Einschränkungen der Bluetooth-Stacks für die Bitrate von SBC umgangen werden können, so dass SBC nicht hinter aptX HD zurücksteht. Ich habe die Initiative ergriffen und einen Patch für die Firmware von LineageOS erstellt:
Weitere Informationen finden Sie auf den Websites und .
Bonus: . Diese Datei wurde früher öffentlich auf der Website von Bluetooth veröffentlicht, ist jetzt jedoch nur für Mitglieder der Bluetooth SIG verfügbar.
Quelle: habr.com

auf der Verpackung oder dem Gerät