Audio via Bluetooth : tout ce qu'il faut savoir sur les profils, codecs et appareils

Audio via Bluetooth : tout ce qu'il faut savoir sur les profils, codecs et appareils

Avec la sortie massive de smartphones sans prise audio de 3,5 mm, les écouteurs Bluetooth sans fil sont devenus pour beaucoup le moyen principal d'écouter de la musique et de communiquer en mode kit mains libres.
Les fabricants d'appareils sans fil ne fournissent pas toujours des spĂ©cifications dĂ©taillĂ©es des produits, et les articles sur l'audio Bluetooth sur Internet sont souvent contradictoires, parfois incorrects, ne couvrent pas toutes les caractĂ©ristiques, et se contentent souvent de copier la mĂȘme information erronĂ©e.
Essayons de comprendre le protocole, les capacités des piles Bluetooth des systÚmes d'exploitation, des écouteurs et des haut-parleurs, des codecs Bluetooth pour la musique et la parole, découvrons ce qui influence la qualité du son transmis et la latence, et apprenons à rassembler et décoder des informations sur les codecs supportés et d'autres fonctionnalités des appareils.

TL;DR:

  • SBC — un codec standard
  • Les Ă©couteurs ont leur propre Ă©galiseur et un post-traitement pour chaque codec sĂ©parĂ©ment
  • aptX n'est pas aussi bon que ce que les annonces publicitaires laissent entendre
  • LDAC — une pure invention marketing
  • La qualitĂ© sonore en mode conversation reste encore faible
  • Des encodeurs audio peuvent ĂȘtre intĂ©grĂ©s dans le navigateur en utilisant C, compilĂ©s en WebAssembly via emscripten, et ils ne ralentiront pas vraiment.

Musique via Bluetooth

L'aspect fonctionnel de Bluetooth est dĂ©terminĂ© par des profils — des spĂ©cifications pour des fonctions spĂ©cifiques. La transmission de musique en Bluetooth se fait Ă  l'aide du profil A2DP pour l'audio de haute qualitĂ© unidirectionnelle. La norme A2DP a Ă©tĂ© acceptĂ©e en 2003 et n'a pas beaucoup changĂ© depuis.
Dans le cadre du profil, un codec de faible complexitĂ© de calcul, SBC, est standardisĂ© et obligatoire, créé spĂ©cifiquement pour Bluetooth, ainsi que 3 codecs supplĂ©mentaires. L'utilisation de codecs non documentĂ©s Ă  mise en Ɠuvre propriĂ©taire est Ă©galement autorisĂ©e.

Au mois de juin 2019, nous trouvons dans la bande dessinée xkcd avec 14 codecs A2DP :

  • SBC ← standardisĂ© dans A2DP, pris en charge par tous les appareils
  • MPEG-1/2 Layer 1/2/3 ← standardisĂ©s dans A2DP : le bien connu MP3, utilisĂ© dans la tĂ©lĂ©vision numĂ©rique MP2, et inconnu MP1
  • MPEG-2/4 AAC ← standardisĂ© dans A2DP
  • ATRAC ← ancien codec de Sony, standardisĂ© dans A2DP
  • LDAC ← nouveau codec de Sony
  • aptX ← codec datant de 1988
  • aptX HD ← identique Ă  aptX, mais avec des paramĂštres d'encodage diffĂ©rents
  • aptX Low Latency ← codec complĂštement diffĂ©rent, sans mise en Ɠuvre logicielle
  • aptX Adaptive ← un autre codec de Qualcomm
  • FastStream ← pseudo-codec, modification bidirectionnelle de SBC
  • HWA LHDC ← nouveau codec de Huawei
  • Samsung HD ← supportĂ© par 2 appareils
  • Samsung Scalable ← supportĂ© par 2 appareils
  • Samsung UHQ-BT ← supportĂ© par 3 appareils

Vous vous demandez pourquoi les codecs sont nécessaires, alors qu'Bluetooth dispose de l'EDR, permettant de transmettre des données à des vitesses de 2 et 3 Mbit/s, alors qu'un PCM stéréo non compressé de 16 bits nécessite seulement 1,4 Mbit/s ?

Transmission de données via Bluetooth

Il existe deux types de transmission de données via Bluetooth : Asynchronous Connection Less (ACL) pour la transmission asynchrone sans connexion, et Synchronous Connection Oriented (SCO) pour la transmission synchrone avec négociation préalable de la connexion.
La transmission s'effectue selon un schĂ©ma de rĂ©partition du temps et de sĂ©lection de canal pour chaque paquet sĂ©parĂ©ment (Frequency-Hop/Time-Division-Duplex, FH/TDD), oĂč le temps est divisĂ© en intervalles de 625 microsecondes appelĂ©s slots. Un des appareils transmet dans les numĂ©ros de slots pairs, l’autre dans les numĂ©ros impairs. Le paquet transmis peut occuper 1, 3 ou 5 slots, en fonction de la taille des donnĂ©es et du type de transmission dĂ©fini, dans ce cas, la transmission par un appareil se fait dans les slots pairs et impairs jusqu'Ă  la fin de la transmission. Au total, jusqu'Ă  1600 paquets peuvent ĂȘtre Ă©mis et reçus par seconde, si chacun occupe 1 slot, et les deux appareils transmettent et reçoivent sans interruption.

2 et 3 Mbit/s pour l’EDR, que vous pouvez rencontrer dans les annonces et sur le site de Bluetooth, reprĂ©sentent la vitesse canal maximale de transmission de toutes les donnĂ©es cumulĂ©es (y compris les en-tĂȘtes techniques de tous les protocoles dans lesquels les donnĂ©es doivent ĂȘtre encapsulĂ©es), dans les deux directions simultanĂ©ment. La vitesse rĂ©elle de transmission des donnĂ©es variera fortement.

Pour la transmission de musique, une méthode asynchrone est utilisée, presque toujours avec des paquets de type 2-DH5 et 3-DH5, qui transportent le maximum de données en mode EDR à 2 Mbit/s et 3 Mbit/s respectivement, et occupent 5 slots de partage de temps.

Représentation schématique de la transmission utilisant 5 slots par un appareil et 1 slot par un autre (DH5/DH1) :
Audio via Bluetooth : tout ce qu'il faut savoir sur les profils, codecs et appareils

En raison du principe de séparation de fréquence par le temps, nous devons attendre un créneau de 625 microsecondes aprÚs la transmission d'un paquet, si le deuxiÚme appareil ne transmet rien ou envoie un petit paquet, et plus de temps si le deuxiÚme appareil transmet de gros paquets. Si plusieurs appareils sont connectés au téléphone (par exemple, des écouteurs, une montre et un bracelet de fitness), le temps de transmission est partagé entre tous.

La nécessité d'encapsuler l'audio dans des protocoles de transport spéciaux L2CAP et AVDTP prend 16 octets du maximum de la charge utile audio transmissible.

