Audio via Bluetooth : autant de détails que possible sur les profils, les codecs et les appareils

Audio via Bluetooth : autant de détails que possible sur les profils, les codecs et les appareils

En raison de la production en série de smartphones sans prise audio 3.5 mm, les écouteurs Bluetooth sans fil sont devenus pour beaucoup le principal moyen d'écouter de la musique et de communiquer en mode casque.
Les fabricants d'appareils sans fil n'écrivent pas toujours des spécifications détaillées des produits, et les articles sur l'audio Bluetooth sur Internet sont contradictoires, parfois incorrects, ne parlent pas de toutes les fonctionnalités et copient souvent les mêmes informations qui ne correspondent pas à la réalité.
Essayons de comprendre le protocole, les capacités des piles de système d'exploitation Bluetooth, des écouteurs et des haut-parleurs, des codecs Bluetooth pour la musique et la parole, découvrons ce qui affecte la qualité du son transmis et la latence, apprenons à collecter et décoder des informations sur les codecs et autres appareils pris en charge. capacités.

TL; DR:

  • SBC - codec normal
  • Les écouteurs ont leur propre égaliseur et post-traitement pour chaque codec séparément
  • aptX n'est pas aussi bon qu'annoncé
  • LDAC commercialise des conneries
  • La qualité des appels est toujours médiocre
  • Vous pouvez intégrer des encodeurs audio C dans votre navigateur en les compilant dans WebAssembly via emscripten, et ils ne ralentiront pas beaucoup.

Musique via Bluetooth

Le composant fonctionnel de Bluetooth est déterminé par des profils - spécifications de fonctions spécifiques. Le streaming de musique Bluetooth utilise un profil de transmission audio unidirectionnel A2DP de haute qualité. La norme A2DP a été adoptée en 2003 et n’a pas beaucoup changé depuis.
Dans le profil, 1 codec obligatoire de faible complexité informatique SBC, créé spécifiquement pour Bluetooth, et 3 autres sont standardisés. Il est également possible d'utiliser des codecs non documentés de votre propre implémentation.

Depuis juin 2019, nous sommes dans la bande dessinée xkcd avec 14 codecs A2DP :

  • SBC ← standardisé en A2DP, pris en charge par tous les appareils
  • MPEG-1/2 Layer 1/2/3 ← standardisé en A2DP : bien connu MP3, utilisé dans la télévision numérique MP2, et inconnu MP1
  • MPEG-2/4 AAC ← standardisé en A2DP
  • ATTIRER ← ancien codec de Sony, standardisé en A2DP
  • TAAC ← nouveau codec de Sony
  • aptX ← codec de 1988
  • aptX HD ← identique à aptX, mais avec des options d'encodage différentes
  • aptX faible latence ← codec complètement différent, aucune implémentation logicielle
  • aptX Adaptive ← un autre codec de Qualcomm
  • Flux rapide ← pseudo codec, modification bidirectionnelle du SBC
  • HWA LHDC ← nouveau codec de Huawei
  • SamsungHD ← pris en charge par 2 appareils
  • Évolutif Samsung ← pris en charge par 2 appareils
  • Samsung UHQ-BT ← pris en charge par 3 appareils

Pourquoi avons-nous besoin de codecs, demandez-vous, alors que Bluetooth dispose d'un EDR, qui vous permet de transférer des données à des vitesses de 2 et 3 Mbit/s, et pour un PCM 16 bits à deux canaux non compressé, 1.4 Mbit/s suffit ?

Transfert de données via Bluetooth

Il existe deux types de transfert de données en Bluetooth : Asynchronous Connection Less (ACL) pour un transfert asynchrone sans établissement de connexion, et Synchronous Connection Oriented (SCO), pour un transfert synchrone avec négociation préalable de connexion.
La transmission est effectuée à l'aide d'un schéma de répartition dans le temps et en sélectionnant un canal de transmission pour chaque paquet séparément (Frequency-Hop/Time-Division-Duplex, FH/TDD), pour lequel le temps est divisé en intervalles de 625 microsecondes appelés slots. L'un des appareils transmet dans des emplacements pairs, l'autre dans des emplacements impairs. Le paquet transmis peut occuper 1, 3 ou 5 emplacements, selon la taille des données et le type de transmission défini, dans ce cas, la transmission par un appareil s'effectue dans des emplacements pairs et impairs jusqu'à la fin de la transmission. Au total, jusqu'à 1600 1 paquets peuvent être reçus et envoyés par seconde, si chacun d'eux occupe XNUMX emplacement et que les deux appareils transmettent et reçoivent quelque chose sans s'arrêter.

2 et 3 Mbit/s pour EDR, que l'on peut trouver dans les annonces et sur le site Web Bluetooth, sont le taux de transfert de canal maximum de toutes les données au total (y compris les en-têtes techniques de tous les protocoles dans lesquels les données doivent être encapsulées), dans deux directions. simultanément. La vitesse réelle de transfert de données varie considérablement.

Pour transmettre de la musique, une méthode asynchrone est utilisée, utilisant presque toujours des paquets comme 2-DH5 et 3-DH5, qui transportent une quantité maximale de données en mode EDR de 2 Mbit/s et 3 Mbit/s, respectivement, et occupent 5 fois -partage de créneaux.

Représentation schématique de la transmission utilisant 5 slots par un appareil et 1 slot par un autre (DH5/DH1) :
Audio via Bluetooth : autant de détails que possible sur les profils, les codecs et les appareils

En raison du principe de répartition temporelle des ondes, nous sommes obligés d'attendre un intervalle de temps de 625 microsecondes après la transmission d'un paquet si le deuxième appareil ne nous transmet rien ou transmet un petit paquet, et plus de temps si le deuxième appareil transmet en gros paquets. Si plusieurs appareils sont connectés au téléphone (par exemple des écouteurs, des montres et un bracelet de fitness), le temps de transfert est partagé entre eux tous.

La nécessité d'encapsuler l'audio dans des protocoles de transport spéciaux L2CAP et AVDTP prend 16 octets de la quantité maximale possible de charge utile audio transmise.

Type d'emballage
Nombre de créneaux
Max. nombre d'octets dans le paquet
Max. nombre d'octets de charge utile A2DP
Max. Débit de la charge utile A2DP

2-DH3
3
367
351
936 kbps

3-DH3
3
552
536
1429 kbps

2-DH5
5
679
663
1414 kbps

