Dieser Artikel ist auch auf Russisch verfügbar / Dieser Artikel ist auch auf Russisch verfügbarDer Massenmarkt für Smartphones ohne 3,5-mm-Audiobuchse hat die Kopfhörerindustrie verändert. Drahtlose Bluetooth-Kopfhörer sind für viele Benutzer die Hauptmethode, um Musik zu hören und im Headset-Modus zu kommunizieren.
Hersteller von Bluetooth-Geräten legen selten detaillierte Produktspezifikationen offen, und Bluetooth-Audioartikel im Internet sind widersprüchlich und manchmal falsch. Sie erzählen nicht über alle Funktionen und veröffentlichen häufig dieselben falschen Informationen.
Lassen Sie uns versuchen, das Protokoll, die Funktionen von Bluetooth-Stacks, Kopfhörern und Lautsprechern, Bluetooth-Codecs für Musik und Sprache zu verstehen, herauszufinden, was die Qualität des übertragenen Audios und die Verzögerung beeinflusst, und zu lernen, wie Informationen über unterstützte Codecs und andere Codecs erfasst und dekodiert werden Gerätefunktionen.
TL; DR :
- Der SBC-Codec ist in Ordnung
- Kopfhörer verfügen über einen eigenen Codec-Equalizer und eine eigene Nachbearbeitungskonfiguration
- aptX ist nicht so gut wie in der Werbung angegeben
- LDAC ist ein Marketing-Flaum
- Die Sprachqualität ist immer noch niedrig
- Browser können Audio-Encoder ausführen, die mit emscripten aus C zu WebAssembly kompiliert wurden, und sie werden nicht einmal verzögern.
Musik über Bluetooth
Die Funktionskomponenten von Bluetooth werden durch Profile definiert - dokumentierte Merkmale, die in Spezifikationen formalisiert sind. Bluetooth-Musik wird über ein hochwertiges Audio-A2DP-Übertragungsprofil übertragen. Der A2DP-Standard wurde 2003 verabschiedet und hat sich seitdem nicht drastisch geändert.
Das Profil standardisiert einen obligatorischen Codec - SBC, einen Codec mit geringer Rechenkomplexität, der speziell für Bluetooth erstellt wurde, und drei zusätzliche Codecs. Sie können auch herstellerspezifische Codecs Ihrer eigenen Implementierung verwenden, die nicht in A2DP enthalten sind.
Ab Juni 2019 leben wir
im XKCD-Comic mit 14 A2DP-Codecs:
- SBC ← in A2DP enthalten, wird von allen Geräten unterstützt
- MPEG-1/2-Schicht 1/2/3 ← in A2DP enthalten: weithin bekanntes MP3 , das im digitalen TV- MP2 üblich ist , und veraltetes MP1
- MPEG-2/4 AAC ← in A2DP enthalten
- ATRAC ← Sonys alter Codec, der in A2DP enthalten ist
- LDAC ← Sonys neuer Codec
- aptX ← Codec von 1988
- aptX HD ← wie aptX, jedoch mit unterschiedlichem Codierungsprofil
- aptX Low Latency ←
völlig anderer Codec, keine Software-Implementierung aptX mit niedrigerem Puffer - aptX Adaptive ← ein weiterer Qualcomm-Codec
- FastStream ← Pseudocodec, bidirektionale SBC-Modifikation
- HWA LHDC ← Der neue 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
Sie fragen sich vielleicht, warum wir überhaupt einen Codec benötigen, wenn Bluetooth über
EDR verfügt, mit dem Sie Daten mit 2 oder 3 Mbit / s übertragen können, während unkomprimiertes zweikanaliges 16-Bit-PCM nur 1,4 Mbit / s benötigt?
Bluetooth-Datenübertragung
In Bluetooth gibt es zwei Arten der Datenübertragung: ACL (Asynchronous Connection Less) für die asynchrone Übertragung ohne Verbindungsaufbau und SCO (Synchronous Connection Oriented) für die synchrone Übertragung mit Verbindungsaufbau.
Die Datenübertragung verwendet ein Zeitteilungsschema und ändert den Frequenzkanal für jedes übertragene Datenpaket (Frequenzsprung / Zeitduplex, FH / TDD). Die Zeit ist in Intervalle von 625 Mikrosekunden unterteilt, die als Slots bezeichnet werden. Eines der Geräte sendet in gerader Anzahl von Steckplätzen, das andere in ungerader Anzahl. Ein übertragenes Paket kann je nach Datengröße und Übertragungsmodus 1, 3 oder 5 Steckplätze belegen. Wenn das Paket groß genug ist und mehr als ein Slot-Übertragungsmodus verwendet wird, werden die Daten bis zum Ende der Übertragung in geraden und ungeraden Slots ausgeführt. In einer Sekunde können Sie bis zu 1600 Pakete empfangen und senden, wenn jedes von ihnen 1 Steckplatz belegt und beide Geräte kontinuierlich Daten senden und empfangen.
Übertragungsraten von 2 oder 3 Mbit / s für EDR in Ankündigungen und auf der Bluetooth-Website sind die maximale Übertragungsrate von Kanaldaten aller Daten insgesamt (einschließlich der technischen Header aller Protokolle für Daten, in die gekapselt werden soll) in zwei Richtungen gleichzeitig. Die tatsächliche Datenübertragungsrate variiert stark.
Das asynchrone Verfahren wird für das Musik-Streaming verwendet, wobei fast immer Pakete vom Typ 2-DH5 und 3-DH5 verwendet werden, die die maximale Datenmenge im EDR-Modus von 2 Mbit / s bzw. 3 Mbit / s übertragen und 5 Zeitteilungsschlitze belegen.
Schematische Darstellung der Übertragung unter Verwendung von 5 Steckplätzen durch ein Gerät und 1 Steckplatz durch ein anderes (DH5 / DH1):