Type de paquet
Nombre de créneaux
Max. nombre d'octets par paquet
Max. nombre d'octets de charge utile A2DP
Max. débit binaire de charge utile A2DP

2-DH3
3
367
351
936 kbit/s

3-DH3
3
552
536
1429 kbit/s

2-DH5
5
679
663
1414 kbit/s

3-DH5
5
1021
1005
2143 kbit/s

1414 et 1429 kbit/s ne sont clairement pas suffisants pour transmettre un son non compressĂ© dans des conditions rĂ©elles, avec un spectre bruyant de 2,4 GHz et la nĂ©cessitĂ© de transmettre des donnĂ©es de contrĂŽle. EDR 3 Mbit/s est exigeant en termes de puissance d'Ă©mission et de bruit dans l'air, donc mĂȘme en mode 3-DH5, une transmission confortable de PCM n'est pas possible, il y aura constamment des interruptions de courte durĂ©e, et tout ne fonctionnera qu'Ă  une distance de 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 obligatoire pour tous les appareils prenant en charge la norme A2DP. Meilleur et pire codec Ă  la fois.

Fréquence d'échantillonnage
Largeur
Débit binaire
Prise en charge de l'encodage
Prise en charge du décodage

16, 32, 44.1, 48 kHz
16 bits
10-1500 kbit/s
Par tous les appareils
Par tous les appareils

SBC est un codec simple et rapide en calcul, avec un modĂšle psychoacoustique primitif (ne fait que masquer les sons faibles), utilisant une modulation par impulsion adaptative (APCM).
La spécification A2DP recommande d'utiliser deux profils : Qualité Moyenne et Haute Qualité.
Audio via Bluetooth : tout ce qu'il faut savoir sur les profils, codecs et appareils

Le codec a de nombreux rĂ©glages permettant de contrĂŽler la latence algorithmique, le nombre d'Ă©chantillons par bloc, l'algorithme de distribution des bits, mais presque partout, les mĂȘmes paramĂštres recommandĂ©s dans la spĂ©cification sont utilisĂ©s : StĂ©rĂ©o Joint, 8 bandes de frĂ©quences, 16 blocs dans une trame audio, mĂ©thode de distribution des bits Loudness.
SBC prend en charge le changement dynamique du paramÚtre Bitpool, qui influence directement le débit binaire. Si la diffusion radio est encombrée, les paquets sont perdus ou si les appareils sont éloignés, la source audio peut réduire le Bitpool jusqu'à ce que la connexion se normalise.

Les fabricants de la plupart des écouteurs fixent la valeur maximale du paramÚtre Bitpool à 53, ce qui limite le débit binaire à 328 kilobits par seconde lors de l'utilisation du profil recommandé.
MĂȘme si le fabricant des Ă©couteurs a fixĂ© la valeur maximale du Bitpool au-delĂ  de 53 (des modĂšles tels que : Beats SoloÂł, JBL Everest Elite 750NC, Apple AirPods, et aussi prĂ©sents sur certains rĂ©cepteurs et systĂšmes audio de voiture), la plupart des systĂšmes d'exploitation ne permettront pas l'utilisation de dĂ©bits binaires plus Ă©levĂ©s en raison d'une limitation interne des valeurs dans les piles Bluetooth.
De plus, certains fabricants définissent une valeur maximale basse du Bitpool pour certains dispositifs. Par exemple, elle est de 39 pour Bluedio T, de 37 pour Samsung Gear IconX, ce qui entraßne une mauvaise qualité sonore.

