Microsoft Teams abandonne la soie pour le satin.



Décidément ça bouge encore et encore sur Microsoft Teams ! Cette fois ci les équipes internes ont travaillé sur l’optimisation du codec audio pour contrer spécifiquement, les pertes de paquets en rafale et les échanges VOIP sur des réseaux aux bandes passantes limitées. Après la Soie (Codec Silk utilisé par Skype), vous apprécierez surement le Satin , ce nouveau codec basé sur des composants d’intelligence artificielle.

On devrait donc de mieux en mieux s’entendre sur des réseaux a faible bande passante qui malheureusement sont encore légions. Je vous laisse découvrir l’article traduit en Français issue du blog Microsoft.


 

Article original : https://techcommunity.microsoft.com/t5/microsoft-teams-blog/satin-microsoft-s-latest-ai-powered-audio-codec-for-real-time/ba-p/2141382

 

Il y a plus de dix ans, Skype a inventé le codec audio Silk pour transmettre la parole sur Internet et a catalysé l’industrie de la voix sur IP (VoIP). Le principal codec utilisé pour la VoIP était alors le G.722, qui nécessitait 64 kbps pour transmettre la voix sur une large bande (16 kHz), tandis que le Silk offrait une qualité large bande à partir de 14 kbps seulement. En outre, Silk était un codec adaptatif à débit variable qui passait de manière transparente de la transmission de la parole en bande étroite (8 kHz) à une bande passante ultra-basse de 6 kbps à une qualité de parole presque transparente à des débits plus élevés. Cette caractéristique était essentielle pour l’accès par ligne commutée et l’Internet à large bande limité disponible à l’époque et nous a bien servi de codec par défaut pour Skype et Microsoft Teams. Silk est également à la base du mode vocal dans le codec Opus, l’un des codecs WebRTC par défaut.

Alors que nous entrons dans une nouvelle décennie, les utilisateurs peuvent désormais choisir parmi plusieurs alternatives de connectivité haut de gamme telles que le haut débit, la fibre optique et la 5G. Cependant, de larges segments de la base d’utilisateurs de Microsoft sont encore limités aux faibles vitesses de l’internet par câble ou aux réseaux cellulaires 3G et 4G plus lents. Ils sont souvent confrontés à des situations de perte de paquets de plus de 50 % et de perte sporadique de couverture lorsqu’ils se déplacent entre les tours de téléphonie cellulaire, font la navette ou passent d’un type de réseau à un autre. La disponibilité du réseau peut même être imprévisible à leur domicile, où beaucoup partagent la bande passante avec d’autres personnes qui travaillent et apprennent à distance. Après toutes ces années, il s’avère que l’utilisation du débit binaire disponible est tout aussi importante aujourd’hui qu’elle l’était dans le monde de l’accès par ligne commutée. Toute économie de débit peut être utilisée pour renforcer la résilience et améliorer l’expérience sur d’autres charges de travail comme la vidéo moderne ou le partage de contenu.

Notre défi est de fournir une expérience vocale virtuelle aussi bonne que de parler en personne, même sur une très faible bande passante et dans des conditions de réseau très contraignantes. Pour vraiment servir nos clients, nous savons qu’ils doivent pouvoir communiquer et collaborer en déplacement, sur tous les types d’appareils, sur n’importe quel réseau, dans tous les environnements.

C’est pourquoi nous sommes heureux de vous présenter les détails de notre nouveau codec audio alimenté par l’IA, baptisé Satin. Satin peut fournir des signaux vocaux à très large bande à partir d’un débit de 6 kbps, et de la musique stéréo à partir d’un débit de 17 kbps, avec une qualité de plus en plus élevée à des débits supérieurs. Satin a été conçu pour fournir une grande qualité audio même en cas de perte de paquets importante. De plus, sa grande qualité à faible débit nous permet d’utiliser une plus grande partie de la bande passante disponible pour offrir une meilleure résilience à la perte de paquets. Nous avons récemment amélioré nos algorithmes de redondance afin d’offrir une meilleure protection en cas de perte par rafales. Voici l’effet net de nos algorithmes de résilience améliorés et du nouveau codec Satin (veuillez utiliser votre casque préféré pour entendre les deux fichiers audio).

Silk à 6 kbps, perte de paquets en rafale (6 kbps supplémentaires pour la redondance) :

Satin à 6 kbps, perte de paquets en rafale, algorithme de redondance amélioré (6 kbps supplémentaires pour la redondance) :


Notre équipe a construit ce nouveau codec en combinant des décennies d’expérience algorithmique et des techniques avancées d’apprentissage machine. Plongeons plus profondément dans le fonctionnement de Satin.

Qu’est-ce que la voix à bande étroite, à large bande et super large bande ?

Notre oreille peut généralement percevoir des sons dont la fréquence varie entre 20 Hz et 20 kHz. Lorsqu’il s’agit de signaux temporels discrets, nous devons échantillonner la forme d’onde audio à un minimum de deux fois la fréquence la plus élevée que nous souhaitons reproduire. C’est pourquoi la musique de qualité CD est généralement échantillonnée à 44,1 kHz (44100 échantillons par seconde) ou 48 kHz. Les premiers systèmes de téléphonie utilisaient un taux d’échantillonnage de 8 kHz et pouvaient reproduire des fréquences jusqu’à 4 kHz (en pratique jusqu’à 3,4 kHz), ce qui était considéré à l’époque comme suffisant pour la communication vocale. Alors qu’un taux d’échantillonnage plus faible implique moins de bits par seconde à transmettre sur le fil, il en résultait une qualité de voix trop basique au téléphone, car les fréquences vocales plus élevées présentes dans la parole naturelle ne pouvaient pas être reproduites. Les solutions VoIP, qui n’étaient plus limitées par l’infrastructure téléphonique à bande étroite, nous ont fait découvrir la magie de la parole à large bande (reproduction jusqu’à 8 kHz, échantillonnée à 16 kHz) et les utilisateurs ont pu immédiatement apprécier le son plus net, plus naturel et plus intelligible.

Silk a franchi une étape supplémentaire avec l’introduction de la voix super large bande, capturant des fréquences jusqu’à 12 kHz, échantillonnées à 24 kHz (l’énergie diminue rapidement aux fréquences supérieures à 12 kHz pour la voix humaine). Comme mentionné précédemment, des taux d’échantillonnage plus élevés impliquent un débit binaire plus élevé.

Satin redéfinit la super large bande pour couvrir des fréquences allant jusqu’à 16 kHz (échantillonnées à 32 kHz) pour une plus grande clarté et une meilleure sibilance, et sa compression efficace permet de capturer la voix en super large bande à 6 kbps.


Frequency components of the sound /t/ in the word « suit. » Une quantité importante d’énergie est présente bien au-delà de la limite de 4 kHz en bande étroite et même de 8 kHz en bande large. En préservant l’énergie dans les composantes spectrales supérieures, on obtient un son plus naturel.

Écoutez ces deux exemples ci-dessous dans vos écouteurs. L’échantillon de parole à bande super large Satin sonne beaucoup plus naturel et intelligible, un peu comme ce que vous entendez lorsque vous parlez à quelqu’un en personne.

Bande étroite Silk à 6 kbps :

Satin super large bande à 6 kbps :


Comment obtenir une super large bande à 6 kbps ?

Pour obtenir une qualité super large bande à 6 kbps, Satin utilise une connaissance approfondie de la production de la parole, de la modélisation et de la psychoacoustique pour extraire et coder une représentation clairsemée du signal. Pour réduire davantage le débit binaire requis, Satin ne code et ne transmet que certains paramètres dans les bandes de fréquences inférieures. Au niveau du décodeur, Satin utilise des réseaux neuronaux profonds pour estimer les paramètres de la bande haute à partir des paramètres de la bande basse reçus, et une quantité minimale d’informations secondaires envoyées sur le fil.

Si cette approche a permis de résoudre le problème principal de la reproduction de la voix en bande super large à des débits binaires très faibles, elle a introduit un nouveau défi de complexité informatique. L’analyse du signal vocal d’entrée pour en extraire une représentation à faible dimension est un travail de calcul intensif. L’inférence en temps réel sur des réseaux neuronaux profonds ajoute encore plus de complexité. Pour résoudre ce problème, l’équipe s’est ensuite concentrée sur des optimisations algorithmiques ainsi que sur des techniques comme la vectorisation en boucle au-delà de ce que le compilateur pouvait réaliser. Cela a permis de réduire de près de 40 % la complexité de calcul et de fonctionner sur tous les appareils de nos utilisateurs.


Comme pour toutes les nouvelles fonctionnalités, nous avons testé Satin A/B avant de le déployer à grande échelle, à la fois pour nous assurer qu’il n’y avait pas de régression et pour quantifier l’impact positif pour nos utilisateurs. Les tests A/B ont montré une augmentation statistiquement significative de la durée d’appel pour Satin par rapport à Silk à ces faibles débits. Hors ligne, des tests subjectifs réalisés par des experts pour évaluer la qualité du codec à 6 kbps ont montré que le score d’opinion moyen (MOS) de Satin était de 1,7 MOS supérieur à celui de Silk.

Quelle est la résistance de Satin à la perte de paquets ?

La majorité des appels sont passés sur des réseaux Wi-Fi et mobiles, où la perte de paquets est courante et peut nuire à la qualité des appels. Le satin est particulièrement bien placé pour compenser ce problème. Contrairement à la plupart des autres codecs vocaux, le Satin encode chaque paquet indépendamment, de sorte que la perte d’un paquet n’affecte pas la qualité des paquets suivants. Le codec est également conçu pour faciliter la dissimulation des pertes de paquets de haute qualité dans un domaine paramétrique interne. Ces caractéristiques aident Satin à gérer de manière transparente les pertes aléatoires lorsqu’un ou deux paquets sont perdus à la fois.

Un autre type de perte de paquets, qui est encore plus préjudiciable à la qualité perçue, se produit lorsque plusieurs paquets sont perdus dans une rafale. Dans ce cas, la capacité de Satin à fournir un son de qualité à un faible débit de 6 kbps permet d’utiliser une partie du débit disponible pour ajouter de la redondance et de transmettre la correction d’erreur afin de se remettre rapidement de ces situations. Satin fait cela sans compromettre la qualité audio globale.

Satin est déjà utilisé par Teams et les appels bipartites sur Skype et sera bientôt déployé pour les réunions des équipes. Il fonctionne actuellement en mode vocal large bande dans une plage de débit de 6 à 36 kbps et sera étendu pour prendre en charge la musique stéréo pleine bande à une fréquence d’échantillonnage maximale de 48 kHz dans un avenir proche. Nous sommes très heureux que vous essayiez ce nouveau codec et que vous nous fassiez part de vos commentaires.


 

Votre commentaire

Choisissez une méthode de connexion pour poster votre commentaire:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s