Apple améliore (encore) le son de la voix en Bluetooth

La marque en avait parlé dans le communiqué de presse de lancement, les AirPods 3 prennent en charge un nouveau codec pour la voix. Et visiblement, les AirPods Pro (et probablement le casque Max) ont eu une mise à jour pour gérer ça (ou alors c’était présent mais pas utilisé).

La gestion de la voix est particulière en Bluetooth : on passe par un profil dédié (pour faire simple, c’est la partie logicielle standardisée) qui offre une bande passante de 64 kilobits/s dans les deux sens. Le code de base, qui date du début des années 2000, est le CVSD (Continuously Variable Slope Delta modulation). C’est de l’ADPCM avec une fréquence d’échantillonnage de 8 kHz. Plus clairement, ça encode les fréquences entre 200 et 3 400 Hz avec une quantification sur 1 bits (mais en ADPCM). C’est clairement très mauvais, mais suffisant pour la voix (et l’équivalent de ce qu’une communication GSM propose).

Au début des années 2010, un codec a été ajouté : le mSBC. C’est en gros le codec standard du Bluetooth adapté à la voix. On garde la même bande passante (64 kb/s) et on compresse donc assez fort. C’est du mono, avec une fréquence d’échantillonnage de 16 kHz (plus exactement, ça encode entre 100 et 7 000 Hz) sur 16 bits. C’est de la compression classique (donc avec pertes) mais on ouvre quand même largement la scène (et ce n’est pas du langage d’audiophile). La différence est vraiment audible, et c’est le codec utilisé sur les premiers AirPods par exemple. Avec une communication classique, ça a peu d’intérêt, mais les opérateurs proposent de la voix « HD » depuis un moment (en gros, l’équivalent de ce que propose le mSBC). Si vous voulez un exemple, faites un appel audio avec FaceTime par exemple, puis avec une communication classique.

Maintenant, l’AAC-ELD (pour Enhanced Low Delay). C’est disponible pour les AirPods 3, visiblement aussi les Pro (et probablement le Max). Mes AirPods (1) ne gèrent pas ça, par contre (ni le Beats Solo Pro). On reste sur le profil HFP (Hands-Free Profile) avec une bande passante de 64 kb/s, donc. Mais la compression AAC est plus efficace que le SBC, et on passe donc à une fréquence d’échantillonnage de 24 kHz (je ne connais pas les valeurs exactes sur les fréquences) en mono dans les deux sens. C’est donc (un peu) meilleur que le mSBC. Pour vérifier si votre périphérique supporte ça, il faut lancer la Console de macOS et filtrer sur mSBC ou AAC, vous aurez quelques lignes qui indiquent ce qui est supporté. Visiblement, il est possible de faire du stéréo en AAC-ELD, mais les AirPods 3 ne supportent pas ça.

Sur les AirPods (1) : pas d’AAC-ELD, ça passe en mSBC


Sur les AirPods 3, ça passe en AAC-ELD


Il n’y a que le mono de supporté

La solution d’Apple est propriétaire, mais c’est prévu par la norme : un appareil Bluetooth doit supporter les codecs du standard (donc le CVSD en profil HFP), peut supporter les codecs optionnels (mSBC ici) et peut aussi prendre en charge des codecs propriétaires (qui ne font pas partie de la norme). Pour Apple, c’est l’AAC-ELD ici, mais Qualcomm propose un équivalent avec l’aptX Voice, qui monte à 32 kHz.

Dans tous les cas, les codecs qui améliorent la voix sont pratiques pour des enregistrements directs mais ne font pas de miracles sur les communications. Le résultat va dépendre de la liaison elle-même. Pour une communication « 2G » basique ou même pour la voix améliorée (en VoLTE par exemple), le mSBC suffit amplement. L’AAC-ELD apporte un peu de gain avec FaceTime (je suppose) et les solutions qui transmettent de l’audio sans trop filtrer au départ, et c’est déjà ça.

A noter quand même qu’il faut probablement macOS Monterey (je n’ai pas de Mac sous Big Sur pour tester) et iOS 15 pour que ça fonctionne (en gros, les OS recommandés pour les AirPods). Avec d’anciens OS ou des appareils Android, ça passe probablement en mSBC pour la voix (et peut-être en CVSD).