Aufgrund des Time-Sharing-Prinzips müssen wir nach dem Senden eines Pakets auf einen Zeitschlitz von 625 Mikrosekunden warten, wenn das zweite Gerät nichts an uns sendet oder ein kleines Paket sendet, und mehr Zeit, wenn das zweite Gerät die Übertragung in großen Paketen durchführt. Wenn mehr als ein Gerät an das Telefon angeschlossen ist (z. B. Kopfhörer, Smartwatch und ein Fitnessarmband), wird die Übertragungszeit zwischen allen geteilt.
A2DP-Audio-Streaming erfordert die Kapselung in einem speziellen Transportprotokoll L2CAP und AVDTP, die 16 Bytes von der maximal möglichen Menge an Audio-Nutzdaten im Paket abziehen.
1414 und 1429 kbps reichen einfach nicht aus, um unkomprimiertes Audio unter realen Bedingungen mit einem verrauschten 2,4-GHz-Band und gelegentlichen Servicedaten zu übertragen. EDR 3 Mbit / s stellen hohe Anforderungen an Sendeleistung und Signal / Rausch-Verhältnis. Selbst im 3-DH5-Modus ist keine komfortable PCM-Übertragung möglich, da es immer zu kurzfristigen Unterbrechungen kommt und alles nur in einer Entfernung von mehr oder weniger zuverlässig funktioniert ein paar Meter.
In der Praxis ist es nicht trivial, selbst einen Audiostream mit 990 kb / s (LDAC 990 kb / s) zuverlässig zu übertragen.
Kommen wir zurück zu den Codecs.
Sbc
Dieser Codec ist für alle Geräte obligatorisch, die den A2DP-Standard unterstützen. Der beste und der schlechteste Codec gleichzeitig.
SBC ist ein einfacher und rechnerisch schneller Codec mit einem primitiven psychoakustischen Modell (mit einfacher auditorischer Maskierung) unter Verwendung der adaptiven Pulscodemodulation (APCM).
In der A2DP-Spezifikation wird die Verwendung von zwei Profilen empfohlen: Mittlere Qualität und Hohe Qualität.

Der Codec verfügt über viele Einstellungen, mit denen Sie die algorithmische Verzögerung, die Anzahl der Abtastwerte im Block und den Bitzuweisungsalgorithmus steuern können. Fast immer werden jedoch die in der Spezifikation verwendeten Parameter überall verwendet:
Joint Stereo , 8 Frequenzbänder, 16 Blöcke im Audio Frame,
Loudness- Bitzuweisungsmethode.
SBC kann den Bitpool-Parameter dynamisch anpassen, was sich direkt auf die Bitrate auswirkt. Wenn das Radio verstopft ist, Pakete verloren gehen oder Geräte weit entfernt sind, kann die Audioquelle den Bitpool reduzieren, um Audiounterbrechungen zu vermeiden, bis die Verbindung wieder stabil ist.
Die Hersteller der meisten Kopfhörer setzen den Maximalwert des Bitpool-Parameters auf 53, wodurch die Bitrate bei Verwendung des empfohlenen Profils auf 328 Kilobit pro Sekunde begrenzt wird.
Selbst wenn der Kopfhörerhersteller den maximalen Bitpool-Wert über 53 festgelegt hat (was beispielsweise für Beats Solo³, JBL Everest Elite 750NC, Apple AirPods und auch für einige Empfänger und Autokopfgeräte gilt), lassen die meisten Betriebssysteme die Verwendung nicht zu höhere Bitraten aufgrund interner Grenzwerte in Bluetooth-Stacks.
Darüber hinaus legen einige Hersteller für einige Geräte einen niedrigen maximalen Bitpoolwert fest. In Bluedio T entspricht dies beispielsweise 39, in Samsung Gear IconX 37, was zu einer schlechten Klangqualität führt.
Die künstlichen Einschränkungen wurden in Bluetooth-Stacks eingeführt, wahrscheinlich aufgrund einer unzureichenden Anzahl von Zertifizierungstests und der Inkompatibilität einiger Geräte mit großen Bitpool-Werten oder atypischen Profilen, selbst wenn sie diese unterstützen. Für die Entwickler war es einfacher, die Optionen auf bekannte Werte eines empfohlenen Profils zu beschränken, als eine Datenbank mit inkompatiblen Geräten zu erstellen. Jetzt tun sie dies jedoch für andere falsch funktionierende Funktionen.
SBC ordnet dynamisch Quantisierungsbits für Frequenzbänder zu, die von unten nach oben mit unterschiedlichen Gewichten wirken. Wenn die gesamte Bitrate für niedrige und mittlere Frequenzen verwendet wurde, werden die oberen Frequenzen abgeschnitten (durch Stille ersetzt).
Beispiel für SBC 328 kbps. Original-Audio befindet sich oben, SBC-codiertes Audio befindet sich unten. Die Spuren werden zum Vergleich geschaltet. Der Audiostream in der Videodatei wird mit dem verlustfreien FLAC-Codec komprimiert. Die Verwendung von FLAC im mp4-Container ist nicht offiziell standardisiert. Aus diesem Grund wird das Audio möglicherweise nicht in Ihrem Browser abgespielt (sollte in den neuesten Versionen von Desktop Chrome und Firefox funktionieren). Wenn Sie keinen Ton haben, können Sie die Datei herunterladen und in einem beliebigen Videoplayer öffnen.
ZZ Top - Scharf gekleideter MannDer Moment des Umschaltens ist im Spektrogramm sichtbar: SBC schneidet regelmäßig leise Töne über 17,5 kHz und weist für ein Band über 20 kHz überhaupt keine Bits zu. Das Spektrogramm ist anklickbar (1,7 MB).