3-DH5
5
1021
1005
2143 kbps

1414 et 1429 kbps ne suffisent certainement pas pour transmettre de l'audio non compressé dans des conditions réelles, avec la gamme bruyante de 2.4 GHz et la nécessité de transmettre des données de service. L'EDR 3 Mbit/s est exigeant en puissance de transmission et en bruit dans les airs, par conséquent, même en mode 3-DH5, une transmission PCM confortable est impossible, il y aura toujours des interruptions à court terme et tout ne fonctionnera qu'à une distance d'un mètre. quelques mètres.
En pratique, même un flux audio à 990 kbit/s (LDAC 990 kbit/s) est difficile à transmettre.

Revenons aux codecs.

SBC

Codec requis pour tous les appareils prenant en charge la norme A2DP. Le meilleur et le pire codec à la fois.

Taux d'échantillonnage
Capacité
Débit
Prise en charge de l'encodage
Prise en charge du décodage

16, 32, 44.1, 48 kHz
Bit 16
10-1500 XNUMX Kbit/s
Tous les dispositifs
Tous les dispositifs

SBC est un codec simple et rapide en termes de calcul, avec un modèle psychoacoustique primitif (seul le masquage des sons faibles est appliqué), utilisant la modulation adaptative de code d'impulsion (APCM).
La spécification A2DP recommande l'utilisation de deux profils : qualité moyenne et haute qualité.
Audio via Bluetooth : autant de détails que possible sur les profils, les codecs et les appareils

Le codec dispose de nombreux paramètres qui permettent de contrôler le retard algorithmique, le nombre d'échantillons dans un bloc, l'algorithme de distribution de bits, mais presque partout les mêmes paramètres recommandés dans la spécification sont utilisés : Joint Stereo, 8 bandes de fréquences, 16 blocs en une trame audio, méthode de distribution de bits de Loudness.
SBC prend en charge le changement dynamique du paramètre Bitpool, qui affecte directement le débit binaire. Si les ondes sont obstruées, si des paquets sont perdus ou si des appareils sont situés à de grandes distances, la source audio peut réduire le Bitpool jusqu'à ce que la communication revienne à la normale.

La plupart des fabricants de casques fixent la valeur Bitpool maximale à 53, ce qui limite le débit binaire à 328 kilobits par seconde lors de l'utilisation du profil recommandé.
Même si le fabricant du casque a fixé la valeur Bitpool maximale au-dessus de 53 (de tels modèles existent, par exemple : Beats Solo³, JBL Everest Elite 750NC, Apple AirPods, également présents sur certains récepteurs et unités principales de voiture), alors la plupart des systèmes d'exploitation ne le permettront pas. l'utilisation de débits binaires accrus en raison de la définition d'une limite de valeur interne dans les piles Bluetooth.
De plus, certains fabricants fixent la valeur Bitpool maximale à un niveau bas pour certains appareils. Par exemple, pour Bluedio T c'est 39, pour Samsung Gear IconX c'est 37, ce qui donne une mauvaise qualité sonore.

Les restrictions artificielles de la part des développeurs de piles Bluetooth sont très probablement dues à l'incompatibilité de certains appareils avec des valeurs Bitpool élevées ou des profils atypiques, même s'ils en ont signalé la prise en charge, et à des tests insuffisants lors de la certification. Il était plus facile pour les auteurs de piles Bluetooth de se limiter à se mettre d'accord sur le profil recommandé plutôt que de créer des bases de données d'appareils incorrects (bien qu'ils le fassent désormais pour d'autres fonctions qui ne fonctionnent pas correctement).

SBC alloue dynamiquement les bits de quantification aux bandes de fréquences de bas en haut, avec des poids différents. Si tout le débit a été utilisé pour les basses et moyennes fréquences, les hautes fréquences seront « coupées » (il y aura du silence à la place).

Exemple SBC 328 kbps. En haut se trouve l'original, en bas se trouve le SBC, basculant périodiquement entre les pistes. L'audio du fichier vidéo utilise le codec de compression sans perte FLAC. L'utilisation de FLAC dans un conteneur mp4 n'est pas officiellement standardisée, il n'est donc pas garanti que votre navigateur le lira, mais cela devrait fonctionner dans les dernières versions de Chrome et Firefox de bureau. Si vous n'avez pas de son, vous pouvez télécharger le fichier et l'ouvrir dans un lecteur vidéo à part entière.
ZZ Top - Homme bien habillé

Le spectrogramme montre le moment de la commutation : SBC coupe périodiquement les sons faibles au-dessus de 17.5 kHz et n'attribue aucun bit pour la bande au-dessus de 20 kHz. Le spectrogramme complet est disponible en cliquant (1.7 Mo).
Audio via Bluetooth : autant de détails que possible sur les profils, les codecs et les appareils

Je n'entends aucune différence entre l'original et SBC sur cette piste.

Prenons quelque chose de plus récent et simulons l'audio qui serait obtenu avec un casque Samsung Gear IconX avec Bitpool 37 (ci-dessus - le signal d'origine, ci-dessous - SBC 239 kbps, audio en FLAC).
Indulgence insensée envers soi-même - Témoin

J'entends des grésillements, moins d'effet stéréo et un "cognement" désagréable dans les hautes fréquences du chant.

Bien que SBC soit un codec très flexible, il peut être configuré pour une faible latence, offre une excellente qualité audio à des débits binaires élevés (452+ kbps) et est assez bon pour la plupart des gens en haute qualité standard (328 kbps), en raison du fait que la norme A2DP ne spécifie pas de profils fixes (mais donne seulement des recommandations), les développeurs de stack ont ​​fixé des restrictions artificielles sur Bitpool, les paramètres de l'audio transmis ne sont pas affichés dans l'interface utilisateur et les fabricants de casques sont libres de définir leurs propres paramètres et de ne jamais indiquez la valeur Bitpool dans les spécifications techniques du produit, le codec est devenu célèbre pour sa faible qualité sonore, bien que ce ne soit pas un problème avec le codec en tant que tel.
Le paramètre Bitpool affecte directement le débit binaire uniquement au sein d'un seul profil. La même valeur Bitpool 53 peut donner à la fois un débit binaire de 328 kbps avec le profil haute qualité recommandé et 1212 kbps avec Dual Channel et 4 bandes de fréquences, c'est pourquoi les auteurs du système d'exploitation, en plus des restrictions sur Bitpool, ont fixé une limite et sur Débit binaire. À mon avis, cette situation est due à une faille dans la norme A2DP : il fallait négocier le débit, pas Bitpool.

Tableau de prise en charge des fonctionnalités SBC dans différents systèmes d'exploitation :

OS
Taux d'échantillonnage pris en charge
Limite max. Pool de bits
Limite max. Débit
Débit binaire typique
Ajustement dynamique du Bitpool

Windows 10
44.1 kHz
53
512 kbps
328 kbps
✓*

Linux (BlueZ + PulseAudio)
16, 32, 44.1, 48 kHz
64 (pour les connexions entrantes), 53 (pour les connexions sortantes)
Sans limites
328 kbps
✓*

MacOS High Sierra
44.1 kHz
64, par défaut 53***
inconnu
328 kbps

Android 4.4-9
44.1/48 kHz**
53
328 kbps
328 kbps

Android 4.1-4.3.1
44.1, 48 kHz**
53
229 kbps
229 kbps

Blackberry OS 10
48 kHz
53
Sans limites
328 kbps

* Le Bitpool ne fait que diminuer, mais n'augmente pas automatiquement, si les conditions de transfert s'améliorent. Pour restaurer Bitpool, vous devez arrêter la lecture, attendre quelques secondes et redémarrer l'audio.
** La valeur par défaut dépend des paramètres de pile spécifiés lors de la compilation du micrologiciel. Sous Android 8/8.1, la fréquence n'est que de 44.1 kHz ou 48 kHz, selon les paramètres définis lors de la compilation, dans les autres versions, 44.1 kHz et 48 kHz sont pris en charge simultanément.
*** La valeur Bitpool peut être augmentée dans le programme Bluetooth Explorer.

aptX et aptX HD

aptX est un codec simple et rapide en termes de calcul, sans psychoacoustique, utilisant une modulation adaptative de code d'impulsion différentielle (ADPCM). Paru vers 1988 (date de dépôt brevet daté de février 1988), avant Bluetooth, il était principalement utilisé dans les équipements audio sans fil professionnels. Actuellement détenu par Qualcomm, nécessite une licence et des redevances. À partir de 2014 : 6000 1 $ une fois et ≈10000 $ par appareil, pour des lots allant jusqu'à XNUMX XNUMX appareils (source, p. 16).
aptX et aptX HD sont le même codec, avec des profils d'encodage différents.

Le codec n'a qu'un seul paramètre : sélectionner la fréquence d'échantillonnage. Il existe cependant un choix quant au nombre/mode de canaux, mais dans tous les appareils que je connais (plus de 70 pièces), seule la stéréo est prise en charge.

codec
Taux d'échantillonnage
Capacité
Débit
Prise en charge de l'encodage
Prise en charge du décodage

aptX
16, 32, 44.1, 48 kHz
Bit 16
128/256/352/384 kbps (selon le taux d'échantillonnage)
Windows 10 (ordinateur de bureau et mobile), macOS, Android 4.4+/7*, Blackberry OS 10
Large gamme d'appareils audio (matériel)

* Les versions jusqu'à 7 nécessitent une modification de la pile Bluetooth. Le codec n'est pris en charge que si le fabricant de l'appareil Android a obtenu une licence pour le codec auprès de Qualcomm (si le système d'exploitation dispose de bibliothèques de codage).

aptX divise l'audio en 4 bandes de fréquences et les quantifie constamment avec le même nombre de bits : 8 bits pour 0-5.5 kHz, 4 bits pour 5.5-11 kHz, 2 bits pour 11-16.5 kHz, 2 bits pour 16.5-22 kHz ( chiffres pour la fréquence d'échantillonnage 44.1 kHz).

Exemple d'audio aptX (en haut - le signal original, en bas - aptX, spectrogrammes des seuls canaux de gauche, son en FLAC) :

Les aigus sont devenus un peu plus rouges, mais on n'entendait pas la différence.

En raison de la distribution fixe des bits de quantification, le codec ne peut pas « déplacer les bits » vers les fréquences qui en ont le plus besoin. Contrairement à SBC, aptX ne « coupera » pas les fréquences, mais y ajoutera du bruit de quantification, réduisant ainsi la plage dynamique de l'audio.

Il ne faut pas supposer que l'utilisation, par exemple, de 2 bits par bande réduit la plage dynamique à 12 dB : l'ADPCM autorise jusqu'à 96 dB de plage dynamique même en utilisant 2 bits de quantification, mais uniquement pour un certain signal.
ADPCM stocke la différence numérique entre l'échantillon actuel et l'échantillon suivant, au lieu de stocker la valeur absolue comme en PCM. Cela vous permet de réduire les exigences relatives au nombre de bits nécessaires pour stocker les mêmes informations (sans perte) ou presque (avec une erreur d'arrondi relativement faible). Pour réduire les erreurs d'arrondi, des tableaux de coefficients sont utilisés.
Lors de la création du codec, les auteurs ont calculé les coefficients ADPCM sur un ensemble de fichiers audio musicaux. Plus le signal audio est proche de l'ensemble de musique sur lequel les tables ont été construites, moins aptX crée d'erreurs de quantification (bruit).

Pour cette raison, les tests synthétiques produiront toujours des résultats pires que ceux de la musique. J'ai fait un exemple synthétique spécial dans lequel aptX montre de mauvais résultats - une onde sinusoïdale avec une fréquence de 12.4 kHz (en haut - le signal d'origine, en bas - aptX. Audio en FLAC. Baissez le volume !) :

Graphique du spectre :
Audio via Bluetooth : autant de détails que possible sur les profils, les codecs et les appareils

Les bruits sont clairement audibles.

Cependant, si vous générez une onde sinusoïdale avec une amplitude plus petite afin qu'elle soit plus silencieuse, le bruit deviendra également plus silencieux, indiquant une large plage dynamique :

Audio via Bluetooth : autant de détails que possible sur les profils, les codecs et les appareils

Pour entendre la différence entre la piste musicale originale et la piste compressée, vous pouvez inverser l'un des signaux et ajouter les pistes canal par canal. Cette approche est, en général, incorrecte et ne donnerait pas de résultats raisonnables avec des codecs plus complexes, mais spécifiquement pour ADPCM, elle est tout à fait appropriée.
Différence entre l'original et aptX
La différence quadratique moyenne des signaux est de -37.4 dB, ce qui n'est pas grand-chose pour une musique aussi compressée.

aptX HD

aptX HD n'est pas un codec autonome - c'est un profil d'encodage amélioré du codec aptX. Les changements ont affecté le nombre de bits alloués pour les plages de fréquences de codage : 10 bits pour 0-5.5 kHz, 6 bits pour 5.5-11 kHz, 4 bits pour 11-16.5 kHz, 4 bits pour 16.5-22 kHz (chiffres pour 44.1 kHz) .

codec
Taux d'échantillonnage
Capacité
Débit
Prise en charge de l'encodage
Prise en charge du décodage

aptX HD
16, 32, 44.1, 48 kHz
24 bits
192/384/529/576 kbps (selon le taux d'échantillonnage)
Android 8+*
Certains appareils audio (matériel)

* Les versions jusqu'à 7 nécessitent une modification de la pile Bluetooth. Le codec n'est pris en charge que si le fabricant de l'appareil Android a obtenu une licence pour le codec auprès de Qualcomm (si le système d'exploitation dispose de bibliothèques de codage).

Moins courant qu'aptX : nécessite apparemment une licence distincte de Qualcomm et des frais de licence distincts.

Reprenons l'exemple avec une onde sinusoïdale à 12.4 kHz :
Audio via Bluetooth : autant de détails que possible sur les profils, les codecs et les appareils

Bien meilleur qu'aptX, mais quand même un peu bruyant.

aptX faible latence

Un codec de Qualcomm qui n'a rien de commun avec les standards aptX et aptX HD, à en juger par les informations limitées des personnes impliquées dans son développement. Conçu pour la transmission audio interactive à faible latence (films, jeux), où le délai audio ne peut pas être ajusté par logiciel. Il n'existe aucune implémentation logicielle connue d'encodeurs et de décodeurs ; ils sont pris en charge exclusivement par les émetteurs, les récepteurs, les écouteurs et les haut-parleurs, mais pas par les smartphones et les ordinateurs.

Taux d'échantillonnage
Débit
Prise en charge de l'encodage
Prise en charge du décodage

44.1 kHz
276/420 kbit/s
Certains émetteurs (matériel)
Certains appareils audio (matériel)

AAC

AAC, ou Advanced Audio Coding, est un codec informatiquement complexe avec un modèle psychoacoustique sérieux. Largement utilisé pour l'audio sur Internet, deuxième en popularité après le MP3. Nécessite une licence et des redevances : 15000 1000 $ une fois (ou 15 0.98 $ pour les entreprises de moins de 500000 employés) + XNUMX $ pour les XNUMX XNUMX premiers appareils (source).
Le codec est normalisé au sein des spécifications MPEG-2 et MPEG-4 et, contrairement à une idée fausse répandue, il n'appartient pas à Apple.

Taux d'échantillonnage
Débit
Prise en charge de l'encodage
Prise en charge du décodage

8 - 96 kHz
8 - 576 kbps (pour stéréo), 256 - 320 kbps (typique pour Bluetooth)
macOS, Android 7+*, iOS
Large gamme d'appareils audio (matériel)

* uniquement sur les appareils dont les fabricants ont payé des frais de licence

iOS et macOS utilisent le meilleur encodeur AAC actuel d'Apple pour offrir la meilleure qualité audio possible. Android utilise le deuxième encodeur Fraunhofer FDK AAC de la plus haute qualité, mais peut utiliser divers matériels intégrés à la plate-forme (SoC) avec une qualité d'encodage inconnue. D'après des tests récents sur le site SoundGuys, la qualité d'encodage AAC des différents téléphones Android varie considérablement :
Audio via Bluetooth : autant de détails que possible sur les profils, les codecs et les appareils

La plupart des appareils audio sans fil ont un débit binaire maximum de 320 kbps pour l'AAC, certains ne prennent en charge que 256 kbps. Les autres débits sont extrêmement rares.
AAC offre une excellente qualité à des débits de 320 et 256 kbps, mais est soumis à perte d'encodage séquentiel d'un contenu déjà compressé, cependant, il est difficile d'entendre des différences avec l'original sur iOS à un débit de 256 kbps même avec plusieurs encodages séquentiels ; avec un seul encodage, par exemple MP3 320 kbps en AAC 256 kbps, les pertes peuvent être négligées.
Comme avec les autres codecs Bluetooth, toute musique est d'abord décodée puis codée par le codec. Lorsque vous écoutez de la musique au format AAC, elle est d'abord décodée par le système d'exploitation, puis à nouveau encodée en AAC pour être transmise via Bluetooth. Ceci est nécessaire pour mélanger plusieurs flux audio, tels que la musique et les notifications de nouveaux messages. iOS ne fait pas exception. Sur Internet, vous pouvez trouver de nombreuses affirmations selon lesquelles sur iOS, la musique au format AAC n'est pas transcodée lorsqu'elle est transmise via Bluetooth, ce qui est faux.

MP1/2/3

Les codecs de la famille MPEG-1/2 Part 3 comprennent le MP3 bien connu et largement utilisé, le MP2, moins courant (utilisé principalement dans la télévision et la radio numériques), et le MP1, totalement inconnu.

Les anciens codecs MP1 et MP2 ne sont pas du tout supportés : je n'ai trouvé aucun casque ni pile Bluetooth permettant de les encoder ou de les décoder.
Le décodage MP3 est pris en charge par certains écouteurs, mais l'encodage n'est pris en charge sur aucune pile de système d'exploitation moderne. Il semble que la pile tierce BlueSoleil pour Windows puisse encoder en MP3 si vous modifiez manuellement le fichier de configuration, mais pour moi, son installation conduit à BSoD sur Windows 10. Conclusion - le codec ne peut en fait pas être utilisé pour l'audio Bluetooth.
Auparavant, en 2006-2008, avant la diffusion de la norme A2DP dans les appareils, les gens écoutaient de la musique MP3 sur le casque Nokia BH-501 via le programme MSI BluePlayer, disponible sur Symbian et Windows Mobile. À cette époque, l'architecture du système d'exploitation des smartphones permettait d'accéder à de nombreuses fonctions de bas niveau, et sur Windows Mobile, il était même possible d'installer des piles Bluetooth tierces.

Le dernier brevet du codec MP3 a expiré, l'utilisation du codec ne nécessite pas de frais de licence depuis le 23 avril 2017.

Si l'on prend comme mesure le brevet le plus ancien mentionné dans les références susmentionnées, la technologie MP3 est devenue exempte de brevet aux États-Unis le 16 avril 2017, lorsque le brevet américain 6,009,399 XNUMX XNUMX, détenu et administré par Technicolor, a expiré.

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

Taux d'échantillonnage
Débit
Prise en charge de l'encodage
Prise en charge du décodage

16 - 48 kHz
8 - 320 kbit/s
Non pris en charge nulle part
Certains appareils audio (matériel)

TAAC

Un nouveau codec « Hi-Res » activement promu par Sony, prenant en charge des taux d'échantillonnage jusqu'à 96 kHz et un débit binaire de 24 bits, avec des débits binaires allant jusqu'à 990 kbps. Il est présenté comme un codec audiophile, en remplacement des codecs Bluetooth existants. Il a la fonction d'ajustement adaptatif du débit binaire, en fonction des conditions de diffusion radio.

Encodeur LDAC (libldac) est inclus dans le package Android standard, le codage est donc pris en charge sur tout smartphone Android à partir de la version 8 du système d'exploitation. Il n'existe pas de décodeurs logiciels disponibles gratuitement, la spécification du codec n'est pas accessible au grand public, cependant, à première vue sur l'encodeur, la structure interne du codec est similaire à ATRAC9 - Le codec de Sony utilisé dans la PlayStation 4 et Vita : tous deux fonctionnent dans le domaine fréquentiel, utilisent une transformée en cosinus discrète modifiée (MDCT) et une compression utilisant l'algorithme de Huffman.

La prise en charge LDAC est fournie presque exclusivement par les écouteurs de Sony. La possibilité de décoder le LDAC se retrouve parfois sur les casques et DAC d’autres fabricants, mais très rarement.

Taux d'échantillonnage
Débit
Prise en charge de l'encodage
Prise en charge du décodage

44.1 - 96 kHz
303/606/909 kbit/s (pour 44.1 et 88.2 kHz), 330/660/990 kbit/s (pour 48 et 96 kHz)
Android 8 +
Certains écouteurs Sony et certains appareils d'autres fabricants (matériel)

Commercialiser LDAC comme codec Hi-Res nuit à sa composante technique : il est stupide de dépenser du débit pour transmettre des fréquences inaudibles à l'oreille humaine et augmenter la profondeur de bits, alors que cela ne suffit pas pour transmettre une qualité CD (44.1/16) sans perte. . Heureusement, le codec dispose de deux modes de fonctionnement : la transmission audio CD et la transmission audio Hi-Res. Dans le premier cas, seules 44.1 kHz/16 bits sont transmises par voie hertzienne.

Étant donné qu'un décodeur logiciel LDAC n'est pas disponible gratuitement, il est impossible de tester le codec sans appareils supplémentaires décodant LDAC. Selon les résultats du test LDAC sur un DAC avec son support, que les ingénieurs de SoundGuys.com ont connecté via une sortie numérique et ont enregistré le son de sortie sur des signaux de test, LDAC 660 et 990 kbps en mode qualité CD fournissent un signal vers rapport de bruit légèrement meilleur que celui d'aptX HD.

Audio via Bluetooth : autant de détails que possible sur les profils, les codecs et les appareils
Source: www.soundguys.com/ldac-ultimate-bluetooth-guide-20026

LDAC prend également en charge les débits dynamiques en dehors des profils établis - de 138 kbps à 990 kbps, mais pour autant que je sache, Android n'utilise que les profils standardisés 303/606/909 et 330/660/990 kbps.

Autres codecs

Les autres codecs A2DP ne sont pas largement utilisés. Leur support est soit quasiment absent, soit disponible uniquement sur certains modèles d'écouteurs et de smartphones.
Le codec ATRAC standardisé dans A2DP n'a jamais été utilisé comme codec Bluetooth, même par Sony lui-même, les codecs Samsung HD, Samsung Scalable et Samsung UHQ-BT ont une prise en charge très limitée des appareils de transmission et de réception, et HWA LHDC est trop récent et n'en prend en charge que trois. (?) dispositifs.

Prise en charge des codecs pour les appareils audio