Les limitations artificielles imposĂ©es par les dĂ©veloppeurs de piles Bluetooth ont probablement surgi Ă  cause de l'incompatibilitĂ© de certains appareils avec de grandes valeurs de Bitpool ou des profils atypiques, mĂȘme s'ils ont signalĂ© leur prise en charge, ainsi que d'un nombre insuffisant de tests lors de la certification. Il Ă©tait plus simple pour les auteurs de piles Bluetooth de se limiter Ă  la conformitĂ© avec le profil recommandĂ© plutĂŽt que de crĂ©er des bases de donnĂ©es d'appareils dĂ©fectueux (bien que cela soit fait maintenant pour d'autres fonctions qui ne fonctionnent pas correctement).

SBC attribue dynamiquement des bits de quantification aux bandes de fréquences, en procédant des basses vers les hautes, avec des coefficients de pondération différents. Si tout le débit binaire est 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 kbit/s. En haut – l'original, en bas – SBC, il y a des commutations pĂ©riodiques entre les pistes. Pour l'audio dans le fichier vidĂ©o, un codec de compression sans perte FLAC est utilisĂ©. L'utilisation de FLAC dans un conteneur mp4 n'est pas officiellement normalisĂ©e, il n'est donc pas certain que votre navigateur le lise, mais cela devrait fonctionner dans les derniĂšres versions de Chrome et Firefox sur desktop. Si vous n'entendez pas de son, vous pouvez tĂ©lĂ©charger le fichier et l'ouvrir dans un lecteur vidĂ©o complet.
ZZ Top — Sharp Dressed Man

Le moment de changement est visible sur le spectrogramme : SBC coupe périodiquement les sons faibles au-dessus de 17,5 kHz et ne dédie pas du tout de bits pour la bande au-dessus de 20 kHz. Le spectrogramme complet est disponible en cliquant (1,7 Mo).
Audio via Bluetooth : tout ce qu'il faut savoir sur les profils, codecs et appareils

Je n'entends pas de différence entre l'original et SBC sur ce morceau.

Prenons quelque chose de plus rĂ©cent, et simulons l'audio qui rĂ©sulterait de l'utilisation des Ă©couteurs Samsung Gear IconX avec Bitpool 37 (en haut — signal d'origine, en bas — SBC 239 kbit/s, son en FLAC).
Mindless Self Indulgence — Witness

J'entends des grésillements, un effet stéréo réduit et un « claquement » désagréable des voix dans les hautes fréquences.

Bien que SBC soit un codec trĂšs flexible, il peut ĂȘtre configurĂ© pour de faibles latences, offrant une excellente qualitĂ© audio Ă  des dĂ©bits Ă©levĂ©s (452+ kbit/s) et tout Ă  fait acceptable pour la plupart des gens en qualitĂ© standard (328 kbit/s), parce que la norme A2DP ne dĂ©finit pas des profils fixes (mais donne seulement des recommandations), les dĂ©veloppeurs de stacks ont mis en place des limitations artificielles sur Bitpool, et les paramĂštres audio transmis ne s'affichent pas dans l'interface utilisateur, tandis que les fabricants d'Ă©couteurs sont libres de dĂ©finir leurs propres rĂ©glages et n'indiquent jamais la valeur de Bitpool dans les spĂ©cifications techniques du produit, le codec s'est fait connaĂźtre pour sa faible qualitĂ© sonore, bien que ce ne soit pas un problĂšme du codec en lui-mĂȘme.
Le paramĂštre Bitpool influence directement le bitrate seulement Ă  l'intĂ©rieur d'un mĂȘme profil. La mĂȘme valeur de Bitpool 53 peut donner soit un bitrate de 328 kbit/s avec le profil recommandĂ© High Quality, soit 1212 kbit/s avec Dual Channel et 4 bandes de frĂ©quences, ce qui fait que les auteurs d'OS, en plus des limitations sur Bitpool, imposent Ă©galement une limitation sur le bitrate. Il me semble que cette situation a surgi Ă  cause d'un dĂ©faut de la norme A2DP : il aurait fallu accorder le bitrate, et non pas Bitpool.

Tableau de compatibilité des fonctionnalités SBC dans différents OS :

OS
Fréquences d'échantillonnage prises en charge
Limitation max. Bitpool
Limitation max. Bitrate
Bitrate typique
Ajustement dynamique du Bitpool

Windows 10
44,1 kHz
53
512 kbit/s
328 kbit/s
✓*

Linux (BlueZ + PulseAudio)
16, 32, 44.1, 48 kHz
64 (pour la connexion entrante), 53 (pour la connexion sortante)
Pas de limitation
328 kbit/s
✓*

macOS High Sierra
44,1 kHz
64, par défaut 53***
Inconnu
328 kbit/s
✗

Android 4.4-9
44.1/48 kHz**
53
328 kbit/s
328 kbit/s
✗

Android 4.1-4.3.1
44.1, 48 kHz**
53
229 kbit/s
229 kbit/s
✗

Blackberry OS 10
48 kHz
53
Pas de limitation
328 kbit/s
✗

* Le Bitpool ne diminue que, mais ne s'augmente pas automatiquement en cas d'amĂ©lioration des conditions de transmission. Pour restaurer le Bitpool, il faut arrĂȘter la lecture, attendre quelques secondes et relancer l'audio.
** La valeur par défaut dépend des paramÚtres de la pile spécifiés lors de la compilation du firmware. Sur Android 8/8.1, la fréquence est soit de 44.1 kHz, soit de 48 kHz, en fonction des paramÚtres de compilation, tandis que sur les autres versions, 44.1 kHz et 48 kHz sont prises en charge simultanément.
*** La valeur du Bitpool peut ĂȘtre augmentĂ©e dans le programme Bluetooth Explorer.

aptX et aptX HD

aptX est un codec simple et computationnellement rapide, sans psycho-acoustique, utilisant la modulation par impulsion codée différentielle adaptative (ADPCM). Apparue vers 1988 (la date de dépÎt du brevet est datée de février 1988), il était principalement utilisé dans des équipements audio sans fil professionnels avant Bluetooth. Actuellement, il appartient à Qualcomm, nécessite une licence et des redevances de licence. En 2014, les frais étaient de 6000 $ en une fois et environ 1 $ pour chaque appareil, pour des lots allant jusqu'à 10 000 appareils (source, p. 16).
aptX et aptX HD sont le mĂȘme codec, avec diffĂ©rents profils de codage.

Le codec a seulement un seul paramÚtre : le choix de la fréquence d'échantillonnage. Il existe aussi un choix quant au nombre / mode de canaux, mais dans tous les dispositifs que je connais (plus de 70), seul le mode stéréo est pris en charge.

Codec
Fréquence d'échantillonnage
Largeur
Débit binaire
Prise en charge de l'encodage
Prise en charge du décodage

aptX
16, 32, 44.1, 48 kHz
16 bits
128 / 256 / 352 / 384 kbps (selon la fréquence d'échantillonnage)
Windows 10 (de bureau et mobile), macOS, Android 4.4+/7*, Blackberry OS 10
Un large éventail d'appareils audio (matériellement)

* Les versions antérieures à 7 nécessitent une modification de la pile Bluetooth. Le codec est pris en charge uniquement si le fabricant de l'appareil Android a licencié l'utilisation du codec auprÚs de Qualcomm (si des bibliothÚques de codage sont présentes dans le systÚme d'exploitation).

Le codec aptX divise l'audio en 4 bandes de frĂ©quences et les quantifie avec le mĂȘme nombre de bits de maniĂšre constante : 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 (les chiffres pour une frĂ©quence d'Ă©chantillonnage de 44.1 kHz).

Exemple audio aptX (en haut — signal d'origine, en bas — aptX, spectrogrammes des canaux gauche uniquement, son en FLAC) :

Les hautes fréquences sont devenues un peu plus rouges, mais la différence n'est pas perceptible.

En raison de la répartition 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 va pas « couper » les fréquences, mais ajoutera des bruits de quantification, réduisant la plage dynamique de l'audio.

Il ne faut pas considĂ©rer que l'utilisation de 2 bits pour la bande rĂ©duit la plage dynamique Ă  12 dB : l'ADPCM permet d'utiliser jusqu'Ă  96 dB de plage dynamique mĂȘme avec 2 bits de quantification, mais uniquement avec un certain signal.
L'ADPCM conserve la différence de représentation numérique entre l'échantillon actuel et le suivant, au lieu d'enregistrer la valeur absolute, comme dans PCM. Cela permet de réduire les exigences en matiÚre de bits nécessaires pour stocker une information similaire (sans perte) ou pratiquement similaire (avec une erreur d'arrondi relativement faible). Des tables de coefficients sont utilisées pour réduire les erreurs d'arrondi.
Lors de la création du codec, les auteurs ont calculé les coefficients de l'ADPCM sur un ensemble de fichiers audio musicaux. Plus le signal audio est proche de cet ensemble de musique sur lequel les tables sont basées, moins il y a d'erreurs de quantification (bruits) produites par aptX.

En raison de cela, les tests syntĂ©tiques donneront toujours des rĂ©sultats moins bons que la musique. J'ai créé un exemple synthĂ©tique particulier oĂč aptX montre de mauvais rĂ©sultats : une sinusoĂŻde Ă  12,4 kHz (en haut — le signal d'origine, en bas — aptX. Son en FLAC. RĂ©duisez le volume !):

Graphique du spectre :
Audio via Bluetooth : tout ce qu'il faut savoir sur les profils, codecs et appareils

Les bruits sont clairement audibles.

Cependant, si l'on génÚre une sinusoïde avec une amplitude plus faible pour la rendre plus silencieuse, les bruits deviendront également plus silencieux, ce qui indique une large plage dynamique :

Audio via Bluetooth : tout ce qu'il faut savoir sur les profils, codecs et appareils

Pour entendre la différence entre la piste musicale originale et la version compressée, on peut inverser l'un des signaux et additionner les pistes canal par canal. Cette approche, en rÚgle générale, est incorrecte et ne donnerait pas de résultats valables avec des codecs plus complexes, mais est parfaitement adaptée pour l'ADPCM.
Différence entre l'original et aptX
La moyenne quadratique de la différence des signaux est à -37,4 dB, ce qui n'est pas beaucoup pour une musique aussi compressée.

aptX HD

aptX HD n'est pas un codec autonome — c'est un profil de codage amĂ©liorĂ© du codec aptX. Les modifications concernent le nombre de bits allouĂ©s Ă  l'encodage des plages de frĂ©quence : 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
Fréquence d'échantillonnage
Largeur
Débit binaire
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 kbit/s (selon la fréquence d'échantillonnage)
Android 8+*
Certains appareils audio (matériellement)

* Les versions antérieures à 7 nécessitent une modification de la pile Bluetooth. Le codec est pris en charge uniquement si le fabricant de l'appareil Android a licencié l'utilisation du codec auprÚs de Qualcomm (si des bibliothÚques de codage sont présentes dans le systÚme d'exploitation).

Moins courant qu'aptX : il semble nécessiter une licence distincte de Qualcomm, et des redevances de licence séparées.

Reprenons l'exemple d'une sinusoĂŻde Ă  12.4 kHz :
Audio via Bluetooth : tout ce qu'il faut savoir sur les profils, codecs et appareils

Bien meilleur qu'avec aptX, mais reste bruyant.

aptX Low Latency

Codec de Qualcomm, ne partageant rien avec les standards aptX et aptX HD, selon les rares informations d'individus impliquĂ©s dans son dĂ©veloppement. Conçu pour la transmission audio interactive Ă  faible latence (films, jeux), oĂč la latence audio ne peut pas ĂȘtre ajustĂ©e par logiciel. Les implĂ©mentations logicielles d'encodeurs et de dĂ©codeurs connus sont absentes, il est pris en charge uniquement par des transmetteurs, rĂ©cepteurs, Ă©couteurs et enceintes, mais pas par des smartphones et des ordinateurs.

Fréquence d'échantillonnage
Débit binaire
Prise en charge de l'encodage
Prise en charge du décodage

44,1 kHz
276/420 kbit/s
Certains transmetteurs (matériellement)
Certains appareils audio (matériellement)

AAC

AAC, ou Advanced Audio Coding — un codec computationnellement complexe, avec un modĂšle psychoacoustique sĂ©rieux. Il a connu une large diffusion pour l'audio sur internet, devenant le deuxiĂšme codec le plus populaire aprĂšs MP3. NĂ©cessite une licence et des royalties : 15000 $ en une seule fois (ou 1000 $ pour les entreprises de moins de 15 employĂ©s) + 0.98 $ pour les 500000 premiers appareils (source).
Le codec est standardisé dans le cadre des spécifications MPEG-2 et MPEG-4, et contrairement à une idée reçue, ne appartient pas à Apple.

Fréquence d'échantillonnage
Débit binaire
Prise en charge de l'encodage
Prise en charge du décodage

8 — 96 kHz
8 — 576 kbit/s (pour le stĂ©rĂ©o), 256 — 320 kbit/s (typique pour Bluetooth)
macOS, Android 7+*, iOS
Un large éventail d'appareils audio (matériellement)

* uniquement sur les dispositifs dont les fabricants ont payé des redevances de licence

Dans iOS et macOS, le meilleur encodeur AAC d'Apple est utilisĂ©, offrant la meilleure qualitĂ© audio possible. Dans Android, le second encodeur en termes de qualitĂ©, le Fraunhofer FDK AAC, est utilisĂ©, mais divers encodeurs matĂ©riels intĂ©grĂ©s Ă  la plateforme (SoC) peuvent ĂȘtre utilisĂ©s sans garantie de qualitĂ© d'encodage. Selon des tests rĂ©cents sur le site SoundGuys, la qualitĂ© d'encodage AAC varie fortement entre diffĂ©rents tĂ©lĂ©phones Android :
Audio via Bluetooth : tout ce qu'il faut savoir sur les profils, codecs et appareils

La plupart des appareils audio sans fil pour AAC ont un dĂ©bit binaire maximal de 320 kbit/s, certains ne prenant en charge que 256 kbit/s. Les autres dĂ©bits binaires sont extrĂȘmement rares.
AAC offre une excellente qualitĂ© Ă  des dĂ©bits binaires de 320 et 256 kbit/s, mais il est sujet Ă  des pertes dues au codage successif d'un contenu dĂ©jĂ  compressĂ©., nĂ©anmoins, il est difficile de percevoir des diffĂ©rences avec l'original sur iOS Ă  un dĂ©bit de 256 kbit/s mĂȘme aprĂšs plusieurs codages successifs ; avec un codage unique, par exemple, MP3 320 kbit/s en AAC 256 kbit/s, les pertes peuvent ĂȘtre nĂ©gligĂ©es.
Comme pour d'autres codecs Bluetooth, toute musique est d'abord dĂ©codĂ©e, puis recodĂ©e par le codec. Lors de l'Ă©coute de musique au format AAC, elle est d'abord dĂ©codĂ©e par le systĂšme d'exploitation, puis recodĂ©e en AAC encore une fois, pour ĂȘtre transmise via Bluetooth. Cela est nĂ©cessaire pour mixer plusieurs flux audio, comme la musique et les notifications de nouveaux messages. iOS n'est pas une exception. On trouve de nombreuses affirmations sur Internet disant que la musique au format AAC n'est pas transcodĂ©e lors de la transmission via Bluetooth, ce qui est faux.

MP1/2/3

Les codecs de la famille MPEG-1/2 Partie 3 comprennent le fameux et largement utilisé MP3, le moins courant MP2 (principalement utilisé dans la télévision et la radio numériques) et le complÚtement inconnu MP1.

Les vieux codecs MP1 et MP2 ne sont absolument pas pris en charge : je n'ai trouvé aucun casque ni aucun stack Bluetooth qui les encode ou les décode.
Le dĂ©codage MP3 est pris en charge par certains casques, mais l'encodage n'est pris en charge par aucun stack des systĂšmes d'exploitation modernes. Il semble que le stack tiers BlueSoleil pour Windows puisse encoder en MP3 si le fichier de configuration est modifiĂ© manuellement, mais son installation entraĂźne un BSoD sur Windows 10. En conclusion, le codec ne peut en fait pas ĂȘtre utilisĂ© pour l'audio Bluetooth.
Autrefois, entre 2006 et 2008, avant la gĂ©nĂ©ralisation de la norme A2DP dans les dispositifs, les gens Ă©coutaient de la musique MP3 sur le casque Nokia BH-501 via le logiciel MSI BluePlayer, qui Ă©tait disponible sur Symbian et Windows Mobile. À l'Ă©poque, l'architecture des systĂšmes 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 stacks Bluetooth tiers.

Le dernier brevet du codec MP3 a expiré, l'utilisation du codec n'exige plus de redevances depuis le 23 avril 2017.

Si le brevet le plus ancien mentionnĂ© dans les rĂ©fĂ©rences ci-dessus est pris comme mesure, alors la technologie MP3 est devenue libre de droits aux États-Unis le 16 avril 2017 lorsque le brevet amĂ©ricain 6,009,399, dĂ©tenu et administrĂ© par Technicolor, a expirĂ©.

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

Fréquence d'échantillonnage
Débit binaire
Prise en charge de l'encodage
Prise en charge du décodage

16 — 48 kHz
8 — 320 kbit/s
Nulle part soutenu
Certains appareils audio (matériellement)

LDAC

Nouveau codec « Hi-Res » de Sony, promu activement, qui prend en charge des fréquences d'échantillonnage allant jusqu'à 96 kHz et une profondeur de 24 bits, avec un débit allant jusqu'à 990 kbit/s. Il est commercialisé comme codec audiophile, comme alternative aux codecs Bluetooth existants. Il dispose d'une fonction d'ajustement adaptatif du débit binaire, en fonction des conditions de la transmission radio.

Encodeur LDAC (libldac) est inclus dans la version standard d'Android, donc l'encodage est supportĂ© sur n'importe quel smartphone Android Ă  partir de la version 8 de l'OS. Les dĂ©codeurs logiciels ne sont pas disponibles dans le domaine public, la spĂ©cification du codec n'est pas accessible au grand public, mais Ă  premiĂšre vue de l'encodeur, la conception interne du codec ressemble Ă  ATRAC9 — le codec de Sony utilisĂ© dans la PlayStation 4 et Vita : les deux fonctionnent dans la gamme de frĂ©quences, utilisent la transformation en cosinus discrĂšte modifiĂ©e (MDCT) et une compression utilisant l'algorithme de Huffman.

Le support de LDAC est presque uniquement représenté par les écouteurs de Sony. La possibilité de décoder LDAC se rencontre parfois sur des écouteurs et des DAC d'autres fabricants, mais trÚs rarement.

Fréquence d'échantillonnage
Débit binaire
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+
Par certains écouteurs Sony et quelques dispositifs d'autres fabricants (matériel)

Le marketing de LDAC en tant que codec Hi-Res nuit à sa composante technique : il est insensé de gaspiller le débit binaire pour transmettre des fréquences non audibles à l'oreille humaine et une profondeur accrue, alors qu'il n'est pas suffisant pour transmettre une qualité CD (44.1/16) sans perte. Heureusement, le codec a deux modes de fonctionnement : transmission audio CD et transmission audio Hi-Res. Dans le premier cas, seule une fréquence de 44.1 kHz/16 bits est transmise sans fil.

Étant donnĂ© qu'il n'y a pas de dĂ©codeur LDAC disponible dans le domaine public, il est impossible de tester le codec sans des dispositifs supplĂ©mentaires dĂ©codant LDAC. Selon les rĂ©sultats des tests de LDAC sur un DAC prenant en charge LDAC, auquel les ingĂ©nieurs du site SoundGuys.com se sont connectĂ©s via une sortie numĂ©rique et ont enregistrĂ© le son produit sur des signaux de test, LDAC Ă  660 et 990 kbit/s en mode qualitĂ© CD offre un rapport signal/bruit lĂ©gĂšrement meilleur que celui d'aptX HD.

Audio via Bluetooth : tout ce qu'il faut savoir sur les profils, codecs et appareils
Source : www.soundguys.com/ldac-ultimate-bluetooth-guide-20026

LDAC prend Ă©galement en charge un dĂ©bit binaire dynamique en dehors des profils dĂ©finis — de 138 kbit/s Ă  990 kbit/s, mais, Ă  ma connaissance, seuls les profils standardisĂ©s 303/606/909 et 330/660/990 kbit/s sont utilisĂ©s sur Android.

Autres codecs

D'autres codecs A2DP n'ont pas été largement adoptés. Leur prise en charge est soit pratiquement absente, soit limitée à certains modÚles de casques et de smartphones.
Le codec ATRAC standardisĂ© dans A2DP n'a jamais Ă©tĂ© utilisĂ© comme codec Bluetooth mĂȘme par Sony, les codecs Samsung HD, Samsung Scalable et Samsung UHQ-BT ont un support trĂšs limitĂ© de la part des appareils Ă©metteurs et rĂ©cepteurs, et HWA LHDC est trop nouveau, n'Ă©tant pris en charge que par trois(?) appareils.

Prise en charge des codecs par les appareils audio

Tous les fabricants ne publient pas d'informations prĂ©cises sur les codecs pris en charge par certains casques, haut-parleurs, rĂ©cepteurs ou Ă©metteurs sans fil. Il arrive que la prise en charge d'un codec donnĂ© soit uniquement disponible pour l'Ă©mission, mais pas pour la rĂ©ception (ce qui est pertinent pour les Ă©metteurs-rĂ©cepteurs combinĂ©s), bien que le fabricant se contente d'indiquer simplement 'prise en charge', sans remarques (je suppose que cela est dĂ» Ă  la sĂ©paration des licences des encodeurs et dĂ©codeurs de certains codecs). Dans les appareils les moins chers, il se peut mĂȘme que la prise en charge de l'aptX annoncĂ©e ne soit pas trouvĂ©e.

Malheureusement, les interfaces de la plupart des systĂšmes d'exploitation ne montrent nulle part le codec utilisĂ©. Cette information n'est disponible que sur Android, Ă  partir de la version 8, et macOS. Toutefois, mĂȘme dans ces systĂšmes d'exploitation, seuls les codecs pris en charge Ă  la fois par le tĂ©lĂ©phone/ordinateur et par les Ă©couteurs seront affichĂ©s.

Comment savoir quels codecs un appareil prend en charge ? Enregistrer et analyser le trafic A2DP !
Cela peut ĂȘtre fait sur Linux, macOS et Android. Sur Linux, vous pouvez utiliser Wireshark ou hcidump, sur macOS — Bluetooth Explorer, et sur Android — la fonction intĂ©grĂ©e de sauvegarde du dump HCI Bluetooth, qui est disponible dans les outils de dĂ©veloppement. Vous obtiendrez un dump au format btsnoop, qui peut ĂȘtre tĂ©lĂ©chargĂ© dans l'analyseur Wireshark.
Veuillez noter: un dump correct ne peut ĂȘtre obtenu qu'en se connectant avec un tĂ©lĂ©phone / ordinateur Ă  des Ă©couteurs / enceintes (aussi curieux que cela puisse paraĂźtre) ! Les Ă©couteurs peuvent Ă©tablir une connexion avec le tĂ©lĂ©phone de leur propre chef, et dans ce cas, ils demanderont la liste des codecs au tĂ©lĂ©phone, et non l'inverse. Pour garantir un dump correct, dĂ©connectez d'abord l'appareil, puis pendant l'enregistrement du dump, appairez le tĂ©lĂ©phone avec les Ă©couteurs.

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

btavdtp.signal_id

En conséquence, vous devriez voir quelque chose de semblable :
Audio via Bluetooth : tout ce qu'il faut savoir sur les profils, codecs et appareils

Vous pouvez cliquer sur chaque point de la commande GetCapabilities et consulter les caractéristiques détaillées du codec.
Audio via Bluetooth : tout ce qu'il faut savoir sur les profils, codecs et appareils

Wireshark ne connaĂźt pas tous les identifiants de codecs, donc certains codecs devront ĂȘtre dĂ©chiffrĂ©s manuellement en consultant le tableau des identifiants ci-dessous :

Obligatoire :
0x00 - SBC

Optionnel :
0x01 - MPEG-1,2 (alias MP3)
0x02 - MPEG-2,4 (alias AAC)
0x04 - ATRAC

Spécifique au fournisseur :
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 - L'identifiant de codec CSR True Wireless Stereo v3 pour AAC
0xFF 0x000A 0x0105 - L'identifiant de codec CSR True Wireless Stereo v3 pour MP3
0xFF 0x000A 0x0106 - L'identifiant de codec CSR True Wireless Stereo v3 pour aptX

Pour ne pas analyser les dumps manuellement, j'ai créé un service qui analysera tout automatiquement : btcodecs.valdikss.org.ru

Comparaison des codecs. Quel codec est le meilleur ?

Chaque codec a ses avantages et ses inconvénients.
aptX et aptX HD utilisent des profils rigides qui ne peuvent pas ĂȘtre modifiĂ©s sans modifier l'encodeur et le dĂ©codeur. Ni le fabricant du tĂ©lĂ©phone, ni le fabricant des Ă©couteurs ne peuvent modifier le dĂ©bit binaire ou les coefficients de codage aptX. Le dĂ©tenteur du codec, Qualcomm, fournit un encodeur de rĂ©fĂ©rence sous forme de bibliothĂšque. Ces faits — point fort de l'aptX — vous savez Ă  l'avance quelle qualitĂ© sonore vous obtiendrez, sans aucun « mais ».

SBC, en revanche, possÚde de nombreux paramÚtres configurables, un bitrate dynamique (le codec peut réduire le paramÚtre bitpool si la diffusion radio est chargée), et n'a pas de profils fixes, seulement des « qualité moyenne » et « haute qualité » recommandés, ajoutés à la spécification A2DP en 2003. La « haute qualité » n'est déjà plus si élevée selon les normes modernes, et la plupart des piles Bluetooth ne permettent pas d'utiliser des options meilleures que celles du profil « haute qualité », bien qu'il n'y ait pas de restrictions techniques à cela.
Bluetooth SIG n'a pas d'encodeur de rĂ©fĂ©rence SBC sous forme de bibliothĂšque, et les fabricants le mettent en Ɠuvre eux-mĂȘmes.
Ce sont les faiblesses de SBC : il n'est jamais clair à l'avance quelle qualité sonore attendre d'un appareil particulier. SBC peut fournir une qualité sonore basse ou trÚs élevée, mais cette derniÚre est inaccessibile sans désactiver ou contourner les limites artificielles des piles Bluetooth.

La situation avec AAC est ambiguë : d'un cÎté, le codec devrait théoriquement offrir une qualité indiscernable de l'original, mais la pratique, selon les tests du laboratoire SoundGuys sur différents appareils Android, ne le confirme pas. Il est fort probable que la faute revienne aux encodeurs audio matériels de faible qualité intégrés à divers chipsets de téléphones. Il vaut la peine d'utiliser AAC uniquement sur des appareils Apple, et sur Android, de se limiter à aptX et LDAC.

Les appareils prenant en charge des codecs alternatifs sont généralement de meilleure qualité, simplement parce qu'il n'est pas judicieux de payer des redevances de licence pour l'utilisation de ces codecs pour des appareils bon marché de trÚs faible qualité. D'aprÚs mes tests, SBC sonne trÚs bien sur du matériel de qualité.

J'ai créé un service web qui code l'audio en SBC, aptX et aptX HD en temps réel, directement dans le navigateur. Avec celui-ci, vous pourrez tester ces codecs audio sans transmettre réellement l'audio via Bluetooth, sur n'importe quel casque ou enceinte filaire, avec votre musique préférée, et modifier les paramÚtres de codage en temps réel pendant la lecture de l'audio :
btcodecs.valdikss.org.ru/sbc-encoder
Le service utilise les bibliothĂšques de codage SBC du projet BlueZ et libopenaptx de ffmpeg, qui ont Ă©tĂ© compilĂ©es en WebAssembly et JavaScript Ă  partir de C, via emscripten, pour fonctionner dans le navigateur. Qui aurait pu rĂȘver d'un tel avenir !

Voici Ă  quoi cela ressemble :

Observez comment le niveau de bruit varie au-delà de 20 kHz avec différents codecs. Les fréquences supérieures à 20 kHz sont absentes dans le fichier MP3 d'origine.

Essayez de changer les codecs et évaluez si vous entendez une différence entre l'original, SBC 53 Joint Stereo (le profil standard et le plus répandu), et aptX/aptX HD.

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

Les personnes qui n'entendent pas de différence entre les codecs lors des tests via le service web affirment qu'elles l'entendent en écoutant de la musique avec des écouteurs sans fil. Malheureusement, ce n'est pas une blague ou un effet placebo : la différence est réellement audible, mais elle n'est pas causée par des distinctions codecs.

La grande majorité des chipsets audio Bluetooth utilisés dans les dispositifs sans fil récepteurs sont équipés d'un processeur de signal numérique (Digital Signal Processor, DSP), qui intÚgre un égaliseur, un compresseur, un élargisseur stéréo et d'autres éléments visant à 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 entre les codecs, l'auditeur a l'impression d'entendre une différence de fonctionnement des codecs, alors qu'en réalité, il écoute différentes configurations du DSP.

Audio via Bluetooth : tout ce qu'il faut savoir sur les profils, codecs et appareils
Le pipeline de traitement audio DSP Kalimba dans les chips produits par CSR/Qualcomm

Audio via Bluetooth : tout ce qu'il faut savoir sur les profils, codecs et appareils
Activation de différentes fonctions DSP pour chaque codec et sortie séparément

Certains dispositifs de haut de gamme sont livrés avec un logiciel permettant de régler les paramÚtres du DSP, mais la plupart des écouteurs moins chers ne disposent pas de cette possibilité, et les utilisateurs ne peuvent pas désactiver le post-traitement audio par des moyens standards.

Caractéristiques fonctionnelles des dispositifs

La version moderne de la norme A2DP a la fonction de « rĂ©glage absolu du volume » — contrĂŽle du volume de l'appareil via des commandes spĂ©cifiques du protocole AVRCP, qui rĂ©gule le gain de l'amplificateur de sortie, plutĂŽt que de rĂ©duire le volume du flux audio par voie logicielle. Si lors du changement de volume sur les Ă©couteurs, l'ajustement n'est pas synchronisĂ© avec le volume du tĂ©lĂ©phone, cela signifie que vos Ă©couteurs ou votre tĂ©lĂ©phone ne prennent pas en charge cette fonction. Dans ce cas, il est recommandĂ© d'Ă©couter de la musique avec le volume maximum sur le tĂ©lĂ©phone, en ajustant le volume rĂ©el avec les boutons des Ă©couteurs — dans ce cas, le rapport signal/bruit sera meilleur, et la qualitĂ© audio. cela devrait ĂȘtre ci-dessus.
Dans la réalité, il existe des situations tristes. Sur mes écouteurs RealForce OverDrive D1 pour SBC, un fort compresseur est activé, et augmenter le volume augmente le niveau des sons faibles, tandis que le volume des sons forts ne change pas (compression du signal). En conséquence, je dois régler le volume de l'ordinateur à environ la moitié ; dans ce cas, l'effet de compression est pratiquement absent.
D'aprÚs mes observations, tous les écouteurs avec des codecs supplémentaires prennent en charge la fonction de réglage de volume absolu ; c'est apparemment l'une des exigences pour la certification des codecs.

Certains écouteurs prennent en charge la connexion de deux appareils simultanément. Cela permet, par exemple, d'écouter de la musique depuis un ordinateur tout en prenant des appels sur un téléphone. Cependant, il faut savoir qu'en mode double connexion, les codecs alternatifs sont désactivés et seul le SBC est utilisé.

La fonction AVDTP 1.3 Delay Reporting permet aux écouteurs de communiquer le retard à l'appareil émetteur, avec lequel le son est effectivement reproduit. Cela permet d'ajuster la synchronisation audio avec la vidéo lors de la lecture de fichiers vidéo : en cas de problÚmes de transmission par voie radio, l'audio ne sera pas en retard par rapport à la vidéo, mais plutÎt, la vidéo sera ralentie par le lecteur vidéo jusqu'à ce que l'audio et la vidéo soient de nouveau synchronisés.
La fonction est prise en charge par de nombreux écouteurs, Android 9+ et Linux avec PulseAudio 12.0+. Je ne sais pas si la fonction est prise en charge sur d'autres plates-formes.

Communication bidirectionnelle via Bluetooth. Transmission de la voix.

Pour la transmission de la voix par Bluetooth, le Synchronous Connection Oriented (SCO) est utilisĂ© — une transmission synchrone avec prĂ©-accord de la connexion. Le mode permet de transmettre le son et la voix strictement dans l'ordre, avec une vitesse d'envoi et de rĂ©ception symĂ©trique, sans attendre la confirmation de transmission ou la retransmission des paquets. Cela rĂ©duit la latence gĂ©nĂ©rale de transmission de l'audio par voie radio, mais impose de sĂ©rieuses limitations sur la quantitĂ© de donnĂ©es transmises par unitĂ© de temps, ce qui a un impact nĂ©gatif sur la qualitĂ©.
Quand ce mode est utilisĂ©, la voix et l'audio sont transmis avec la mĂȘme qualitĂ©.
Malheureusement, en 2019, la qualité de transmission de la voix par Bluetooth reste encore faible, et on ne comprend pas pourquoi le Bluetooth SIG ne fait rien à ce sujet.

CVSD

Le codec de transmission vocale de base CVSD a été standardisé en 2002 et est pris en charge par tous les dispositifs de communication bidirectionnelle via Bluetooth. Il permet la transmission audio avec une fréquence d'échantillonnage de 8 kHz, ce qui correspond à la qualité de la téléphonie filaire classique.

Exemple d'enregistrement dans ce codec.

mSBC

Le codec supplémentaire mSBC a été standardisé en 2009, et en 2010, des puces utilisant ce codec pour la transmission vocale ont fait leur apparition. Le mSBC est largement pris en charge par divers dispositifs.
Ce n'est pas un codec indépendant, mais un SBC classique du standard A2DP, avec un profil d'encodage fixe : 16 kHz, mono, bitpool 26.

Exemple d'enregistrement dans ce codec.

Ce n'est pas parfait, mais c'est bien meilleur que le CVSD, cependant, il reste dĂ©sagrĂ©able de l'utiliser pour communiquer sur Internet, surtout lorsque vous utilisez des Ă©couteurs pour discuter dans un jeu — le son du jeu sera Ă©galement transmis avec une frĂ©quence d'Ă©chantillonnage de 16 kHz.

FastStream La société CSR a décidé de développer l'idée de réutilisation du SBC. Pour contourner les limitations du protocole SCO et utiliser des débits binaires plus élevés, CSR a choisi une autre approche : ils ont intégré la prise en charge audio SBC bidirectionnelle dans le standard de transmission audio unidirectionnel A2DP, ont standardisé les profils d'encodage et l'ont appelé « FastStream ».

FastStream transmet de l'audio stĂ©rĂ©o aux haut-parleurs Ă  44,1 ou 48 kHz avec un dĂ©bit de 212 kbit/s, tandis que pour la transmission audio Ă  partir d'un microphone, il utilise du mono, 16 kHz, avec un dĂ©bit de 72 kbit/s (un peu mieux que le mSBC). Ces paramĂštres conviennent beaucoup mieux pour communiquer dans les jeux en ligne — le son des jeux et des interlocuteurs sera de bonne qualitĂ©.

Exemple d'enregistrement dans ce codec (+ audio du microphone, identique Ă  celui du mSBC).

L'entreprise a trouvé une solution intéressante, mais comme elle contredit le standard A2DP, sa prise en charge n'existe que dans certains transmetteurs de l'entreprise (qui fonctionnent comme une carte audio USB, et non comme un dispositif Bluetooth), mais elle n'a pas été intégrée dans les piles Bluetooth, bien que le nombre d'écouteurs prenant en charge FastStream ne soit pas négligeable.

À l'heure actuelle, la prise en charge de FastStream dans les systĂšmes d'exploitation n'existe que sous la forme d'un patch pour PulseAudio de Linux dĂ©veloppĂ© par Pali RohĂĄr, qui n'est pas inclus dans la branche principale du programme.

aptX Low Latency

À ma grande surprise, aptX Low Latency prend Ă©galement en charge l'audio bidirectionnel, en rĂ©alisant le mĂȘme principe que FastStream.
Il n'est pas possible d'utiliser cette fonctionnalitĂ© du codec nulle part — la prise en charge du dĂ©codage Low Latency n'existe dans aucun systĂšme d'exploitation ni dans aucune pile Bluetooth connue de moi.

Bluetooth 5, Classic et Low Energy

Il y a eu une grande confusion autour des spĂ©cifications et des versions de Bluetooth en raison de l'existence de deux normes incompatibles sous une 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 y a aussi un troisiÚme protocole, Bluetooth High Speed, mais celui-ci n'est pas répandu et n'est pas utilisé dans les appareils domestiques.

Depuis Bluetooth 4.0, les modifications des spécifications concernent principalement Bluetooth Low Energy, tandis que 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 v4.2 À 5.0

9.1 NOUVELLES FONCTIONNALITÉS

Plusieurs nouvelles fonctionnalités sont introduites dans la Spécification de Base Bluetooth 5.0. Les principaux domaines d'amélioration sont :
‱ Masque de DisponibilitĂ© de CrĂ©neaux (SAM)
‱ PHY à 2 Msym/s pour LE
‱ Longue PortĂ©e LE
‱ PublicitĂ© Non Connectable Ă  Haute DurĂ©e de Fonctionnement
‱ Extensions de PublicitĂ© LE
‱ Algorithme de SĂ©lection de Canal LE n°2
9.1.1 FonctionnalitĂ©s AjoutĂ©es dans CSA5 — IntĂ©grĂ©es dans v5.0
‱ Puissance de Sortie Accrue

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

Une seule modification concerne la version Classic dans la spécification Bluetooth 5 : elle a ajouté le support de la technologie Masque de Disponibilité de Créneaux (SAM) destinée à améliorer la gestion du spectre radio. Tous les autres changements ne concernent que Bluetooth LE (et la Puissance de Sortie Accrue aussi).

Tous Les appareils audio n'utilisent que Bluetooth Classic. Il est impossible de connecter des écouteurs ou des enceintes via Bluetooth Low Energy : il n'existe pas de norme pour la transmission audio utilisant LE. La norme A2DP, utilisée pour le transfert audio haute qualité, fonctionne uniquement via Bluetooth Classic, et il n'existe pas d'équivalent dans LE.

Conclusion : acheter des appareils audio avec Bluetooth 5 uniquement Ă  cause de la nouvelle version du protocole n'a pas de sens. Bluetooth 4.0/4.1/4.2 fonctionnera exactement de la mĂȘme maniĂšre en ce qui concerne la transmission audio.
Si l'annonce de nouveaux Ă©couteurs mentionne un double rayon d'action et une consommation d'Ă©nergie rĂ©duite grĂące Ă  Bluetooth 5, sachez qu'ils ne comprennent pas eux-mĂȘmes ou qu'ils vous induisent en erreur. C'est comprĂ©hensible, car mĂȘme les fabricants de puces Bluetooth se perdent dans les distinctions de la nouvelle version de la norme, et certaines puces Bluetooth 5 ne prennent en charge la cinquiĂšme version que pour LE, tout en utilisant 4.2 pour Classic.

Délai de transmission audio

Le dĂ©lai de transmission audio dĂ©pend de nombreux facteurs : la taille du tampon dans la pile audio, dans la pile Bluetooth et dans le dispositif sans fil reproducteur lui-mĂȘme, ainsi que le dĂ©lai algorithmique du codec.

La latence des codecs simples, tels que SBC, aptX et aptX HD, est trĂšs faible, de l'ordre de 3 Ă  6 ms, ce qui peut ĂȘtre nĂ©gligĂ©, mais les codecs complexes, comme AAC et LDAC, peuvent entraĂźner un retard perceptible. La latence algorithmique d'AAC pour 44,1 kHz est de 60 ms. LDAC - environ 30 ms (selon une analyse brute du code source. Je peux me tromper, mais pas beaucoup.)

La latence finale dépend fortement de l'appareil de lecture, de son chipset et de son tampon. Pendant les tests, j'ai observé des variations de 150 à 250 ms sur différents appareils (avec le codec SBC). Si l'on suppose que les appareils prenant en charge des codecs supplémentaires comme aptX, AAC et LDAC utilisent des composants de qualité et une taille de tampon réduite, on obtient les latences typiques suivantes :

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

Je rappelle que l'aptX Low Latency n'est pas pris en charge par les systĂšmes d'exploitation, ce qui signifie qu'une latence rĂ©duite ne peut ĂȘtre obtenue qu'avec une combinaison Ă©metteur+rĂ©ccepteur ou Ă©metteur+casque/enceinte, et tous les appareils doivent prendre en charge ce codec.

ProblĂšmes d'appareils, de certification et de logos Bluetooth

Comment distinguer un bon appareil audio d'une contrefaçon bon marché ? Par son apparence, tout d'abord !

Pour les casques, enceintes et récepteurs chinois bon marché :

  1. Le mot « Bluetooth » est absent de la boßte et de l'appareil, on utilise le plus souvent « Wireless » et « BT »
  2. Absence du logo Bluetooth Audio via Bluetooth : tout ce qu'il faut savoir sur les profils, codecs et appareils sur la boĂźte ou l'appareil
  3. Pas de diode LED bleue clignotante

L'absence de ces éléments indique que l'appareil n'a pas été certifié, donc potentiellement de mauvaise qualité et problématique. Par exemple, les casques de la marque Bluedio ne sont pas certifiés Bluetooth et ne respectent pas pleinement la spécification A2DP. Ils n'auraient pas réussi la certification.

Examinons quelques appareils et leurs boĂźtes :
Audio via Bluetooth : tout ce qu'il faut savoir sur les profils, codecs et appareils

Audio via Bluetooth : tout ce qu'il faut savoir sur les profils, codecs et appareils

Audio via Bluetooth : tout ce qu'il faut savoir sur les profils, codecs et appareils

Tous ceux-ci sont des appareils non certifiĂ©s. Le manuel peut comporter le logo et le nom de la technologie Bluetooth, mais le plus important est qu'ils soient prĂ©sents sur la boĂźte et/ou sur l'appareil lui-mĂȘme.

Si vos écouteurs ou votre enceinte disent « Ze bluetooth dewise is connecteda successfulle », cela ne dit rien sur leur qualité :

Lire la vidéo

Conclusion

Le Bluetooth peut-il complĂštement remplacer les Ă©couteurs et casques filaires ? Oui, mais au prix d'une qualitĂ© sonore mĂ©diocre lors des appels, d'une latence sonore accrue qui peut ĂȘtre agaçante dans les jeux, et de nombreux codecs propriĂ©taires nĂ©cessitant des paiements de redevances, ce qui augmente le coĂ»t final tant des smartphones que des Ă©couteurs.

Le marketing des codecs alternatifs est trÚs efficace : aptX et LDAC sont présentés comme la tant attendue alternative au SBC « obsolÚte et mauvais », qui n'est pas si mauvais que cela.

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

Plus d'informations peuvent ĂȘtre trouvĂ©es sur les sites SoundGuys et SoundExpert.

Bonus : encodeur de référence SBC, informations sur le flux A2DP et fichiers de test. Ce fichier avait été publié sur le site de Bluetooth, mais il est maintenant uniquement accessible aux membres de Bluetooth SIG.

Source : habr.com

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster