Audio via Bluetooth: informations les plus détaillées sur les profils, les codecs et les appareils

Bande dessinée XKCD. Comment les normes prolifèrent. SITUATION: il existe 14 normes concurrentes. Geek: 14?! Ridicule! Nous devons développer une norme universelle couvrant tous les cas d'utilisation de chacun. La petite amie de Geek: ouais! BIENTÔT: Situation: il existe 15 normes concurrentes.

Cet article est également disponible en russe / Cet article est également disponible en russe

Le marché de masse des smartphones sans prise audio 3,5 mm a changé l'industrie des écouteurs, les écouteurs sans fil Bluetooth sont devenus le principal moyen d'écouter de la musique et de communiquer en mode casque pour de nombreux utilisateurs.
Les fabricants d'appareils Bluetooth divulguent rarement les spécifications détaillées des produits, et les articles audio Bluetooth sur Internet sont contradictoires et parfois incorrects. Ils ne parlent pas de toutes les fonctionnalités et publient souvent les mêmes fausses informations.
Essayons de comprendre le protocole, les capacités des piles Bluetooth, des écouteurs et des haut-parleurs, des codecs Bluetooth pour la musique et la parole, découvrons ce qui affecte la qualité de l'audio transmis et le retard, apprenons à capturer et décoder des informations sur les codecs pris en charge et autres caractéristiques de l'appareil.

TL; DR :

  • Le codec SBC est OK
  • Les écouteurs ont leur propre égaliseur par codec et configuration de post-traitement
  • aptX n'est pas aussi bon que les publicités le disent
  • LDAC est un fluff marketing
  • La qualité audio de la voix est toujours faible
  • Les navigateurs sont capables d'exécuter des encodeurs audio compilés sur WebAssembly à partir de C en utilisant emscripten, et ils ne seront même pas en retard.





Musique via Bluetooth

Les composants fonctionnels de Bluetooth sont définis par des profils - des caractéristiques documentées formalisées dans des spécifications. La musique Bluetooth est transmise à l'aide d'un profil de transmission audio A2DP de haute qualité. La norme A2DP a été adoptée en 2003 et n'a pas changé radicalement depuis lors.
Le profil standardise un codec obligatoire - SBC, un codec à faible complexité de calcul créé spécifiquement pour Bluetooth, et 3 codecs supplémentaires. On peut également utiliser des codecs spécifiques au fournisseur de votre propre implémentation, non inclus dans A2DP.

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

  • SBC ← inclus dans A2DP, pris en charge par tous les appareils
  • MPEG-1/2 Layer 1/2/3 ← inclus dans A2DP: MP3 largement connu, courant dans la télévision numérique MP2 et MP1 obsolète
  • MPEG-2/4 AAC ← inclus dans A2DP
  • ATRAC ← Ancien codec de Sony, inclus dans A2DP
  • LDAC ← Le nouveau codec de Sony
  • aptX ← codec de 1988
  • aptX HD ← identique à aptX mais avec un profil d'encodage différent
  • aptX Low Latencycodec totalement différent, pas d'implémentation logicielle aptX avec tampon inférieur
  • aptX Adaptive ← un autre codec Qualcomm
  • FastStream ← pseudo-codec, modification bidirectionnelle SBC
  • HWA LHDC ← Le nouveau codec de Huawei
  • Samsung HD ← pris en charge par 2 appareils
  • Samsung Scalable ← pris en charge par 2 appareils
  • Samsung UHQ-BT ← pris en charge par 3 appareils


Vous vous demandez peut-être pourquoi nous avons besoin d'un codec en premier lieu, si Bluetooth a EDR , qui vous permet de transférer des données à 2 ou 3 Mb / s alors que le PCM 16 bits non compressé à deux canaux ne nécessite que 1,4 Mb / s?

Transfert de données Bluetooth

Il existe deux types de transfert de données dans Bluetooth: Asynchronous Connection Less (ACL) pour le transfert asynchrone sans établir de connexion et Synchronous Connection Oriented (SCO), pour le transfert synchrone avec établissement de la connexion.
La transmission de données utilise un schéma de répartition dans le temps et modifie le canal de fréquence pour chaque paquet de données transmis (Frequency-Hop / Time-Division-Duplex, FH / TDD). Le temps est divisé en intervalles de 625 microsecondes, appelés intervalles. L'un des appareils transmet en nombre pair de fentes, l'autre - en nombre impair. Un paquet transmis peut occuper 1, 3 ou 5 emplacements, selon la taille des données et le mode de transmission. Si le paquet est suffisamment gros et que plusieurs modes de transmission de créneau sont utilisés, les données sont exécutées dans des créneaux pairs et impairs jusqu'à la fin de la transmission. En une seconde, vous pouvez recevoir et envoyer jusqu'à 1600 paquets si chacun d'eux occupe 1 emplacement et que les deux appareils transmettent et reçoivent en continu des données.

Les taux de transfert de 2 ou 3 Mbps pour EDR trouvés dans les annonces et sur le site Web Bluetooth sont le taux de transfert de données de canal maximum de toutes les données au total (y compris les en-têtes techniques de tous les protocoles pour les données à encapsuler) dans deux directions simultanément. Le taux de transfert de données réel variera considérablement.

La méthode asynchrone est utilisée pour la diffusion de musique en continu, utilisant presque toujours des paquets de type 2-DH5 et 3-DH5, qui transportent la quantité maximale de données dans les modes EDR à 2 Mb / s et 3 Mb / s respectivement et occupent 5 créneaux temporels.

Représentation schématique de la transmission utilisant 5 slots par un appareil et 1 slot par un autre (DH5 / DH1):
5 créneaux de transmission, dont chacun est transmis pendant 625 microsecondes, et un créneau de réception, également 625 microsecondes. 3,75 millisecondes au total.

En raison du principe de partage du temps, nous devons attendre un intervalle de temps de 625 microsecondes après avoir transmis 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 effectue la transmission en gros paquets. Si plusieurs appareils sont connectés au téléphone (par exemple, un casque, une montre intelligente et un bracelet de fitness), le temps de transmission est partagé entre tous.

Le streaming audio A2DP nécessite l'encapsulation dans un protocole de transport spécial L2CAP et AVDTP qui déduit 16 octets de la quantité maximale possible de charge utile audio dans le paquet.
Type de paquetMontant de l'emplacementMax octets par paquetOctets de charge utile A2DP max.Débit binaire maximal A2DP
2-dh33367351936 Ko / s
3-dh335525361429 ko / s
2-DH556796631414 ko / s
3-dh55102110052143 ko / s
1414 et 1429 kbps ne sont tout simplement pas suffisants pour transmettre du son non compressé dans des conditions réelles, avec une bande de 2,4 GHz bruyante et des données de service occasionnelles. L'EDR 3 Mbps exige de la puissance de transmission et un rapport signal / bruit, donc même en mode 3-DH5 aucune transmission PCM confortable n'est possible, car il y aura toujours des interruptions à court terme et tout fonctionnera plus ou moins fiable uniquement à une distance de quelques mètres.
En pratique, même le flux audio à 990 kb / s (LDAC 990 kb / s) n'est pas trivial à transmettre de manière fiable.

Revenons aux codecs.

Sbc

Ce codec est obligatoire pour tous les appareils prenant en charge la norme A2DP. Le meilleur et le pire codec en même temps.

Taux d'échantillonnageProfondeur de bitsDébit binairePrise en charge de l'encodagePrise en charge du décodage
16, 32, 44,1, 48 kHz16 bits10-1500 ko / sTous les appareilsTous les appareils


SBC est un codec simple et rapide sur le plan des calculs avec un modèle psychoacoustique primitif (avec un masquage auditif simple) utilisant la modulation adaptative par impulsions codées (APCM).
La spécification A2DP recommande d'utiliser deux profils: qualité moyenne et haute qualité.
Tableau avec profils de qualité moyenne et de haute qualité. Les valeurs spécifiées sont bitpool, longueur de trame et débit binaire. Pour stéréo commune 44,1 kHz. Qualité moyenne: bitpool = 35, longueur de trame = 83, débit binaire = 229. Haute qualité: bitpool = 53, longueur de trame = 119, débit binaire = 328.

Le codec possède de nombreux paramètres qui vous permettent de contrôler le retard algorithmique, le nombre d'échantillons dans le bloc et l'algorithme d'allocation de bits, mais presque toujours les paramètres utilisés dans la spécification sont utilisés partout: Joint Stereo , 8 bandes de fréquences, 16 blocs dans l'audio trame, méthode d'allocation des bits de Loudness .
SBC peut ajuster dynamiquement le paramètre bitpool, ce qui affecte directement le débit binaire. Si la radio est obstruée, que les paquets sont perdus ou que les appareils sont éloignés, la source audio peut réduire le pool de bits pour éviter les perturbations audio jusqu'à ce que la connexion soit à nouveau stable.

Les fabricants de la plupart des écouteurs définissent la valeur maximale du paramètre bitpool sur 53, ce qui limite le débit à 328 kilobits par seconde lors de l'utilisation du profil recommandé.
Même si le fabricant d'écouteurs a défini la valeur maximale du pool de bits au-dessus de 53 (ce qui est vrai, par exemple, pour Beats Solo³, JBL Everest Elite 750NC, Apple AirPods, ainsi que pour certains récepteurs et unités principales de voiture), la plupart des systèmes d'exploitation ne permettront pas d'utiliser des débits binaires plus élevés en raison des limites internes des piles Bluetooth.
En outre, certains fabricants définissent une valeur de pool de bits maximale faible pour certains appareils. Par exemple, dans Bluedio T, il est égal à 39, dans Samsung Gear IconX, il est de 37, ce qui donne une mauvaise qualité sonore.

Les limitations artificielles ont été introduites dans les piles Bluetooth probablement en raison du nombre insuffisant de tests de certification et de l'incompatibilité de certains appareils avec de grandes valeurs Bitpool ou des profils atypiques, même s'ils signalent leur prise en charge. Il était plus facile pour les développeurs de restreindre les options à des valeurs bonnes connues d'un profil recommandé, plutôt que de créer une base de données de périphériques incompatibles. Bien qu'ils le fassent maintenant pour d'autres fonctions qui ne fonctionnent pas correctement.

SBC alloue dynamiquement des bits de quantification pour les bandes de fréquences, agissant de bas en haut, avec différents poids. Si le débit binaire entier a été utilisé pour les fréquences basses et moyennes, les fréquences supérieures seront coupées (remplacées par du silence).

Exemple de SBC 328 kbps. L'audio d'origine est en haut, l'audio encodé SBC est en bas. Les pistes sont commutées pour comparaison. Le flux audio dans le fichier vidéo est compressé à l'aide du codec sans perte FLAC. L'utilisation de FLAC dans le conteneur mp4 n'est pas officiellement normalisée, c'est pourquoi l'audio peut ne pas être lu dans votre navigateur (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 n'importe quel lecteur vidéo.
ZZ Top - Sharp Dressed Man

Le moment de la commutation est visible sur le spectrogramme: SBC coupe périodiquement les sons calmes au-dessus de 17,5 kHz et n'alloue aucun bit pour une bande supérieure à 20 kHz. Le spectrogramme est cliquable (1,7 Mo).
image

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

Prenons quelque chose de plus récent et simulons la qualité audio des écouteurs Samsung Gear IconX avec Bitpool 37 (en haut est le flux d'origine, en bas SBC 239 kbps, FLAC est utilisé pour l'audio).
Indulgence personnelle sans esprit - Témoin

J'entends des grésillements, un effet stéréo plus petit et un "cliquetis" désagréable de voix à haute fréquence.

Pour résumer, SBC est un codec très flexible: il peut être configuré pour une faible latence, offre une excellente qualité audio à des débits élevés (452+ kb / s) et est assez bon pour la plupart des gens en haute qualité standard (328 kb / s) . Cependant, il y a quelques raisons pour lesquelles le codec est tristement célèbre pour sa faible qualité sonore: la norme A2DP ne définit pas de profils fixes (il ne donne que des recommandations), les développeurs de piles Bluetooth fixent des limites 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 paramètres et de ne jamais spécifier la valeur Bitpool dans les caractéristiques techniques du produit.
Le paramètre bitpool affecte directement le débit binaire uniquement dans un profil. La même valeur de pool de bits de 53 peut produire à la fois le débit binaire de 328 kbps avec le profil de haute qualité recommandé et 1212 kbps en mode Dual Channel et 4 bandes de fréquence, c'est pourquoi les auteurs du système d'exploitation ont également défini des limites de bitrate en plus du bitpool. Je suppose que la situation est survenue en raison de la faille de la norme A2DP: il fallait négocier le débit, pas le bitpool.

Tableau des fonctionnalités SBC prises en charge dans différents systèmes d'exploitation:
OSTaux d'échantillonnageLimite maximale de pool de bitsLimite de débit binaire maxDébit typiquePrise en charge dynamique du pool de bits
Windows 1044,1 kHz53512 kb / s328 kb / s✓ *
Linux (BlueZ + PulseAudio)16, 32, 44,1, 48 kHz64 (pour les connexions entrantes), 53 (pour les connexions sortantes)Aucune limite328 kb / s✓ *
macOS High Sierra44,1 kHz64, 53 par défaut ***Inconnu328 kb / s
Android 4.4-944,1 / 48 kHz **53328 kb / s328 kb / s
Android 4.1-4.3.144,1, 48 kHz **53229 ko / s229 ko / s
Blackberry OS 1048 kHz53Aucune limite328 kb / s
* Bitpool diminue, mais n'augmente pas automatiquement en cas de conditions de transmission variables. 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 firmware. Dans Android 8 / 8.1, la fréquence n'est que de 44,1 kHz ou 48 kHz, selon les paramètres lors de la compilation, d'autres versions prennent en charge simultanément 44,1 kHz et 48 kHz.
*** La valeur de Bitpool peut être ajustée à l'aide du logiciel Bluetooth Explorer.

aptX et aptX HD

aptX est un codec simple et rapide de calcul, sans psychoacoustique, qui utilise la modulation adaptative de code d'impulsion différentielle ( ADPCM ). Il est apparu vers 1988 ( la date de dépôt du brevet est février 1988). Avant Bluetooth, il était principalement utilisé pour les équipements audio sans fil professionnels. Actuellement détenue par Qualcomm, elle nécessite des licences et des frais de licence. Depuis 2014: paiement unique de 6 000 $ et 1 $ par appareil, pour des lots allant jusqu'à 10 000 appareils ( source , page 16).

Le codec n'a qu'un seul paramètre: la fréquence d'échantillonnage. Bien qu'il existe également une option de configuration du numéro / mode de canal, tous les appareils que je connais ne prennent en charge que la stéréo (70+ modèles).

CodecTaux d'échantillonnageProfondeur de bitsDébitPrise en charge de l'encodagePrise en charge du décodage
aptX16, 32, 44,1, 48 kHz16 bits128/256/352/384 kb / s (selon la fréquence d'échantillonnage)Windows 10 (ordinateur de bureau et mobile), macOS, Android 4.4 + / 7 *, Blackberry OS 10Grande variété d'appareils (en 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 autorisé l'utilisation du codec de Qualcomm (si le système d'exploitation comprend des bibliothèques de codage incluses).

aptX divise l'audio en 4 bandes de fréquences et les quantifie avec le même nombre de bits en continu: 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 ( pour une fréquence d'échantillonnage de 44,1 kHz).

Exemple audio aptX (haut - audio original, bas - audio encodé aptX, spectrogrammes des canaux gauches uniquement, son en FLAC):

Les fréquences supérieures sont un peu plus rouges, mais la différence n'est pas audible.

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

Nous ne devons pas supposer que l'utilisation, par exemple, de 2 bits pour une bande réduit la plage dynamique à 12 dB: ADPCM permet d'utiliser jusqu'à 96 dB de plage dynamique, même avec 2 bits de quantification, mais uniquement avec un certain type de signal .
ADPCM stocke la différence entre la valeur actuelle et la valeur suivante en représentation numérique, au lieu d'utiliser la valeur absolue, comme dans PCM. Cela réduit les exigences relatives au nombre de bits nécessaires pour stocker les mêmes informations (sans perte) ou presque les mêmes (avec une erreur d'arrondi relativement faible). Pour réduire les erreurs d'arrondi, des tables de facteurs sont appliquées.
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 les erreurs de quantification (bruit) sont générées par aptX.

Pour cette raison, les tests synthétiques produiront toujours des résultats pires que la musique. J'ai fait un exemple synthétique spécial dans lequel aptX fonctionne mal - une onde sinusoïdale de 12,4 kHz (haut - signal original, bas - aptX. Son en FLAC. Viol d'oreille, diminuez le volume!):

Graphique du spectre:
Graphique du spectre, niveau de bruit maximum - -55 dB