Ich kann den Unterschied zwischen dem Original und dem SBC auf diesem Track nicht hören.
Nehmen wir etwas Neueres und simulieren die Audioqualität von Samsung Gear IconX-Kopfhörern mit Bitpool 37 (oben ist der ursprüngliche Stream, unten ist SBC 239 kbps, FLAC wird für Audio verwendet).
Mindless Self Indulgence - ZeugeIch höre Knistern, einen kleineren Stereoeffekt und ein unangenehmes "Klappern" des Gesangs bei hohen Frequenzen.
Zusammenfassend ist SBC ein sehr flexibler Codec: Er kann für geringe Latenz konfiguriert werden, bietet eine hervorragende Audioqualität bei hohen Bitraten (452+ kb / s) und ist für die meisten Benutzer mit hoher Standardqualität (328 kb / s) recht gut. . Es gibt jedoch einige Gründe, warum der Codec für seine niedrige Klangqualität berüchtigt ist: Der A2DP-Standard definiert keine festen Profile (er gibt nur Empfehlungen), Bluetooth-Stack-Entwickler setzen künstliche Grenzen für Bitpool, die Parameter des übertragenen Audios werden nicht angezeigt In der Benutzeroberfläche können Kopfhörerhersteller ihre Einstellungen frei vornehmen und niemals den Bitpool-Wert in den technischen Eigenschaften des Produkts angeben.
Der Bitpool-Parameter wirkt sich nur innerhalb eines Profils direkt auf die Bitrate aus. Der gleiche Bitpoolwert von 53 kann sowohl die 328-kbit / s-Bitrate mit dem empfohlenen High-Quality-Profil als auch 1212-kbit / s im
Zweikanalmodus und in 4 Frequenzbändern erzeugen, weshalb die Autoren des Betriebssystems neben dem Bitpool auch Grenzwerte für die Bitrate festlegen. Ich gehe davon aus, dass die Situation aufgrund des Fehlers im A2DP-Standard entstanden ist: Es war notwendig, die Bitrate auszuhandeln, nicht den Bitpool.
Tabelle der SBC-Funktionen, die in verschiedenen Betriebssystemen unterstützt werden:
* Der Bitpool nimmt ab, steigt jedoch bei unterschiedlichen Übertragungsbedingungen nicht automatisch an. Um den Bitpool wiederherzustellen, müssen Sie die Wiedergabe stoppen, einige Sekunden warten und den Ton neu starten.
** Der Standardwert hängt von den Stapeleinstellungen ab, die beim Kompilieren der Firmware angegeben wurden. In Android 8 / 8.1 beträgt die Frequenz je nach den Einstellungen beim Kompilieren nur 44,1 kHz oder 48 kHz. Andere Versionen unterstützen gleichzeitig 44,1 kHz und 48 kHz.
*** Der Bitpoolwert kann mit der Bluetooth Explorer-Software angepasst werden.aptX und aptX HD
aptX ist ein einfacher und rechnerisch schneller Codec ohne Psychoakustik, der die adaptive differentielle Pulscodemodulation (
ADPCM ) verwendet. Es erschien um 1988 (
Patentanmeldedatum ist Februar 1988). Vor Bluetooth wurde es hauptsächlich für professionelle drahtlose Audiogeräte verwendet. Derzeit im Besitz von Qualcomm, sind Lizenz- und Lizenzgebühren erforderlich. Ab 2014: 6.000 USD einmalige Zahlung und 1 USD pro Gerät für Chargen von bis zu 10.000 Geräten (
Quelle , Seite 16).
Der Codec hat nur einen Parameter - die Abtastrate. Obwohl es auch eine Konfigurationsoption für Kanalnummer / Modus gibt, unterstützen alle mir bekannten Geräte nur Stereo (Modelle ab 70).
* Für Versionen bis 7 muss der Bluetooth-Stack geändert werden. Der Codec wird nur unterstützt, wenn der Hersteller des Android-Geräts die Codec-Nutzung von Qualcomm lizenziert hat (wenn das Betriebssystem Codierungsbibliotheken enthält).aptX teilt Audio in 4 Frequenzbänder auf und quantisiert sie kontinuierlich mit der gleichen 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 ( Werte für 44,1 kHz Abtastrate).
Beispiel für aptX-Audio (oben - Original-Audio, unten - aptX-codiertes Audio, nur Spektrogramme der linken Kanäle, Ton in FLAC):
Die oberen Frequenzen sind etwas röter, aber der Unterschied ist nicht hörbar.
Aufgrund der festen Verteilung der Quantisierungsbits kann der Codec die Bits nicht auf Frequenzen übertragen, die sie am dringendsten benötigen. Im Gegensatz zu SBC „schneidet“ aptX die Frequenzen nicht ab, sondern fügt ihnen Quantisierungsrauschen hinzu, wodurch der Dynamikbereich des Audios verringert wird.
Wir sollten nicht davon ausgehen, dass die Verwendung von beispielsweise 2 Bits für ein Band den Dynamikbereich auf 12 dB reduziert: Mit ADPCM können bis zu 96 dB Dynamikbereich verwendet werden, selbst mit 2 Quantisierungsbits, jedoch nur mit einem bestimmten Signaltyp .
ADPCM speichert die Differenz zwischen dem aktuellen und dem nächsten Wert in numerischer Darstellung, anstatt den absoluten Wert wie in PCM zu verwenden. Dies reduziert die Anforderungen an die Anzahl der Bits, die zum Speichern derselben (ohne Verlust) oder nahezu derselben (mit relativ kleinem Rundungsfehler) Informationen erforderlich sind. Um Rundungsfehler zu reduzieren, werden Faktortabellen angewendet.
Bei der Erstellung des Codecs berechneten die Autoren ADPCM-Koeffizienten für eine Reihe von Musik-Audiodateien. Je näher das Audiosignal an dem Musiksatz liegt, auf dem die Tabellen aufgebaut sind, desto weniger Quantisierungsfehler (Rauschen) werden von aptX erzeugt.
Aus diesem Grund führen synthetische Tests immer zu schlechteren Ergebnissen als Musik. Ich habe ein spezielles synthetisches Beispiel gemacht, bei dem aptX eine schlechte Leistung erbringt - eine 12,4-kHz-Sinuswelle (oberes Originalsignal, unteres aptX. Sound in FLAC. Ohrvergewaltigung, Lautstärke verringern!):
Spektraldiagramm:

Geräusche sind deutlich zu hören.
Wenn Sie jedoch eine Sinuswelle mit einer kleineren Amplitude erzeugen, damit diese leiser ist, wird das Rauschen auch leiser, was auf einen großen Dynamikbereich hinweist:

Um den Unterschied zwischen einem Original-Musiktitel und einem komprimierten zu hören, können Sie eines der Signale invertieren und den jeweiligen Kanälen Titel hinzufügen. Dieser Ansatz ist im Allgemeinen falsch und würde bei komplexeren Codecs keine korrekten Ergebnisse liefern. Für Codecs der ADPCM-Klasse ist die Verwendung dieser Methode jedoch sinnvoll.
Der Unterschied zwischen Original- und aptX-codiertem AudioDie quadratische mittlere Differenz der Signale liegt bei -37,4 dB, was für solche komprimierte Musik nicht viel ist.
aptX HD
aptX HD ist kein eigenständiger Codec, sondern ein verbessertes aptX-Codierungsprofil. Die Änderungen wirken sich auf die Anzahl der für die Frequenzbandcodierung zugewiesenen Bits aus: 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 (Werte für 44,1 kHz) .
* Für Versionen bis 7 muss der Bluetooth-Stack geändert werden. Der Codec wird nur unterstützt, wenn der Hersteller des Android-Geräts die Codec-Nutzung von Qualcomm lizenziert hat (wenn das Betriebssystem Codierungsbibliotheken enthält).Dieser Codec ist weniger verbreitet als aptX: Er erfordert anscheinend eine separate Lizenzierung von Qualcomm und separate Lizenzgebühren.
Wiederholen wir das Beispiel mit einer 12,4-kHz-Sinuswelle:

Viel besser als mit aptX, aber immer noch laut.
aptX Geringe Latenz
Die Version von aptX mit niedriger Latenz ist kein eigenständiger Codec. Es unterscheidet sich nur in den Latenz- und Puffereinstellungen, die auf der Seite der Audioeinheit angewendet werden. Abgesehen davon ist das ein übliches aptX.
Es wurde für die interaktive Audioübertragung mit geringer Latenz (Filme, Spiele) entwickelt, bei der die Tonverzögerung nicht programmgesteuert angepasst werden kann.
Für Intel Bluetooth-Chips ist eine Implementierung der
Dell-Treibersoftware verfügbar . Es wird auch von Sendern, Empfängern, Kopfhörern und Lautsprechern unterstützt, jedoch nicht von Smartphones.
Aac
AAC oder Advanced Audio Coding ist ein rechnerisch ausgefeilter Codec mit einem komplexen psychoakustischen Modell. Es wird häufig für Audio im Internet verwendet, dem zweitbeliebtesten Codec nach MP3. Lizenz- und Lizenzgebühren erforderlich: Einmalige Zahlung in Höhe von 15.000 USD (oder 1000 USD für Unternehmen mit weniger als 15 Mitarbeitern) + 0,98 USD für die ersten 500.000 Geräte (
Quelle ).
Der Codec ist innerhalb der MPEG-2- und MPEG-4-Spezifikationen standardisiert und gehört trotz häufiger Irrglauben nicht zu Apple.
* Nur für Geräte, deren Hersteller Lizenzgebühren gezahlt habeniOS und macOS enthalten den bisher besten verfügbaren Apple AAC-Encoder, der die höchstmögliche Audioqualität erzeugt. Android verwendet den zweitbesten Fraunhofer FDK AAC-Encoder, kann aber auch verschiedene in die Plattform eingebettete Hardware-Encoder (SoC) mit unbekannter Codierungsqualität verwenden.
Laut kürzlich auf der SoundGuys-Website veröffentlichten Tests ist die Qualität der AAC-Codierung auf verschiedenen Android-Handys sehr unterschiedlich:

Die meisten drahtlosen Audiogeräte haben eine maximale Bitrate von 320 kbit / s für AAC, einige unterstützen nur 256 kbit / s. Andere Bitraten sind äußerst selten.
AAC bietet eine hervorragende Qualität bei Bitraten von 320 und 256 kb / s, ist jedoch anfällig für
Generationsverluste bei bereits komprimierten Inhalten. Es ist jedoch schwierig, Unterschiede zwischen dem Original und AAC 256 kb / s unter iOS zu erkennen, selbst bei mehreren aufeinanderfolgenden Codierungen. Bei MP3 320 kbps, die in AAC 256 kbps codiert sind, kann der Verlust vernachlässigt werden.
Wie bei jedem anderen Bluetooth-Codec wird jede Musik zuerst dekodiert und dann mit einem Codec codiert. Wenn Sie Musik im AAC-Format hören, wird sie zuerst vom Betriebssystem dekodiert und dann zur Übertragung über Bluetooth erneut in AAC codiert. Dies ist erforderlich, um mehrere Audiostreams wie Musik und Benachrichtigungen über neue Nachrichten zu mischen. iOS ist keine Ausnahme. Es gibt viele Aussagen, dass iOS keine Musik im AAC-Format für die Übertragung über Bluetooth transkodiert, was falsch ist.
AAC hat viele Erweiterungen der Standardcodierungsmethode. Eine davon - Scalable To Lossless (SLS) - ist für Bluetooth standardisiert und ermöglicht die Übertragung verlustfreier Audiodaten. Leider konnte auf vorhandenen Geräten keine SLS-Unterstützung gefunden werden. Eine Erweiterung zur Reduzierung der Übertragungsverzögerung AAC-LD (Low Delay) ist für Bluetooth nicht standardisiert.
MP1 / 2/3
MPEG-1/2 Part 3-Codecs bestehen aus bekannten und weit verbreiteten MP3-Dateien, der weniger verbreiteten MP2-Datei (hauptsächlich in digitalem Fernsehen und Radio verwendet) und der völlig unbekannten MP1-Datei.
Die alten MP1- und MP2-Codecs werden überhaupt nicht unterstützt. Ich konnte keine Kopfhörer oder Bluetooth-Stacks finden, die sie codieren oder decodieren würden.
Die MP3-Dekodierung wird von einigen Kopfhörern unterstützt, die Kodierung wird jedoch auf keinem modernen Betriebssystemstapel unterstützt. Es scheint, dass der BlueSoleil-Stack eines Drittanbieters für Windows MP3 codieren kann, wenn Sie die Konfigurationsdatei manuell bearbeiten. Bei meiner Installation führt dies jedoch zu BSoD unter Windows 10. Das Ergebnis: Sie können keinen Codec für Bluetooth-Audio verwenden.
Zuvor, in den Jahren 2006-2008, bevor der A2DP-Standard in Geräten weit verbreitet war, hörten die Menschen MP3-Musik auf dem Nokia BH-501-Headset über das MSI BluePlayer-Programm, das auf Symbian und Windows Mobile verfügbar war. Zu dieser Zeit ermöglichte die Betriebssystemarchitektur von Smartphones den Zugriff auf viele Funktionen auf niedriger Ebene. Es war sogar möglich, Bluetooth-Stacks von Drittanbietern unter Windows Mobile zu installieren.
Das neueste Patent des MP3-Codecs ist abgelaufen. Für die Verwendung des Codecs sind seit dem 23. April 2017 keine Lizenzgebühren erforderlich.
Wenn das in den oben genannten Referenzen erwähnte am längsten laufende Patent als Maßnahme herangezogen wird, wurde die MP3-Technologie in den USA am 16. April 2017 patentfrei, als das von Technicolor gehaltene und verwaltete US-Patent 6,009,399 auslief.
Quelle: www.iis.fraunhofer.de/de/ff/amm/prod/audiocodec/audiocodecs/mp3.htmlLDAC
Neuer und aktiv beworbener „Hi-Res“ -Codec von Sony, der Abtastraten von bis zu 96 kHz und 24-Bit-Tiefe mit einer Bitrate von bis zu 990 kbps unterstützt. Es wird als audiophiler Codec als Ersatz für vorhandene Bluetooth-Codecs beworben. Es verfügt über eine adaptive Bitratenfunktion, die die Bitrate in Abhängigkeit von den Funkübertragungsbedingungen abstimmt.
Der LDAC-Encoder (
libldac ) ist in der Standard-Android-Distribution enthalten. Die Codierung wird auf jedem Android-Smartphone ab OS Version 8 unterstützt. Software-Decoder sind nicht frei verfügbar und die Codec-Spezifikation ist jedoch auf den ersten Blick nicht für die breite Öffentlichkeit verfügbar Beim Encoder ähneln die
Interna dem in PlayStation 4 und Vita verwendeten
ATRAC9- Codec von Sony: Beide arbeiten im Frequenzbereich, verwenden eine modifizierte diskrete Cosinustransformation (MDCT) und Huffman-Komprimierung.
LDAC teilt Audio in 12 oder 16 Frequenzbänder auf: 12 wird für 44,1 und 48 kHz, 16 für 88,2 und 96 kHz verwendet.
LDAC wird fast ausschließlich von Sony-Kopfhörern unterstützt. LDAC-Decodierung wird manchmal bei Kopfhörern und DACs anderer Hersteller gefunden, aber sehr selten.
LDAC-Marketing für „Hi-Res-Codec“ beeinträchtigt seine technischen Eigenschaften: Es ist nicht ratsam, die Bitrate für die Codierung und Übertragung von Frequenzen aufzuwenden, die für das menschliche Ohr nicht hörbar sind, und eine höhere Bittiefe, wenn es immer noch nicht möglich ist, Audio in CD-Qualität verlustfrei zu komprimieren. Glücklicherweise verfügt der Codec über zwei Betriebsarten: CD-Audioübertragung und Hi-Res-Audioübertragung. Im ersten Fall werden nur 44,1 kHz / 16 Bit über Funk übertragen.
Da der LDAC-Software-Decoder nicht frei verfügbar ist, ist es nicht möglich, den Codec ohne zusätzliche Geräte zu testen, die LDAC decodieren. Laut den Ergebnissen des LDAC-Tests auf dem DAC mit seiner Unterstützung, den SoundGuys.com-Ingenieure über den digitalen Ausgang angeschlossen und den Ausgangston der Testsignale aufgezeichnet haben, liefert der LDAC 660 und 990 kbit / s im CD-Qualitätsmodus ein Signal -zu-Rausch-Verhältnis etwas besser als das von aptX HD. Das ist ein gutes Ergebnis.
Quelle: www.soundguys.com/ldac-ultimate-bluetooth-guide-20026LDAC unterstützt auch dynamische Bitraten außerhalb der etablierten Profile - von 138 kbps bis 990 kbps, aber soweit ich das beurteilen kann, verwendet Android nur standardisierte Profile mit 303/606/909 und 330/660/990 kbps.
Andere Codecs
Andere A2DP-Codecs sind nicht weit verbreitet. Ihre Unterstützung fehlt entweder fast vollständig oder ist nur bei bestimmten Modellen von Kopfhörern und Smartphones verfügbar.
Der A2DP-standardisierte ATRAC-Codec wurde selbst von Sony noch nie als Bluetooth-Codec verwendet. Samsung HD-, Samsung Scalable- und Samsung UHQ-BT-Codecs unterstützen nur sehr begrenzt Sende- und Empfangsgeräte. HWA LHDC ist zu neu und unterstützt nur drei (?) Geräte.
Codec-Unterstützung für Audiogeräte
Nicht alle Hersteller veröffentlichen genaue Informationen zu Codecs, die in bestimmten drahtlosen Kopfhörern, Lautsprechern, Empfängern oder Sendern unterstützt werden. Manchmal kommt es vor, dass bestimmte Codecs nur für das Senden, nicht aber für den Empfang unterstützt werden (relevant für kombinierte Sender-Empfänger), obwohl der Hersteller einfach "Unterstützung" ohne Hinweise deklariert (ich gehe davon aus, dass die getrennte Lizenzierung von Encodern und Decodern schuld ist). . In den billigsten Geräten finden Sie niemals die deklarierte Unterstützung für aptX.
Leider werden unterstützte Codecs auf den meisten Betriebssystemschnittstellen nirgendwo angezeigt. Informationen zum aktuell verwendeten Codec sind nur in Android ab Version 8 und macOS vorhanden. Selbst in diesen Betriebssystemen werden jedoch nur die Codecs angezeigt, die sowohl vom Telefon / Computer als auch von den Kopfhörern unterstützt werden.
Wie finde ich heraus, welche Codecs das Gerät unterstützt? Durch die Erfassung und Analyse des Verkehrsdumps mit A2DP-Verhandlungsoptionen!
Dies kann unter Linux, MacOS und Android erfolgen. Unter Linux können Sie Wireshark oder hcidump verwenden, unter macOS kann Bluetooth Explorer verwendet werden, und unter Android können Sie die in den Entwicklertools verfügbare Bluetooth HCI-Speicherauszugsfunktion verwenden. Sie erhalten einen Speicherauszug im btsnoop-Format, der im Wireshark Analyzer geöffnet werden kann.
HINWEIS : Sie müssen eine Verbindung vom Smartphone / Computer zum Kopfhörer herstellen, um den korrekten Speicherauszug zu erfassen, und nicht umgekehrt (egal wie albern das klingt)! Kopfhörer können auch eine Verbindung zum Smartphone oder PC herstellen. In diesem Fall fordern sie eine Liste der Codecs vom Telefon an und geben keine eigenen Codecs an. Um sicherzustellen, dass Sie einen korrekten Speicherauszug erfassen, entkoppeln Sie zuerst das Gerät und koppeln Sie dann während der Aufzeichnung des Speicherauszugs das Telefon mit den Kopfhörern.
Verwenden Sie den folgenden Anzeigefilter, um irrelevanten Datenverkehr auszublenden:
btavdtp.signal_id
Als Ergebnis sollten Sie etwas Ähnliches sehen:

Durch Klicken auf den Befehl GetCapabilities erhalten Sie detaillierte Informationen zum Codec.

Wireshark kennt nicht alle Codec-Kennungen, daher müssen einige der Codecs manuell entschlüsselt werden, abhängig von der folgenden Tabelle mit Kennungen:
Mandatory: 0x00 - SBC Optional: 0x01 - MPEG-1,2 (aka MP3) 0x02 - MPEG-2,4 (aka AAC) 0x04 - ATRAC Vendor specific: 0xFF 0x004F 0x01 - aptX 0xFF 0x00D7 0x24 - aptX HD 0xFF 0x000A 0x02 - aptX Low Latency 0xFF 0x00D7 0x02 - aptX Low Latency 0xFF 0x000A 0x01 - FastStream 0xFF 0x012D 0xAA - LDAC 0xFF 0x0075 0x0102 - Samsung HD 0xFF 0x0075 0x0103 - Samsung Scalable Codec 0xFF 0x053A 0x484C - Savitech LHDC 0xFF 0x000A 0x0104 - The CSR True Wireless Stereo v3 Codec ID for AAC 0xFF 0x000A 0x0105 - The CSR True Wireless Stereo v3 Codec ID for MP3 0xFF 0x000A 0x0106 - The CSR True Wireless Stereo v3 Codec ID for aptX
Mithilfe des folgenden Filters können Sie herausfinden, ob Ihr Gerät EDR 3 Mbit / s unterstützt:
bthci_evt.code==0x0b

