Désactiver la suppression du bruit matériel

Dans Chrome 64, nous testons un nouveau comportement pour les flux audio getUserMedia pour lesquels la contrainte echoCancellation est activée. La nouveauté est que ces flux désactivent temporairement la suppression du bruit matériel pendant la durée du flux. Nous pensons que cela améliorera les performances de la suppression de l'écho. Comme cette fonctionnalité est expérimentale, elle doit être activée explicitement (voir ci-dessous).

Pour le moment, ce comportement n'est compatible qu'avec certains périphériques d'entrée et uniquement sur macOS. La compatibilité est limitée aux appareils qui disposent de la fonctionnalité "Réduction du bruit ambiant" dans le panneau Son des Préférences système.

Contexte

Un dispositif d'annulation de l'écho tente de supprimer tout son diffusé sur les haut-parleurs du signal audio capté par le micro. Sinon, ce que vous dites en tant que participant à un appel sera capté par le micro des autres participants, puis renvoyé vers vous. Vous entendrez votre propre voix.

Pour réussir à supprimer l'écho, le dispositif d'annulation de l'écho de WebRTC (utilisé dans Chrome) doit obtenir un signal audio aussi propre que possible du micro. Le traitement appliqué avant que l'audio n'atteigne le suppresseur d'écho, comme la suppression du bruit matérielle, entrave généralement ses performances. De plus, une suppression du bruit logiciel est déjà en place, mais uniquement après le traitement de la suppression de l'écho.

Détails du nouveau comportement

Les développeurs Web peuvent activer le nouveau comportement sur leurs sites en activant un essai d'origine. Les utilisateurs finaux peuvent l'activer globalement en transmettant un indicateur de ligne de commande au démarrage de Chrome. Pour en savoir plus, cliquez ici.

Lorsque cette option est activée et qu'une page Web appelle getUserMedia pour obtenir de l'audio à partir d'un périphérique d'entrée, les opérations suivantes sont effectuées:

  • Si la contrainte echoCancellation est activée, la suppression du bruit matériel est désactivée pendant toute la durée du nouveau flux audio créé.

  • Étant donné que ce paramètre s'applique à l'ensemble du système, il s'applique à tous les flux d'entrée audio provenant du même appareil (c'est-à-dire du même micro).

  • Une fois que le dernier flux qui souhaite désactiver la suppression du bruit matériel se ferme, la suppression du bruit matériel est réactivée.

  • Si la suppression du bruit matériel était déjà désactivée, Chrome ne modifiera pas son état.

  • Si getUserMedia est appelé sans echoCancellation activé, Chrome ne touchera pas à la suppression du bruit matériel.

Comme ce paramètre peut également être contrôlé par l'utilisateur, certaines interactions spécifiques sont possibles:

  • Si Chrome a désactivé la suppression du bruit matériel et que l'utilisateur l'active à nouveau, Chrome ne tentera pas de la désactiver à nouveau pour ce flux.

  • Si Chrome a désactivé la suppression du bruit matériel et que l'utilisateur l'active à nouveau, puis la désactive, Chrome la réactivera une fois la diffusion terminée.

Pour que ce comportement soit appliqué, il vous suffit d'activer le test. Aucune modification de l'API n'est nécessaire.

Activer le test

Pour bénéficier de ce nouveau comportement sur votre site, vous devez vous inscrire à la version d'essai Origin "Désactiver la suppression du bruit matériel". Si vous souhaitez simplement l'essayer localement, vous pouvez également l'activer sur la ligne de commande:

chrome --enable-blink-features=DisableHardwareNoiseSuppression

Transmettre cet indicateur sur la ligne de commande active la fonctionnalité de manière globale pour la session en cours.

Nous souhaitons évaluer plusieurs aspects avec ce test:

  • Différences qualitatives, sur le terrain, entre l'activation et la désactivation de la suppression du bruit matériel.

  • Quel est l'impact de la modification de ce paramètre dans Chrome sur l'utilisateur final et les autres logiciels qu'il peut exécuter ?

Nous aimerions connaître votre avis sur ces deux aspects. Les appels sont-ils meilleurs ou pires lorsque cette fonctionnalité est activée ? L'implémentation présente-t-elle des problèmes qui entraînent des comportements inattendus ? Dans tous les cas, si vous essayez cette méthode, veuillez nous envoyer vos commentaires sur ce bug. Si possible, indiquez le micro / casque / etc. utilisé et s'il est compatible avec la réduction du bruit ambiant. Si vous effectuez des tests à plus grande échelle, nous vous invitons à nous fournir des liens vers des statistiques comparatives sur la qualité des appels audio.