Le bruit est clairement audible.

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, ce qui indique une large plage dynamique:
Graphique du spectre, niveau de bruit maximum - -75 dB

Pour entendre la différence entre une piste musicale originale et une piste compressée, vous pouvez inverser l'un des signaux et ajouter des pistes aux canaux respectifs. Cette approche est incorrecte en général et ne donnerait pas de résultats appropriés avec des codecs plus complexes, mais pour les codecs de classe ADPCM, l'utilisation de cette méthode est raisonnable.
La différence entre l'audio original et le codage aptX
La différence quadratique moyenne des signaux est au niveau de -37,4 dB, ce qui n'est pas beaucoup pour une telle musique compressée.

aptX HD

aptX HD n'est pas un codec autonome - c'est un profil d'encodage aptX amélioré. Les changements affectent le nombre de bits alloués pour le codage des bandes de fréquences: 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 (valeurs pour 44,1 kHz) .

CodecTaux d'échantillonnageProfondeur de bitsDébitPrise en charge de l'encodagePrise en charge du décodage
aptX HD16, 32, 44,1, 48 kHz24 bits192/384/529/576 kb / s (selon le taux d'échantillonnage)Android 8 + *Certains périphériques audio (dans le 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 autorisé l'utilisation du codec de Qualcomm (si le système d'exploitation comprend des bibliothèques de codage incluses).

Ce codec est moins courant que aptX: il semble exiger une licence distincte de Qualcomm et des frais de licence distincts.

Répétons l'exemple avec une onde sinusoïdale de 12,4 kHz:
Graphique du spectre, niveau de bruit maximum - -72 dB

Beaucoup mieux qu'avec aptX, mais toujours bruyant.


aptX Low Latency

La version à faible latence d'aptX n'est pas un codec autonome. Il ne diffère que par les paramètres de latence et de tampons appliqués du côté de l'unité audio. En plus de cela, c'est un aptX habituel.
Il a été conçu pour une transmission audio interactive à faible latence (films, jeux), où le retard sonore ne peut pas être réglé par programme. Il existe une implémentation du logiciel de pilote Dell disponible pour les puces Bluetooth Intel . Il est également pris en charge par les émetteurs, les récepteurs, les écouteurs et les haut-parleurs, mais pas les smartphones.

Taux d'échantillonnageDébitPrise en charge de l'encodagePrise en charge du décodage
44,1 kHz352 kb / sWindows avec pilote Dell et certains émetteurs (en matériel)Certains périphériques audio (dans le matériel)


Aac

AAC, ou Advanced Audio Coding, est un codec de calcul sophistiqué avec un modèle psychoacoustique complexe. Il est largement utilisé pour l'audio sur Internet, le deuxième codec le plus populaire après le MP3. Licence et frais de licence requis: paiement unique de 15 000 $ (ou 1 000 $ pour les entreprises de moins de 15 employés) + 0,98 $ pour les 500 000 premiers appareils ( source ).
Le codec est normalisé dans les spécifications MPEG-2 et MPEG-4 et, malgré une incrédulité fréquente, n'appartient pas à Apple.

Taux d'échantillonnageDébitPrise en charge de l'encodagePrise en charge du décodage
8 - 96 kHz8 - 576 kb / s (pour stéréo), 256 - 320 kb / s (typique pour Bluetooth)macOS, Android 7 + *, iOSGrande variété d'appareils (en matériel)
* uniquement sur les appareils dont les fabricants ont payé des redevances

iOS et macOS contiennent le meilleur encodeur Apple AAC disponible à ce jour, produisant la meilleure qualité audio possible. Android utilise le deuxième meilleur encodeur Fraunhofer FDK AAC, mais peut également utiliser divers encodeurs matériels intégrés dans la plate-forme (SoC) avec une qualité d'encodage inconnue. Selon des tests récents publiés sur le site Web SoundGuys , la qualité de l'encodage AAC sur différents téléphones Android varie considérablement:
Tracé du spectre de codage AAC de divers appareils mobiles. Le Huawei P20 Pro a une forte baisse dans la région de 14 kHz, dans LG V30 - dans la région de 16 kHz, dans Samsung Note 8 - 17 kHz, dans Apple iPhone 7 - 19 kHz.

La plupart des périphériques audio sans fil ont un débit binaire maximal de 320 kbps pour 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 binaires de 320 et 256 kb / s, mais est sujet à des pertes de génération sur du contenu déjà compressé, mais il est difficile d'entendre les différences entre l'original et AAC 256 kb / s sur iOS, même avec plusieurs encodages consécutifs. Pour les MP3 320 kbps encodés en AAC 256 kbps, la perte peut être négligée.
Comme avec tout autre codec Bluetooth, toute musique est d'abord décodée puis codée avec un codec. Lorsque vous écoutez de la musique au format AAC, elle est d'abord décodée par le système d'exploitation, puis de nouveau encodée en AAC, pour une transmission via Bluetooth. Cela est nécessaire pour mélanger plusieurs flux audio tels que la musique et les notifications de nouveaux messages. iOS ne fait pas exception. Vous pouvez trouver beaucoup de déclarations selon lesquelles iOS ne transcode pas la musique au format AAC pour la transmission via Bluetooth, ce qui est incorrect.

AAC a de nombreuses extensions de la méthode de codage standard. L'un d'eux - Scalable To Lossless (SLS) - est normalisé pour Bluetooth et vous permet de transférer de l'audio sans perte. Malheureusement, aucun support SLS n'a pu être trouvé sur les appareils existants. Une extension pour réduire le délai de transmission AAC-LD (Low Delay) n'est pas standardisée pour Bluetooth.


MP1 / 2/3

Les codecs MPEG-1/2 Partie 3 sont constitués de MP3 bien connus et largement utilisés, du MP2 moins répandu (utilisé principalement dans la télévision et la radio numériques) et du MP1 complètement inconnu.

Les anciens codecs MP1 et MP2 ne sont pas du tout pris en charge, je n'ai trouvé aucun casque ni aucune pile Bluetooth qui les encoderait ou 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 BlueSoleil tierce pour Windows puisse encoder MP3 si vous éditez manuellement le fichier de configuration, mais sur mon installation, cela conduit à BSoD sur Windows 10. Le résultat: vous ne pouvez pas réellement utiliser un codec pour l'audio Bluetooth.
Auparavant, en 2006-2008, avant que la norme A2DP ne soit largement utilisée dans les appareils, les gens écoutaient de la musique MP3 sur le casque Nokia BH-501 via le programme MSI BluePlayer, qui était disponible sur Symbian et Windows Mobile. A cette époque, l'architecture OS des smartphones permettait d'accéder à de nombreuses fonctions de bas niveau, il était même possible d'installer une pile Bluetooth tierce sur Windows Mobile.

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 le brevet le plus ancien mentionné dans les références susmentionnées est pris à titre de mesure, la technologie MP3 est devenue sans brevet 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

Taux d'échantillonnageDébitPrise en charge de l'encodagePrise en charge du décodage
16 à 48 kHz8 à 320 kb / sNon pris en charge partoutCertains périphériques audio (dans le matériel)


LDAC

Nouveau codec «Hi-Res» de Sony, activement promu, qui prend en charge des taux d'échantillonnage jusqu'à 96 kHz et une profondeur de 24 bits, avec un débit jusqu'à 990 kbps. Il est annoncé comme un codec audiophile, en remplacement des codecs Bluetooth existants. Il a une fonction adaptative de débit qui règle le débit en fonction des conditions de transmission radio.

L'encodeur LDAC ( libldac ) est inclus dans la distribution Android standard, l'encodage est pris en charge sur tout smartphone Android à partir de la version OS 8. Les décodeurs logiciels ne sont pas disponibles gratuitement et la spécification du codec n'est pas accessible au grand public, cependant, à première vue au niveau de l'encodeur, les composants internes sont similaires au codec ATRAC9 de Sony utilisé sur 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 Huffman.
LDAC divise l'audio en 12 ou 16 bandes de fréquences: 12 pour 44,1 et 48 kHz, 16 pour 88,2 et 96 kHz.

LDAC est pris en charge presque exclusivement uniquement par les écouteurs Sony. Le décodage LDAC se trouve parfois sur les écouteurs et les DAC d'autres fabricants, mais très rarement.

Taux d'échantillonnageDébitPrise en charge de l'encodagePrise en charge du décodage
44,1 - 96 kHz303/606/909 kb / s (pour 44,1 et 88,2 kHz), 330/660/990 kb / s (pour 48 et 96 kHz)Android 8+Certains écouteurs Sony et certains appareils d'autres fabricants (en matériel)


Le marketing LDAC «Hi-Res codec» nuit à ses propriétés techniques: il n'est pas judicieux de dépenser le débit binaire pour coder et transmettre des fréquences qui ne sont pas audibles à l'oreille humaine et une profondeur de bits plus élevée lorsqu'il n'est toujours pas possible de compresser sans perte de l'audio de qualité CD. Heureusement, le codec a deux modes de fonctionnement: la transmission audio CD et la transmission audio haute résolution. Dans le premier cas, seuls 44,1 kHz / 16 bits sont transmis par voie hertzienne.

Étant donné que le décodeur logiciel LDAC n'est pas disponible gratuitement, il n'est pas possible de tester le codec sans dispositifs supplémentaires qui décodent LDAC. Selon les résultats du test LDAC sur le DAC avec son support, que les ingénieurs de SoundGuys.com ont connecté via la sortie numérique et enregistré le son de sortie des signaux de test, le LDAC 660 et 990 kbit / s en mode qualité CD fournit un signal rapport bruit / bruit légèrement meilleur que celui d'aptX HD. C'est un bon résultat.

Profil de bruit LDAC CD 990 kbit / s
Source: www.soundguys.com/ldac-ultimate-bluetooth-guide-20026

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

Autres codecs

Les autres codecs A2DP ne sont pas largement utilisés. Leur prise en charge est soit presque totalement absente, soit uniquement disponible sur certains modèles de casques et smartphones.
Le codec ATRAC normalisé A2DP n'a jamais été utilisé comme codec Bluetooth, même par Sony. Les codecs Samsung HD, Samsung Scalable et Samsung UHQ-BT ont une prise en charge très limitée des appareils d'émission et de réception. HWA LHDC est trop nouveau et ne prend en charge que trois (?) Périphériques.


Prise en charge du codec des périphériques audio

Tous les fabricants ne publient pas des informations précises sur les codecs pris en charge par certains écouteurs, haut-parleurs, récepteurs ou émetteurs sans fil. Parfois, il arrive que certains codecs ne soient pris en charge que pour la transmission mais pas pour la réception (pertinent pour les émetteurs-récepteurs combinés), bien que le fabricant déclare simplement «prise en charge», sans aucune note (je suppose que des licences distinctes pour les encodeurs et les décodeurs sont à blâmer) . Dans les appareils les moins chers, vous ne pouvez jamais trouver le support déclaré pour aptX.

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

Comment savoir quels codecs le périphérique prend en charge? En capturant et en analysant le vidage du trafic avec les options de négociation A2DP!
Cela peut être fait sous Linux, macOS et Android. Sous Linux, vous pouvez utiliser Wireshark ou hcidump, dans macOS Bluetooth Explorer peut être utilisé et sous Android, utilisez la fonction de sauvegarde de vidage Bluetooth HCI disponible dans les outils de développement. Vous obtiendrez un vidage au format btsnoop, qui pourrait être ouvert dans l'analyseur Wireshark.
REMARQUE : vous devrez vous connecter du smartphone / ordinateur au casque pour capturer le vidage correct, et non l'inverse (peu importe à quel point cela semble idiot)! Les écouteurs peuvent également établir une connexion avec le smartphone ou le PC, auquel cas ils demanderont une liste de codecs au téléphone et ne divulgueront pas leur propre ensemble de codecs. Pour vous assurer de capturer un vidage correct, dissociez d'abord l'appareil, puis, pendant l'enregistrement du vidage, jumelez le téléphone avec les écouteurs.

Utilisez le filtre d'affichage suivant pour masquer le trafic non pertinent:
btavdtp.signal_id 


En conséquence, vous devriez voir quelque chose de similaire:
Wireshark avec un vidage chargé et un filtre pour afficher la commande A2DP GetCapabilities

En cliquant sur la commande GetCapabilities, vous pouvez obtenir des informations détaillées sur le codec.
Caractéristiques de l'un des éléments sélectionnés. L'ID du codec est visible.

Wireshark ne connaît pas tous les identificateurs de codec, donc certains des codecs devront être déchiffrés manuellement, selon le tableau des identificateurs 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 

Vous pouvez savoir si votre appareil prend en charge EDR 3 Mbps en utilisant le filtre suivant:
 bthci_evt.code==0x0b 

image

Afin de ne pas analyser les vidages manuellement, j'ai fait un service qui analysera tout automatiquement: btcodecs.valdikss.org.ru

Le logiciel Windows Bluetooth Tweaker simple mais utile affiche les codecs pris en charge et actuellement utilisés en plus des autres fonctionnalités.
Les utilisateurs Linux peuvent également utiliser l'utilitaire avinfo du package BlueZ.


Comparaison de codecs. Quel codec est le meilleur?

Chaque codec a ses avantages et ses 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 smartphone ni le fabricant du casque ne peuvent modifier le débit binaire ou les facteurs de codage d'aptX. Qualcomm, le propriétaire du codec, distribue l'encodeur de référence sous forme de bibliothèque aux licenciés. Ces faits sont le point fort d'aptX - vous savez à l'avance quelle qualité de son vous obtiendrez, pas de mais.

SBC, au contraire, a de nombreux paramètres ajustables, un débit dynamique (l'encodeur peut réduire le paramètre bitpool si la radio est encombrée), et n'a pas de profils codés en dur, mais uniquement la "qualité moyenne" et la "haute qualité" recommandées qui ont été ajoutées à la spécification A2DP en 2003. La «haute qualité» n'est plus aussi élevée selon les normes modernes, et la plupart des piles Bluetooth ne permettent pas d'utiliser des paramètres qui sont meilleurs que dans le profil «haute qualité», bien qu'il n'y ait pas de technique limitations pour cela.
Bluetooth SIG ne fournit pas d'encodeur de référence SBC sous la forme d'une bibliothèque et les fabricants l'implémentent eux-mêmes.
Ce sont les faiblesses de SBC - il n'est jamais clair à l'avance quelle qualité sonore doit être attendue d'un appareil particulier. SBC peut produire à la fois une qualité sonore faible et très élevée, mais cette dernière est inaccessible sans désactiver ni contourner les limitations artificielles des piles Bluetooth.

La situation avec AAC est ambiguë: d'une part, théoriquement, le codec devrait produire une qualité qui ne se distingue pas de l'original, mais la pratique, à en juger par les tests du laboratoire SoundGuys sur différents appareils Android, n'est pas confirmée. Très probablement, la faute est sur les encodeurs audio matériels de faible qualité intégrés dans divers chipsets téléphoniques. Il est logique d'utiliser AAC uniquement sur les appareils Apple; avec Android, vous feriez mieux de rester avec aptX / HD et LDAC.

Les appareils qui prennent en charge des codecs alternatifs sont généralement de meilleure qualité, tout simplement parce qu'il n'est pas logique de payer des redevances pour des appareils très bon marché et de faible qualité pour utiliser ces codecs. Selon mes tests, SBC sonne très bien sur du matériel de haute qualité.

J'ai créé un service Web qui encode l'audio en SBC, aptX et aptX HD en temps réel, directement dans votre navigateur. Vous pouvez l'utiliser pour tester ces codecs audio sans réellement transmettre l'audio via Bluetooth, sur les écouteurs filaires, les 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 dans WebAssembly et JavaScript à partir de C via emscripten, pour une exécution dans un navigateur. Qui aurait pu rêver d'un tel avenir!

Voici à quoi ça ressemble:

Remarquez comment le niveau de bruit change après 20 kHz pour différents codecs. Aucune fréquence supérieure à 20 kHz présente dans le fichier MP3 d'origine.

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


Mais je peux entendre la différence entre les codecs dans un casque !

Les personnes qui n'entendent pas la différence entre les codecs lors d'un test via un service Web affirment qu'elles l'entendent lors de l'écoute de musique avec un casque Bluetooth. Malheureusement, ce n'est pas une blague ou un effet placebo: la différence est vraiment audible, mais elle n'est pas causée par une différence de codecs .

La grande majorité des chipsets audio Bluetooth utilisés pour recevoir des appareils sans fil sont équipés d'un processeur de signal numérique (DSP) qui implémente un égaliseur, un compandeur , un prolongateur stéréo et d'autres choses conçues pour améliorer (ou changer) le son. Les fabricants de matériel Bluetooth peuvent configurer le DSP pour chaque codec séparément , et lors du basculement entre les codecs, l'auditeur sentira qu'il peut entendre la différence de performance des codecs alors qu'en réalité il écoute différents paramètres DSP.

Dans l'image: DECODEUR - Egaliseur paramétrique - amélioration stéréo - compander - post mastering - gain de sortie
Pipeline de traitement audio Kalimba DSP dans les SoC CSR / Qualcomm

Dans l'image: les cases à cocher activent différentes fonctions DSP séparément pour chaque codec.
Activation de diverses fonctions DSP pour chaque codec et sortie séparément

Certains appareils du segment premium sont équipés d'un logiciel qui vous permet d'ajuster les paramètres DSP, mais la plupart des écouteurs moins chers n'ont pas cette fonction, et les utilisateurs ne peuvent pas désactiver le post-traitement du son à l'aide d'outils standard.


Caractéristiques fonctionnelles des appareils

La version actuelle de la norme A2DP a une fonction de contrôle du volume absolu permettant de contrôler le gain de sortie avec des commandes spéciales en utilisant le protocole AVRCP, au lieu de réduire par programme le volume du flux audio lui-même. Si vous modifiez le volume du casque et que le changement n'est pas synchronisé avec le volume du téléphone, cela signifie que votre casque ou votre téléphone ne prend pas en charge cette fonction. Dans ce cas, il est logique de toujours écouter de la musique au volume maximum sur le téléphone, en ajustant le volume réel avec les boutons du casque - le rapport signal / bruit sera meilleur et la qualité audio devrait être plus élevée.
En réalité, il y a des situations tristes. Par RealForce OverDrive D1, les écouteurs utilisent un compandeur puissant pour SBC et une augmentation de volume entraîne une augmentation du niveau des sons faibles, et le volume des sons forts ne change pas (la compression du signal se produit). Pour cette raison, il est nécessaire de régler le volume sur l'ordinateur à environ la moitié, dans ce cas il n'y a pratiquement aucun effet de compression.
Selon mes observations, tous les écouteurs avec codecs supplémentaires prennent en charge la fonction de contrôle du volume absolu, ce qui est probablement l'une des exigences pour la certification des codecs.

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

La fonction AVDTP 1.3 Delay Reporting permet aux écouteurs de signaler un retard à un appareil émetteur qui joue réellement le son. Cela permet d'ajuster la synchronisation de l'audio avec la vidéo tout en regardant des fichiers vidéo: si la congestion radio se produit, l'audio ne sera pas en retard sur la vidéo, mais au contraire, la vidéo sera ralentie par le lecteur vidéo jusqu'à ce que l'audio et la vidéo soient synchronisé à nouveau.
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 dans d'autres systèmes d'exploitation.


Communication duplex via Bluetooth. Transmisson vocal.

Synchronous Connection Oriented (SCO) et sa version améliorée Enhanced Synchronous Connection Oriented (eSCO) sont les modes utilisés pour la transmission vocale Bluetooth. Le mode vous permet de transmettre le son et la voix strictement dans l'ordre, avec une vitesse symétrique d'envoi et de réception, sans attendre la confirmation de la transmission et la réexpédition des paquets. Cela réduit le délai global de transmission de l'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é de l'audio.
Lorsque ce mode est utilisé, la voix du microphone et l'audio sont transmis au casque avec la même qualité.
Le transfert des données lui-même est normalisé par le profil HSP, qui décrit également des fonctions supplémentaires, telles que le fonctionnement des boutons de contrôle du volume, le décrochage du combiné et le raccrochage.
Malheureusement, à partir de 2019, la qualité de la transmission vocale via Bluetooth est encore médiocre, et on ne sait pas pourquoi Bluetooth SIG ne fait rien à ce sujet.

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

Un exemple d'enregistrement dans ce codec .

mSBC
Un codec mSBC supplémentaire a été normalisé en 2009, et en 2010, des puces l'utilisaient déjà pour la transmission vocale. mSBC est largement pris en charge par divers appareils.
Ce n'est pas un codec autonome, mais le SBC habituel de la norme A2DP, avec un profil de codage fixe: 16 kHz, mono, bitpool 26.

Un exemple d'enregistrement dans ce codec .

Pas génial, mais bien meilleur que CVSD, bien qu'il soit toujours désagréable de l'utiliser pour communiquer via Internet, surtout lorsque vous utilisez des écouteurs pour communiquer dans le jeu - le son du jeu sera également transmis à une fréquence d'échantillonnage de 16 kHz .

Faststream
CSR a décidé de développer l'idée de réutiliser SBC. Pour contourner les limites du protocole SCO et utiliser des débits binaires plus élevés, CSR est allé dans l'autre sens - ils ont ajouté la prise en charge de l'audio SBC bidirectionnel dans la norme A2DP de transmission audio unidirectionnelle, et l'ont appelé «FastStream».

FastStream transmet un son stéréo de 44,1 ou 48 kHz aux haut-parleurs avec un débit binaire de 212 kbps. 16 kHz avec un débit binaire de 72 kbps (légèrement meilleur que celui du mSBC) est utilisé pour transmettre l'audio à partir d'un microphone. De tels paramètres sont beaucoup mieux adaptés à la communication dans les jeux en ligne - le son du jeu et les coéquipiers seront de haute qualité.

Un exemple d'enregistrement dans ce codec (+ audio du micro, le même que dans mSBC ).

La société a trouvé un hack intéressant, mais en raison du fait qu'il contredit la norme A2DP, seuls certains émetteurs de la société le prennent en charge (qui fonctionnent comme une carte audio USB et non comme un appareil Bluetooth), mais il n'a pas reçu prise en charge dans la pile Bluetooth. Le nombre d'écouteurs avec prise en charge FastStream n'est cependant pas si petit.

Pour le moment, le support FastStream n'est disponible que sous la forme d'un patch pour Linux PulseAudio de Pali Rohár, qui n'est pas inclus dans la branche principale du programme.

aptX Low Latency
À la grande surprise, aptX Low Latency prend également en charge l'audio bidirectionnel, implémentant le même principe que FastStream.
Il n'y a aucun moyen d'utiliser cette fonctionnalité du codec n'importe où - il n'y a pas de support pour le décodage à faible latence dans aucun système d'exploitation et dans aucune pile Bluetooth que je connaisse.


Bluetooth 5, Classic et Low Energy

Il y a beaucoup de confusion autour des spécifications et des versions de Bluetooth en raison de la présence de deux normes incompatibles sous une même marque, qui sont 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 appelé Bluetooth Smart). Il existe également un troisième protocole, Bluetooth High Speed, mais il n'est pas courant et n'est pas utilisé dans les appareils ménagers.

À partir de Bluetooth 4.0, les changements dans les spécifications se sont concentrés principalement sur Bluetooth Low Energy, tandis que la version classique 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 version Bluetooth Core Specification 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 # 2
9.1.1 Fonctionnalités ajoutées dans CSA5 - Intégrées dans v5.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 les spécifications de Bluetooth 5: la prise en charge de la technologie Slot Availability Mask (SAM), conçue pour améliorer le partage des fréquences radio. Toutes les autres modifications affectent uniquement Bluetooth LE (il en va de même pour une puissance de sortie supérieure).

Tous les appareils audio utilisent uniquement Bluetooth Classic. Les écouteurs et les haut-parleurs ne peuvent pas être connectés via Bluetooth Low Energy. Il n'y a pas de norme pour la transmission audio à l'aide de LE. La norme A2DP, utilisée pour transmettre un son de haute qualité, ne fonctionne que via Bluetooth Classic, et il n'y a pas d'équivalent dans LE.

Pour résumer: 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 dans le contexte de la transmission audio fonctionnera de la même manière.
Si l'annonce du nouveau casque mentionne un rayon doublé et une consommation d'énergie réduite grâce au Bluetooth 5, alors sachez qu'ils ne se comprennent pas ou vous induisent en erreur. Pas étonnant, même les fabricants de puces Bluetooth confondent la différence entre les deux normes, et certaines puces Bluetooth 5 ne prennent en charge la cinquième version que pour LE et utilisent 4.2 pour Classic.

Latence de transmission audio

La quantité de latence (décalage) dans l'audio dépend de nombreux facteurs: la taille du tampon dans la bibliothèque audio, dans la pile Bluetooth et dans le périphérique de lecture lui-même, le retard algorithmique du codec.

Le retard des codecs simples, comme SBC, aptX et aptX HD est assez petit, environ 3-6 ms, ce qui peut être négligé, mais des codecs complexes, tels que AAC et LDAC peuvent donner un retard notable. Le retard algorithmique AAC pour 44,1 kHz est de 60 ms. LDAC - environ 30 ms (par une analyse grossière du code source. Je peux me tromper, mais pas beaucoup.)

Le retard total dépend fortement du périphérique de lecture, de son chipset et de sa mémoire tampon. Pendant les tests, j'ai obtenu un écart de 150 à 250 ms sur différents appareils (avec le codec SBC). Si nous supposons que les périphériques prenant en charge les codecs supplémentaires aptX, AAC et LDAC utilisent des composants de meilleure qualité et une petite taille de mémoire tampon, nous obtenons les valeurs de latence typiques suivantes:

SBC: 150-250 ms
aptX: 130-180 ms
AAC: 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 un délai inférieur ne peut être obtenu qu'avec un ensemble émetteur + récepteur ou émetteur + casque / haut-parleur, et tous les appareils doivent prendre en charge ce codec.


Les problèmes de certifications, logos et appareils

Comment distinguer un appareil audio de haute qualité de l'artisanat bon marché? Par l'apparence, en premier lieu!

Les écouteurs, haut-parleurs et récepteurs chinois bon marché ont:
  1. Aucun mot «Bluetooth» sur la boîte et l'appareil, le plus souvent remplacé par «Sans fil» et «BT»
  2. Pas de logo Bluetooth Logo Bluetooth sur boîte ou appareil
  3. Pas de LED bleue clignotante

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

Examinons plusieurs appareils et boîtes:






Ce sont tous des appareils non certifiés. Les instructions peuvent avoir le logo et le nom "Bluetooth", mais le plus important - ces éléments doivent être présents sur l'appareil ou la boîte elle-même.

Si vos écouteurs ou haut-parleurs disent "Ze bluetooth dewise est connecté avec succès", cela ne dit pas non plus que la qualité est bonne:



Conclusion

Le Bluetooth peut-il remplacer complètement les écouteurs et les casques filaires? Probablement, mais au prix d'une voix de faible qualité, d'une latence accrue dans la transmission du son, ce qui peut être gênant 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.

La commercialisation de codecs alternatifs est très forte: aptX et LDAC sont présentés comme un remplacement tant attendu du SBC «obsolète et mauvais», qui est loin d'être aussi mauvais qu'on le pense généralement.

Il s'est avéré que les limitations artificielles des piles Bluetooth sur SBC peuvent être contournées, de sorte que le SBC sera à égalité avec aptX HD. J'ai pris l'initiative et fait un patch pour le firmware LineageOS: Modification de la pile Bluetooth pour améliorer le son des écouteurs sans codecs AAC, aptX et LDAC

Vous trouverez plus d'informations sur les codecs sur les sites Web SoundGuys et SoundExpert .

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 de Bluetooth, mais il n'est désormais disponible que pour ceux qui ont rejoint Bluetooth SIG.

Source: https://habr.com/ru/post/fr456182/


All Articles