Um die Dumps nicht manuell zu analysieren, habe ich einen Dienst erstellt, der alles automatisch analysiert:
btcodecs.valdikss.org.ruDie einfache, aber nützliche Windows
Bluetooth Tweaker- Software zeigt neben anderen Funktionen auch unterstützte und derzeit verwendete Codecs an.
Linux-Benutzer können auch das Dienstprogramm avinfo aus dem BlueZ-Paket verwenden.
Codec-Vergleich. Welcher Codec ist besser?
Jeder Codec hat seine Vor- und Nachteile.
aptX und aptX HD verwenden fest codierte Profile, die nicht geändert werden können, ohne den Encoder und Decoder zu ändern. Weder das Smartphone noch der Kopfhörerhersteller können die Bitrate oder die Codierungsfaktoren von aptX ändern. Qualcomm, der Eigentümer des Codecs, verteilt den Referenzcodierer als Bibliothek an die Lizenznehmer. Diese Fakten sind die Stärke von aptX - Sie wissen im Voraus, welche Klangqualität Sie erhalten, ohne zu stören.
SBC hat im Gegensatz dazu viele einstellbare Parameter, eine dynamische Bitrate (der Encoder kann den Bitpool-Parameter reduzieren, wenn das Radio überlastet ist) und keine fest codierten Profile, sondern nur die empfohlenen "mittlere Qualität" und "hohe Qualität". Diese wurden 2003 in die A2DP-Spezifikation aufgenommen. „Hohe Qualität“ ist nach modernen Maßstäben nicht mehr so hoch, und die meisten Bluetooth-Stacks erlauben keine Verwendung von Parametern, die besser sind als im Profil „hohe Qualität“, obwohl es keine technischen gibt Einschränkungen dafür.
Bluetooth SIG bietet keinen SBC-Referenzcodierer in Form einer Bibliothek, und die Hersteller implementieren ihn selbst.
Dies sind die Schwächen von SBC - es ist nie im Voraus klar, welche Klangqualität von einem bestimmten Gerät zu erwarten ist. SBC kann sowohl eine niedrige als auch eine sehr hohe Klangqualität erzeugen. Letztere ist jedoch nicht erreichbar, ohne die künstlichen Einschränkungen von Bluetooth-Stacks zu deaktivieren oder zu umgehen.
Die Situation mit AAC ist nicht eindeutig: Einerseits sollte der Codec theoretisch eine Qualität liefern, die nicht vom Original zu unterscheiden ist, aber die Praxis wird nach den Tests des SoundGuys-Labors auf verschiedenen Android-Geräten nicht bestätigt. Der Fehler liegt höchstwahrscheinlich bei Hardware-Audio-Encodern geringer Qualität, die in verschiedene Telefonchipsätze eingebettet sind. Es ist sinnvoll, AAC nur auf Apple-Geräten zu verwenden. Mit Android sollten Sie sich besser an aptX / HD und LDAC halten.
Geräte, die alternative Codecs unterstützen, sind normalerweise von höherer Qualität, einfach weil es nicht sinnvoll ist, Lizenzgebühren für sehr billige Geräte von geringer Qualität zu zahlen, um diese Codecs zu verwenden. Nach meinen Tests klingt SBC auf hochwertiger Hardware sehr gut.
Ich habe einen Webdienst erstellt, der Audio in Echtzeit direkt in Ihrem Browser in SBC, aptX und aptX HD codiert. Sie können damit diese Audio-Codecs testen, ohne Audio über Bluetooth, über kabelgebundene Kopfhörer, Lautsprecher und Ihre Lieblingsmusik zu übertragen, und die Codierungsparameter direkt während der Audiowiedergabe ändern:
btcodecs.valdikss.org.ru/sbc-encoderDer Dienst verwendet SBC-Codierungsbibliotheken aus dem BlueZ-Projekt und libopenaptx aus ffmpeg, die von C über emscripten in WebAssembly und JavaScript kompiliert wurden, zur Ausführung in einem Browser. Wer hätte von einer solchen Zukunft träumen können!
So sieht es aus:
Beachten Sie, wie sich der Geräuschpegel nach 20 kHz für verschiedene Codecs ändert. In der ursprünglichen MP3-Datei sind keine Frequenzen über 20 kHz vorhanden.
Versuchen Sie, die Codecs zu wechseln, und prüfen Sie, ob Sie den Unterschied zwischen dem Original, SBC 53 Joint Stereo (dem Standard- und dem am häufigsten verwendeten Profil) und aptX / aptX HD hören können.
Aber ich kann den Unterschied zwischen Codecs in einem Kopfhörer hören !
Personen, die beim Testen über einen Webdienst den Unterschied zwischen Codecs nicht hören, geben an, ihn beim Hören von Musik mit Bluetooth-Kopfhörern zu hören. Leider ist das kein Scherz oder Placebo-Effekt: Der Unterschied ist wirklich hörbar, wird aber nicht durch Unterschiede
in den Codecs verursacht .
Die überwiegende Mehrheit der Bluetooth-Audio-Chipsätze, die beim Empfang von drahtlosen Geräten verwendet werden, ist mit einem digitalen Signalprozessor (DSP) ausgestattet, der einen Equalizer, einen
Compander , einen Stereo-Extender und andere Funktionen zur Verbesserung (oder Änderung) des Klangs implementiert. Hersteller von Bluetooth-Hardware können den DSP
für jeden Codec separat konfigurieren. Wenn Sie zwischen Codecs wechseln, hat der Hörer das Gefühl, dass er den Unterschied in der Leistung von Codecs hören kann, wenn er in Wirklichkeit unterschiedliche DSP-Einstellungen hört.
Kalimba DSP-Audioverarbeitungspipeline in CSR / Qualcomm-SoCs
Aktivierung verschiedener DSP-Funktionen für jeden Codec und separate AusgabeEinige Geräte des Premium-Segments sind mit einer Software ausgestattet, mit der Sie die DSP-Parameter anpassen können. Die meisten billigeren Kopfhörer verfügen jedoch nicht über diese Funktion, und Benutzer können die Nachbearbeitung von Sound nicht mit Standardwerkzeugen deaktivieren.
Funktionsmerkmale der Geräte
Die aktuelle Version des A2DP-Standards verfügt über eine
absolute Lautstärkeregelungsfunktion , mit der die Ausgangsverstärkung mit speziellen Befehlen mithilfe des AVRCP-Protokolls gesteuert werden kann, anstatt die Lautstärke des Audiostreams selbst programmgesteuert zu reduzieren. Wenn Sie die Lautstärke am Kopfhörer ändern und die Änderung nicht mit der Lautstärke am Telefon synchronisiert ist, bedeutet dies, dass Ihre Kopfhörer oder Ihr Telefon diese Funktion nicht unterstützen. In diesem Fall ist es sinnvoll, Musik immer mit maximaler Lautstärke auf dem Telefon zu hören und die tatsächliche Lautstärke mit den Kopfhörertasten anzupassen. Das Signal-Rausch-Verhältnis ist besser und die Audioqualität
sollte höher sein.
In Wirklichkeit gibt es traurige Situationen. Mit RealForce OverDrive verwenden D1-Kopfhörer einen starken Kompander für SBC, und eine Erhöhung der Lautstärke führt zu einer Erhöhung der Lautstärke leiser Geräusche, und die Lautstärke lauter Geräusche ändert sich nicht (Signalkomprimierung erfolgt). Aus diesem Grund muss die Lautstärke am Computer auf etwa die Hälfte eingestellt werden. In diesem Fall tritt praktisch kein Komprimierungseffekt auf.
Nach meinen Beobachtungen unterstützen alle Kopfhörer mit zusätzlichen Codecs die absolute Lautstärkeregelung, was wahrscheinlich eine der Anforderungen für die Codec-Zertifizierung ist.
Einige Kopfhörer unterstützen
das gleichzeitige Anschließen zweier Geräte . So können Sie beispielsweise Musik von einem Computer hören und Anrufe von einem Telefon empfangen. Beachten Sie jedoch, dass alternative Codecs in diesem Modus deaktiviert sind und nur SBC verwendet wird.
Mit der
AVDTP 1.3 Delay Reporting- Funktion können Kopfhörer eine Verzögerung an ein sendendes Gerät melden, das den Ton tatsächlich
wiedergibt . Dies hilft dabei, die Synchronisation von Audio mit Video während der Wiedergabe von Videodateien anzupassen: Wenn eine Überlastung des Radios auftritt, bleibt das Audio nicht hinter dem Video zurück, im Gegenteil, das Video wird vom Videoplayer verlangsamt, bis Audio und Video vorhanden sind wieder synchronisiert.
Die Funktion wird von vielen Kopfhörern, Android 9+ und Linux mit PulseAudio 12.0+ unterstützt. Die Unterstützung in anderen Betriebssystemen ist mir nicht bekannt.
Duplex-Kommunikation über Bluetooth. Sprachübertragung.
Synchronous Connection Oriented (SCO) und seine erweiterte Version Enhanced Synchronous Connection Oriented (eSCO) sind die Modi für die Bluetooth-Sprachübertragung. In diesem Modus können Sie Ton und Sprache streng nacheinander mit einer symmetrischen Sende- und Empfangsgeschwindigkeit senden, ohne auf die Bestätigung des Sendens und erneuten Sendens von Paketen warten zu müssen. Dies verringert die Gesamtverzögerung bei der Übertragung von Audio über den Funkkanal, führt jedoch zu ernsthaften Einschränkungen bei der pro Zeiteinheit übertragenen Datenmenge und beeinträchtigt die Audioqualität nachteilig.
Wenn dieser Modus verwendet wird, werden sowohl die Stimme vom Mikrofon als auch das Audio mit der gleichen Qualität an die Kopfhörer übertragen.
Die Übertragung der Daten selbst wird durch das HSP-Profil standardisiert, das auch zusätzliche Funktionen wie die Bedienung der Lautstärkeregler, das Abheben des Mobilteils und das Auflegen beschreibt.
Leider ist die Qualität der Sprachübertragung über Bluetooth ab 2019 immer noch schlecht, und es ist nicht klar, warum Bluetooth SIG nichts dagegen unternimmt.
CVSD
Der grundlegende Sprachübertragungscodec
CVSD wurde 2002 standardisiert und wird von allen bidirektionalen Bluetooth-Geräten unterstützt. Es bietet Audioübertragung mit einer Abtastfrequenz von 8 kHz, was der Qualität herkömmlicher kabelgebundener Telefonie entspricht.
Ein Beispiel für die Aufnahme in diesem Codec .
mSBC
Zusätzlicher mSBC-Codec wurde 2009 standardisiert, und 2010 gab es Chips, die ihn bereits für die Sprachübertragung verwendeten. mSBC wird von verschiedenen Geräten weitgehend unterstützt.
Dies ist kein eigenständiger Codec, sondern der übliche SBC aus dem A2DP-Standard mit einem festen Codierungsprofil: 16 kHz, Mono, Bitpool 26.
Ein Beispiel für die Aufnahme in diesem Codec .
Nicht brillant, aber viel besser als CVSD, obwohl es immer noch unangenehm ist, es für die Kommunikation über das Internet zu verwenden, insbesondere wenn Sie Kopfhörer für die Kommunikation im Spiel verwenden - der Sound des Spiels wird auch mit einer Abtastfrequenz von 16 kHz übertragen .
Faststream
CSR 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 in die andere Richtung - sie haben dem A2DP-Standard für Einweg-Audioübertragung Unterstützung für Zwei-Wege-SBC-Audio hinzugefügt und ihn als „FastStream“ bezeichnet.
FastStream überträgt 44,1- oder 48-kHz-Stereoton an Lautsprecher mit einer Bitrate von 212 kbps. 16 kHz mit einer Bitrate von 72 kbps (etwas besser als die von mSBC) werden zum Übertragen von Audio von einem Mikrofon verwendet. Solche Parameter eignen sich viel besser für die Kommunikation in Online-Spielen - der Klang des Spiels und der Teamkollegen wird von hoher Qualität sein.
Ein Beispiel für die Aufnahme in diesem Codec (+
Audio vom Mikrofon, wie in mSBC ).
Das Unternehmen hat einen interessanten Hack entwickelt, der jedoch aufgrund des Widerspruchs zum A2DP-Standard nur von einigen Sendern des Unternehmens unterstützt wird (die als USB-Audiokarte und nicht als Bluetooth-Gerät funktionieren), aber nicht empfangen wurde Unterstützung im Bluetooth-Stack. Die Anzahl der Kopfhörer mit FastStream-Unterstützung ist jedoch nicht so gering.
Derzeit ist die FastStream-Unterstützung nur
in Form eines Patches für Linux PulseAudio von Pali Rohár verfügbar, der nicht im Hauptprogrammzweig enthalten ist.
aptX Geringe Latenz
Sehr zur Überraschung unterstützt aptX Low Latency auch bidirektionales Audio und implementiert das gleiche Prinzip wie FastStream.
Es gibt keine Möglichkeit, diese Funktion des Codecs irgendwo zu verwenden - es gibt keine Unterstützung für die Dekodierung mit geringer Latenz in einem Betriebssystem und in einem mir bekannten Bluetooth-Stack.
Bluetooth 5, Classic und Low Energy
Die Spezifikationen und Versionen von Bluetooth sind sehr verwirrend, da zwei inkompatible Standards unter einer Marke vorhanden sind, die beide häufig für unterschiedliche Zwecke verwendet werden.
Es gibt zwei verschiedene, inkompatible Bluetooth-Protokolle: Bluetooth Classic und Bluetooth Low Energy (LE, auch als Bluetooth Smart bekannt). Es gibt auch ein drittes Protokoll, Bluetooth High Speed, das jedoch nicht üblich ist und nicht in Haushaltsgeräten verwendet wird.
Beginnend mit Bluetooth 4.0 konzentrierten sich die Änderungen in den Spezifikationen hauptsächlich auf 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 AUF 5.0
9.1 NEUE FUNKTIONEN
In Bluetooth Core Specification 5.0 Release werden mehrere neue Funktionen eingeführt. Die Hauptverbesserungsbereiche sind:
• Slot Availability Mask (SAM)
• 2 Msym / s PHY für LE
• LE Long Range
• Nicht verbindbare Werbung mit hohem Arbeitszyklus
• LE-Werbeerweiterungen
• LE-Kanalauswahlalgorithmus Nr. 2
9.1.1 In CSA5 hinzugefügte Funktionen - In Version 5.0 integriert
• Höhere Ausgangsleistung
Quelle: www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=421043 (Seite 291)Nur eine Änderung betraf die Classic-Version innerhalb der Spezifikation von Bluetooth 5: Unterstützung der SAM-Technologie (Slot Availability Mask) zur Verbesserung der Funkfreigabe. Alle anderen Änderungen wirken sich nur auf Bluetooth LE aus (dies gilt auch für die höhere Ausgangsleistung).
Alle Audiogeräte verwenden nur Bluetooth Classic. Kopfhörer und Lautsprecher können nicht über Bluetooth Low Energy verbunden werden. Es gibt keinen Standard für die Übertragung von Audio mit LE. Der A2DP-Standard, der zur Übertragung von Audio in hoher Qualität verwendet wird, funktioniert nur über Bluetooth Classic, und es gibt kein Äquivalent in LE.
Zusammenfassend lässt sich sagen, dass der Kauf von Audiogeräten mit Bluetooth 5 nur aufgrund der neuen Version des Protokolls bedeutungslos ist. Bluetooth 4.0 / 4.1 / 4.2 im Rahmen der Audioübertragung funktioniert genauso.
Wenn in der Ankündigung des neuen Kopfhörers ein doppelter Radius und ein geringerer Stromverbrauch dank Bluetooth 5 erwähnt werden, sollten Sie wissen, dass sie sich entweder nicht verstehen oder Sie irreführen. Kein Wunder, dass selbst die Hersteller von Bluetooth-Chips den Unterschied zwischen beiden Standards verwechseln. Einige Bluetooth 5-Chips unterstützen die fünfte Version nur für LE und verwenden 4.2 für Classic.
Latenz der Audioübertragung
Das Ausmaß der Latenz (Verzögerung) im Audio hängt von vielen Faktoren ab: der Größe des Puffers in der Audiobibliothek, im Bluetooth-Stack und im Wiedergabegerät selbst, der algorithmischen Verzögerung des Codecs.
Die Verzögerung einfacher Codecs wie SBC, aptX und aptX HD ist mit etwa 3 bis 6 ms recht gering, was vernachlässigt werden kann. Komplexe Codecs wie AAC und LDAC können jedoch zu einer spürbaren Verzögerung führen. Die algorithmische Verzögerung AAC für 44,1 kHz beträgt 60 ms. LDAC - ca. 30 ms (durch grobe Analyse des Quellcodes. Ich kann mich irren, aber nicht viel.)
Die Gesamtverzögerung hängt stark vom Wiedergabegerät, seinem Chipsatz und seinem Puffer ab. Während der Tests habe ich auf verschiedenen Geräten (mit dem SBC-Codec) einen Spread von 150 bis 250 ms erhalten. Wenn wir davon ausgehen, dass Geräte mit Unterstützung für zusätzliche Codecs aptX, AAC und LDAC Komponenten mit besserer Qualität und einer kleinen Puffergröße verwenden, erhalten wir die folgenden typischen Latenzwerte:
SBC: 150-250 ms
aptX: 130-180 ms
AAC: 190-240 ms
LDAC: 160-210 ms
Ich möchte Sie daran erinnern: aptX Low Latency wird in Betriebssystemen nicht unterstützt, weshalb eine geringere Verzögerung nur mit einem Sender + Empfänger oder Sender + Kopfhörer / Lautsprecher-Paket erzielt werden kann und alle Geräte diesen Codec unterstützen müssen.
Die Probleme mit Zertifizierungen, Logos und Geräten
Wie kann man ein hochwertiges Audiogerät von billigem Kunsthandwerk unterscheiden? Durch das Aussehen an erster Stelle!
Günstige chinesische Kopfhörer, Lautsprecher und Empfänger haben:
- Kein "Bluetooth" -Wort auf der Box und dem Gerät, meistens ersetzt durch "Wireless" und "BT"
- Kein Bluetooth-Logo
auf Box oder Gerät - Keine blau blinkende LED
Das Fehlen dieser Elemente weist darauf hin, dass das Gerät nicht zertifiziert wurde, was bedeutet, dass es möglicherweise problematisch oder von schlechter Qualität ist. Beispielsweise sind Bluedio-Kopfhörer nicht über Bluetooth zertifiziert und entsprechen nicht vollständig der A2DP-Spezifikation. Sie hätten den Zertifizierungsprozess nicht bestanden.
Schauen wir uns einige Geräte und Boxen an:



Dies sind alles nicht zertifizierte Geräte. Die Anweisungen können das Logo und den Namen "Bluetooth" enthalten, aber am wichtigsten ist, dass diese Elemente auf dem Gerät oder der Box selbst vorhanden sein sollten.
Wenn auf Ihren Kopfhörern oder Lautsprechern "Ze Bluetooth Bluetooth ist erfolgreich verbunden" steht, sagt dies auch nichts über die Qualität aus:
Fazit
Kann Bluetooth kabelgebundene Kopfhörer und Headsets vollständig ersetzen? Wahrscheinlich, aber auf Kosten einer minderwertigen Sprache, einer erhöhten Latenz bei der Tonübertragung, die in Spielen ärgerlich sein kann, und einer Vielzahl von proprietären Codecs, für die Lizenzgebühren erforderlich sind und die Endkosten für Smartphones und Kopfhörer steigen.
Die Vermarktung alternativer Codecs ist sehr stark: aptX und LDAC werden als lang erwarteter Ersatz für den „veralteten und schlechten“ SBC vorgestellt, der bei weitem nicht so schlecht ist, wie allgemein angenommen wird.
Wie sich herausstellte, können die künstlichen Einschränkungen von Bluetooth-Stacks auf SBC umgangen werden, sodass der SBC mit aptX HD auf Augenhöhe ist. Ich habe die Initiative ergriffen und einen Patch für die LineageOS-Firmware erstellt:
Ändern des Bluetooth-Stacks, um den Klang von Kopfhörern ohne AAC-, aptX- und LDAC-Codecs zu verbessernWeitere Informationen zu Codecs finden Sie auf den Websites von
SoundGuys und
SoundExpert .
Bonus: SBC-Referenzcodierer, A2DP-Bitstream-Informationen und Testdateien . Diese Datei wurde zuvor öffentlich auf der Bluetooth-Website veröffentlicht, ist jetzt jedoch nur für diejenigen verfügbar, die Bluetooth SIG beigetreten sind.