Tous les fabricants ne publient pas d'informations précises sur les codecs pris en charge par certains écouteurs, haut-parleurs, récepteurs ou émetteurs sans fil. Parfois, il arrive que la prise en charge d'un certain codec concerne uniquement la transmission, mais pas la réception (pertinent pour les émetteurs-récepteurs combinés), bien que le fabricant déclare simplement « prise en charge », sans notes (je suppose qu'une licence distincte pour les encodeurs et décodeurs de certains les codecs sont à blâmer pour cela). Dans les appareils les moins chers, vous ne trouverez peut-être pas du tout le support aptX déclaré.

Malheureusement, les interfaces de la plupart des systèmes d'exploitation n'affichent nulle part le codec utilisé. Les informations à ce sujet ne sont disponibles que sous Android, à partir de la version 8, et macOS. Cependant, même dans ces systèmes d'exploitation, seuls les codecs pris en charge à la fois par le téléphone/ordinateur et les écouteurs seront affichés.

Comment savoir quels codecs votre appareil prend en charge ? Enregistrez et analysez le dump de trafic avec les paramètres de négociation A2DP !
Cela peut être fait sous Linux, macOS et Android. Sous Linux, vous pouvez utiliser Wireshark ou hcidump, sur macOS, vous pouvez utiliser Bluetooth Explorer et sur Android, vous pouvez utiliser la fonction standard de sauvegarde de vidage Bluetooth HCI, disponible dans les outils de développement. Vous recevrez un dump au format btsnoop, qui pourra être chargé dans l'analyseur Wireshark.
Noter: un dump correct ne peut être obtenu qu'en connectant votre téléphone/ordinateur à des écouteurs/haut-parleurs (aussi drôle que cela puisse paraître) ! Les écouteurs peuvent établir indépendamment une connexion avec le téléphone, auquel cas ils demanderont une liste de codecs au téléphone, et non l'inverse. Pour vous assurer que le dump correct est enregistré, dissociez d'abord l'appareil, puis associez le téléphone aux écouteurs pendant l'enregistrement du dump.

Utilisez le filtre d'affichage suivant pour filtrer le trafic non pertinent :

btavdtp.signal_id

En conséquence, vous devriez voir quelque chose de similaire à ceci :
Audio via Bluetooth : autant de détails que possible sur les profils, les codecs et les appareils

Vous pouvez cliquer sur chaque élément de la commande GetCapabilities pour afficher les caractéristiques détaillées du codec.
Audio via Bluetooth : autant de détails que possible sur les profils, les codecs et les appareils

Wireshark ne connaît pas tous les identifiants des codecs, certains codecs devront donc être déchiffrés manuellement, en consultant le tableau des identifiants ci-dessous :

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

Afin de ne pas analyser les dumps manuellement, j'ai réalisé un service qui va tout analyser automatiquement : btcodecs.valdikss.org.ru

Comparaison des codecs. Quel codec est le meilleur ?

Chaque codec a ses propres avantages et inconvénients.
aptX et aptX HD utilisent des profils codés en dur qui ne peuvent pas être modifiés sans modifier l'encodeur et le décodeur. Ni le fabricant du téléphone ni celui des écouteurs ne peuvent modifier le débit binaire ou les facteurs de codage aptX. Le propriétaire du codec, Qualcomm, fournit un encodeur de référence sous la forme d'une bibliothèque. Ces faits font la force d'aptX : vous savez à l'avance quelle qualité de son vous obtiendrez, sans aucun « mais ».

SBC, en revanche, possède de nombreux paramètres configurables, un débit dynamique (l'encodeur peut réduire le paramètre de pool de bits si la radio est occupée) et n'a pas de profils codés en dur, seulement la « qualité moyenne » et la « haute qualité » recommandées. ajouté à la spécification A2DP en 2003. La « haute qualité » n'est plus si élevée par rapport aux normes modernes, et la plupart des piles Bluetooth ne vous permettent pas d'utiliser les paramètres mieux que dans le profil « haute qualité », bien qu'il n'y ait aucune restriction technique à ce sujet.
Bluetooth SIG ne dispose pas d'encodeur SBC de référence comme bibliothèque, et les fabricants l'implémentent eux-mêmes.
Ce sont les faiblesses du SBC - on ne sait jamais à l'avance quelle qualité sonore attendre d'un appareil particulier. SBC peut produire un son de faible et de très haute qualité, mais cette dernière est inaccessible sans désactiver ou contourner les limitations artificielles des piles Bluetooth.

La situation avec AAC est ambiguë : d'une part, théoriquement le codec devrait produire une qualité indiscernable de l'original, mais en pratique, à en juger par les tests du laboratoire SoundGuys sur différents appareils Android, cela n'est pas confirmé. Très probablement, la faute réside dans les encodeurs audio matériels de mauvaise qualité intégrés dans divers chipsets de téléphone. Il est logique d'utiliser AAC uniquement sur les appareils Apple et sur Android de le limiter à aptX et LDAC.

Le matériel prenant en charge des codecs alternatifs a tendance à être de meilleure qualité, simplement parce que pour des appareils très bon marché et de mauvaise qualité, cela n'a pas de sens de payer des frais de licence pour utiliser ces codecs. Lors de mes tests, le SBC sonne très bien sur du matériel de qualité.

J'ai créé un service Web qui encode l'audio en SBC, aptX et aptX HD en temps réel, directement dans le navigateur. Avec lui, vous pouvez tester ces codecs audio sans réellement transmettre l'audio via Bluetooth, sur n'importe quel casque filaire, haut-parleurs et votre musique préférée, et également modifier les paramètres d'encodage directement pendant la lecture audio :
btcodecs.valdikss.org.ru/sbc-encoder
Le service utilise les bibliothèques de codage SBC du projet BlueZ et libopenaptx de ffmpeg, qui sont compilées en WebAssembly et JavaScript à partir de C, via emscripten, pour s'exécuter dans le navigateur. Qui pourrait rêver d’un tel avenir !

Voici à quoi il ressemble:

Remarquez comment le niveau de bruit change après 20 kHz pour différents codecs. Le fichier MP3 original ne contient pas de fréquences supérieures à 20 kHz.

Essayez de changer de codec et voyez si vous entendez la différence entre l'original, SBC 53 Joint Stereo (le profil standard et le plus courant) et aptX/aptX HD.

J'entends la différence entre les codecs dans les écouteurs!

Les personnes qui n'entendent pas la différence entre les codecs lors des tests via un service Web affirment l'entendre lorsqu'elles écoutent de la musique avec des écouteurs sans fil. Hélas, ce n’est ni une blague ni un effet placebo : la différence est bien audible, mais elle n’est pas causée par des différences codecs.

La grande majorité des chipsets audio Bluetooth utilisés dans les appareils de réception sans fil sont équipés d'un processeur de signal numérique (DSP), qui implémente un égaliseur, un compandeur, un expanseur stéréo et d'autres éléments conçus pour améliorer (ou modifier) ​​le son. Les fabricants d'équipements Bluetooth peuvent configurer le DSP pour chaque codec séparément, et lors du passage d'un codec à l'autre, l'auditeur pensera qu'il entend une différence dans le fonctionnement des codecs, alors qu'en réalité il écoute des paramètres DSP différents.

Audio via Bluetooth : autant de détails que possible sur les profils, les codecs et les appareils
Pipeline de traitement audio DSP Kalimba dans des puces fabriquées par CSR/Qualcomm

Audio via Bluetooth : autant de détails que possible sur les profils, les codecs et les appareils
Activez différentes fonctions DSP pour chaque codec et sortie séparément

Certains appareils haut de gamme sont livrés avec un logiciel qui vous permet de personnaliser les paramètres DSP, mais ce n'est pas le cas de la plupart des écouteurs moins chers et les utilisateurs ne peuvent pas désactiver manuellement le post-traitement audio.

Caractéristiques fonctionnelles des appareils

La version moderne de la norme A2DP a fonction « contrôle absolu du volume » — contrôle du volume de l'appareil à l'aide de commandes spéciales du protocole AVRCP, qui régule le gain de l'étage de sortie, au lieu de réduire par programme le volume du flux audio. Si lorsque vous modifiez le volume de vos écouteurs, le changement ne se synchronise pas avec le volume de votre téléphone, alors vos écouteurs ou votre téléphone ne prennent pas en charge cette fonctionnalité. Dans ce cas, il est logique de toujours écouter de la musique avec le volume maximum sur le téléphone, en ajustant le volume réel avec les boutons du casque - dans ce cas, le rapport signal/bruit sera meilleur et la qualité audio devrait être ci-dessus.
En réalité, il existe des situations tristes. Sur mon casque RealForce OverDrive D1 pour SBC, un compandeur puissant est activé et l'augmentation du volume entraîne une augmentation du niveau des sons faibles, tandis que le volume des sons forts ne change pas (le signal est compressé). Pour cette raison, vous devez régler le volume de l'ordinateur à environ la moitié, auquel cas il n'y a pratiquement aucun effet de compression.
D'après mes observations, tous les écouteurs dotés de codecs supplémentaires prennent en charge la fonction de contrôle du volume absolu, c'est apparemment l'une des exigences pour la certification des codecs.

Certains écouteurs prennent en charge connecter deux appareils en même temps. Cela vous permet par exemple d'écouter de la musique depuis votre ordinateur et de recevoir des appels depuis votre téléphone. Cependant, vous devez savoir que dans ce mode, les codecs alternatifs sont désactivés et que seul SBC est utilisé.

Fonction de rapport de retard AVDTP 1.3 permet aux écouteurs de communiquer le délai à l'appareil de transmission auquel le son est réellement joué. Cela permet d'ajuster la synchronisation de l'audio avec la vidéo lors de la visualisation des fichiers vidéo : s'il y a des problèmes de transmission radio, l'audio ne sera pas en retard par rapport à la vidéo, mais au contraire, la vidéo sera ralentie par le lecteur vidéo jusqu'à ce que le l'audio et la vidéo sont à nouveau synchronisés.
La fonction est prise en charge par de nombreux écouteurs, Android 9+ et Linux avec PulseAudio 12.0+. Je ne suis pas au courant de la prise en charge de cette fonctionnalité sur d'autres plates-formes.

Communication bidirectionnelle via Bluetooth. Transmission vocale.

Pour la transmission vocale en Bluetooth, on utilise la méthode Synchronous Connection Oriented (SCO) - transmission synchrone avec négociation préalable de la connexion. Le mode vous permet de transmettre le son et la voix strictement dans l'ordre, avec des vitesses d'envoi et de réception symétriques, sans attendre la confirmation de la transmission et le réenvoi des paquets. Cela réduit le retard global de la transmission audio sur le canal radio, mais impose de sérieuses restrictions sur la quantité de données transmises par unité de temps et affecte négativement la qualité.
Lorsque ce mode est utilisé, la voix et l'audio sont transmis avec la même qualité.
Malheureusement, en 2019, la qualité de la voix via Bluetooth est toujours médiocre et on ne sait pas pourquoi le Bluetooth SIG ne fait rien à ce sujet.

CVSD

Le codec vocal CVSD de base a été normalisé en 2002 et est pris en charge par tous les appareils de communication Bluetooth bidirectionnels. Il assure une transmission audio avec une fréquence d'échantillonnage de 8 kHz, ce qui correspond à la qualité de la téléphonie filaire classique.

Un exemple d'enregistrement dans ce codec.

MSBC

Le codec mSBC supplémentaire a été standardisé en 2009 et, en 2010, des puces l'utilisant pour la transmission vocale sont déjà apparues. mSBC est largement pris en charge par divers appareils.
Il ne s'agit pas d'un codec indépendant, mais d'un SBC classique du standard A2DP, avec un profil d'encodage fixe : 16 kHz, mono, bitpool 26.

Un exemple d'enregistrement dans ce codec.

Pas génial, mais bien meilleur que CVSD, mais c'est toujours ennuyeux à utiliser pour la communication en ligne, surtout lorsque vous utilisez des écouteurs pour communiquer dans le jeu - l'audio du jeu sera également transmis à une fréquence d'échantillonnage de 16 kHz.

La société FastStreamCSR a décidé de développer l'idée d'utiliser SBC. Pour contourner les limitations du protocole SCO et utiliser des débits binaires plus élevés, CSR a emprunté une voie différente : ils ont introduit la prise en charge de l'audio SBC bidirectionnel dans la norme de transmission audio unidirectionnelle A2DP, des profils d'encodage standardisés et l'ont appelé "FastStream".

FastStream transmet l'audio stéréo à 44.1 ou 48 kHz avec un débit binaire de 212 kbps vers les haut-parleurs, et le mono, 16 kHz, avec un débit binaire de 72 kbps est utilisé pour transmettre l'audio du microphone (légèrement meilleur que mSBC). De tels paramètres sont bien mieux adaptés à la communication dans les jeux en ligne - le son du jeu et des interlocuteurs sera de haute qualité.

Un exemple d'enregistrement dans ce codec (+ son du microphone, identique à mSBC).

La société a proposé une béquille intéressante, mais en raison du fait qu'elle contredit la norme A2DP, elle n'est prise en charge que par certains des émetteurs de la société (qui fonctionnent comme une carte audio USB et non comme un périphérique Bluetooth), mais ce n'est pas le cas. recevoir une prise en charge dans les piles Bluetooth, bien que le nombre d'écouteurs prenant en charge FastStream ne soit pas si petit.

Pour le moment, la prise en charge de FastStream dans le système d'exploitation est uniquement comme patch pour Linux PulseAudio du développeur Pali Rohár, qui n'est pas inclus dans la branche principale du programme.

aptX faible latence

À votre grande surprise, aptX Low Latency prend également en charge l'audio bidirectionnel, implémentant le même principe que FastStream.
Il n'est possible d'utiliser cette fonctionnalité du codec nulle part - il n'y a de prise en charge du décodage à faible latence dans aucun système d'exploitation ou dans aucune pile Bluetooth que je connais.

Bluetooth 5, classique et basse consommation

Il y a eu beaucoup de confusion autour des spécifications et des versions Bluetooth en raison de la présence de deux normes incompatibles sous la même marque, toutes deux largement utilisées à des fins différentes.

Il existe deux protocoles Bluetooth différents et incompatibles : Bluetooth Classic et Bluetooth Low Energy (LE, également connu sous le nom de Bluetooth Smart). Il existe également un troisième protocole, Bluetooth High Speed, mais il n'est pas répandu et n'est pas utilisé dans les appareils domestiques.

À partir de Bluetooth 4.0, les modifications apportées à la spécification concernaient principalement Bluetooth Low Energy, et la version Classic n'a reçu que des améliorations mineures.

Liste des changements entre Bluetooth 4.2 et Bluetooth 5 :

9 CHANGEMENTS DE LA V4.2 À LA 5.0

9.1 NOUVELLES FONCTIONNALITÉS

Plusieurs nouvelles fonctionnalités sont introduites dans la version Bluetooth Core Spécification 5.0. Les principaux axes d’amélioration sont :
• Masque de disponibilité des emplacements (SAM)
• 2 Msym/s PHY pour LE
•LE longue portée
• Publicité non connectable à cycle de service élevé
• Extensions publicitaires LE
• Algorithme de sélection de canal LE n° 2
9.1.1 Fonctionnalités ajoutées dans CSA5 - Intégrées dans la version 5.0
•Puissance de sortie plus élevée

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

Un seul changement a affecté la version Classic dans le cadre de la spécification Bluetooth 5 : ils ont ajouté la prise en charge de la technologie Slot Availability Mask (SAM), conçue pour améliorer la séparation des diffusions radio. Tous les autres changements affectent uniquement Bluetooth LE (et également la puissance de sortie plus élevée).

tous Les appareils audio utilisent uniquement Bluetooth Classic. Il est impossible de connecter des écouteurs et des enceintes via Bluetooth Low Energy : il n'existe pas de norme pour transmettre l'audio via LE. La norme A2DP, utilisée pour transmettre un son de haute qualité, fonctionne uniquement via Bluetooth Classic, et il n'y a pas d'analogue dans LE.

Conclusion : acheter des appareils audio avec Bluetooth 5 uniquement en raison de la nouvelle version du protocole est inutile. Bluetooth 4.0/4.1/4.2 dans le contexte de la transmission audio fonctionnera exactement de la même manière.
Si l’annonce de nouveaux écouteurs évoque une portée de fonctionnement doublée et une consommation électrique réduite grâce au Bluetooth 5, alors sachez qu’ils ne le comprennent pas eux-mêmes ou qu’ils vous induisent en erreur. Ce n'est pas étonnant, car même les fabricants de puces Bluetooth dans leurs annonces sont confus quant aux différences entre la nouvelle version de la norme, et certaines puces Bluetooth 5 prennent en charge la cinquième version uniquement pour LE et utilisent 4.2 pour Classic.

Délai de transmission audio

L'ampleur du retard (décalage) dans l'audio dépend de nombreux facteurs : la taille du tampon dans la pile audio, dans la pile Bluetooth et dans le périphérique de lecture sans fil lui-même, ainsi que le retard algorithmique du codec.

La latence des codecs simples comme SBC, aptX et aptX HD est très faible, 3 à 6 ms, ce qui peut être négligé, mais les codecs complexes comme AAC et LDAC peuvent provoquer un décalage notable. La latence algorithmique AAC pour 44.1 kHz est de 60 ms. LDAC - environ 30 ms (basé sur une analyse grossière du code source. Je peux me tromper, mais pas grand-chose.)

La latence qui en résulte dépend grandement du périphérique de lecture, de son chipset et de son tampon. Lors des tests, j'ai reçu un étalement de 150 à 250 ms sur différents appareils (avec le codec SBC). Si nous supposons que les appareils prenant en charge les codecs supplémentaires aptX, AAC et LDAC utilisent des composants de haute qualité et une petite taille de tampon, nous obtenons les latences typiques suivantes :

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

Permettez-moi de vous rappeler : aptX Low Latency n'est pas pris en charge dans les systèmes d'exploitation, c'est pourquoi une latence plus faible ne peut être obtenue qu'avec une combinaison émetteur+récepteur ou émetteur+casque/haut-parleur, et tous les appareils doivent prendre en charge ce codec.

Problèmes de périphérique Bluetooth, de certification et de logo

Comment distinguer un appareil audio de haute qualité d'un appareil bon marché ? En apparence avant tout !

Pour les écouteurs, haut-parleurs et récepteurs chinois bon marché :

  1. Le mot « Bluetooth » est absent sur la boîte et l'appareil, « Wireless » et « BT » sont le plus souvent utilisés
  2. Logo Bluetooth manquant Audio via Bluetooth : autant de détails que possible sur les profils, les codecs et les appareils sur la boîte ou l'appareil
  3. Pas de LED bleue clignotante

L’absence de ces éléments indique que l’appareil n’a pas été certifié, ce qui signifie qu’il est potentiellement de mauvaise qualité et problématique. Par exemple, les écouteurs Bluedio ne sont pas certifiés Bluetooth et ne sont pas entièrement conformes à la spécification A2DP. Ils n’auraient pas réussi la certification.

Considérons plusieurs appareils et boîtiers :
Audio via Bluetooth : autant de détails que possible sur les profils, les codecs et les appareils

Audio via Bluetooth : autant de détails que possible sur les profils, les codecs et les appareils

Audio via Bluetooth : autant de détails que possible sur les profils, les codecs et les appareils

Ce sont tous des appareils non certifiés. La notice peut contenir un logo et le nom de la technologie Bluetooth, mais le plus important est qu'ils se trouvent sur la boîte et/ou sur l'appareil lui-même.

Si vos écouteurs ou haut-parleurs indiquent « Ze Bluetooth Dewise est connecté avec succès », cela n'indique pas non plus leur qualité :

Conclusion

Le Bluetooth peut-il remplacer complètement les écouteurs et casques filaires ? Il est capable, mais au prix d'une mauvaise qualité d'appel, d'une latence audio accrue qui peut être gênante dans les jeux et d'une multitude de codecs propriétaires qui nécessitent des frais de licence et augmentent le coût final des smartphones et des écouteurs.

Le marketing des codecs alternatifs est très fort : aptX et LDAC sont présentés comme un remplacement très attendu du SBC « obsolète et mauvais », qui n'est pas aussi mauvais qu'on le pense.

Il s'est avéré que les limitations artificielles des piles Bluetooth sur le débit binaire du SBC peuvent être contournées, de sorte que le SBC ne sera pas inférieur à l'aptX HD. J'ai pris l'initiative en main et créé un patch pour le firmware LineageOS : Nous modifions la pile Bluetooth pour améliorer le son sur les écouteurs sans codecs AAC, aptX et LDAC

Plus d'informations peuvent être trouvées sur les sites Web Gars du son и Expert du son.

Bonus: Encodeur de référence SBC, informations sur le flux binaire A2DP et fichiers de test. Ce fichier était auparavant publié publiquement sur le site Web Bluetooth, mais n'est désormais disponible que pour les membres du Bluetooth SIG.

Source: habr.com

Ajouter un commentaire