Meilleure annulation de l'écho natif

Nous continuons à partir du test précédent et dans Chrome Dans M68, nous avons ajouté une contrainte MediaStreamTrack expérimentale pour contrôler l'annulation d'écho utilisé, ajout de la prise en charge d'un annulateur d'écho natif sur Windows et amélioré les fonctionnalités de l'annulant d'écho natif sur macOS Comme auparavant, tout cela nécessite une phase d'évaluation. Vous devrez donc vous inscrire, ou démarrez Chrome avec un indicateur de ligne de commande, si vous souhaitez l'essayer. Pour plus voir ci-dessous.

Nouveautés

Tout d'abord, il est possible de contrôler l'annulant d'écho utilisé utilisée en incluant une nouvelle contrainte dans vos appels getUserMedia, par exemple:

echoCancellationType: type

type peut être l'une des valeurs suivantes:

  • browser pour utiliser l'implémentation logicielle fournie par le navigateur ; ou
  • system pour utiliser l'implémentation fournie par l'API du système d'exploitation. Actuellement, il s'agit de l'une des implémentations sous macOS et Windows.

Si vous ne spécifiez pas de contrainte, Chrome sélectionnera l'annulant d'écho comme celui-ci a toujours: si l'annulation de l'écho matériel a lieu, elle sera utilisée, sinon L'annulation de l'écho du logiciel de Chrome fonctionne. Sans spécifier la contrainte, Chrome n'aura jamais choisi l'un des deux annulants d'écho expérimentaux cet essai.

Comme echoCancellationType fonctionne comme n'importe quelle autre contrainte, il est possible de spécifier system comme valeur idéale et demander à Chrome de l'utiliser si elle est disponible ; ou à la valeur browser dans le cas contraire. La valeur echoCancellationType browser est toujours disponible dans Chrome. Pour savoir quel dispositif d'annulation d'écho a été choisi, Vous pouvez appeler getSettings() sur la piste audio getUserMedia et vérifier la valeur de le champ echoCancellationType.

Enfin, vous pouvez vérifier quels annulants d'écho sont disponibles pour MediaStreamTrack en appelant getCapabilities(). Toutefois, echoCancellationType n'est pas encore implémenté pour InputDeviceInfo.

Assistance pour l'annulation de l'écho Windows

Nous avons étendu la prise en charge native de l'annulant d'écho afin d'inclure Windows en utilisant le DSP de capture vocale . Comme pour l’annulation d’écho de macOS, nous voulons évaluer son et de déterminer s'il est plus performant que nos solution logicielle, si seulement pour être placé plus près du matériel audio. Contrairement à macOS, nos premiers tests sur Windows prometteurs. Nous continuerons d'ajuster l'implémentation pour voir si nous pouvons l'obtenir. pour être plus efficace. Pour l'instant, mieux vaut éviter de tester les Annulateur d'écho Windows à plus grande échelle. Essayez dans des environnements contrôlés, comme sur votre machine locale, mais ne vous attendez pas à ce qu'elle fonctionne parfaitement !

Amélioration de la prise en charge de l'annulation de l'écho macOS améliorée

Lors de l'expérience précédente, l'implémentation de macOS n'était pas en mesure de pour savoir correctement quel périphérique de sortie était utilisé. Cela signifiait qu'il serait impossible d'annuler l'écho depuis un appareil autre que celui par défaut de l'ordinateur appareil. Dans de nombreux cas, cela n’a peut-être pas été un problème, puisque macOS peut bascule automatiquement de périphérique par défaut lorsque des casques, etc. sont branchés ou débranchée. Cependant, il ne fonctionnerait pas correctement dans tous les cas.

Cette fonctionnalité a été ajoutée à Chrome M68 et est implémentée à la fois pour Annulateur d'écho macOS et Windows. L'annulation de l'écho du logiciel de Chrome affectés par ce manque de fonctionnalité, car il utilise un bouclage interne pour obtenir pour annuler la lecture.

Activer le test

Pour appliquer ce nouveau comportement sur votre site, vous devez vous inscrire à l'option "Expérimental support pour les campagnes AEC natives" Origin Trial (Phase d'évaluation). Si vous voulez l'essayer en local, test peut être activé sur la ligne de commande:

chrome --enable-blink-features=ExperimentalHardwareEchoCancellation

La transmission de cette option sur la ligne de commande crée le nouveau echoCancellationType. est disponible dans le monde entier dans Chrome pour la session en cours. Utilisation vous pouvez tester les annulateurs d'écho natifs dans votre application, décrites ci-dessus. Il s'agit de la même option de ligne de commande que dans l'essai précédent : sur Chrome M68 activera la nouvelle fonctionnalité. Activer la nouvelle phase d'évaluation active uniquement la nouvelle fonctionnalité, et non la précédente dans les anciennes versions de Chrome.

Envoyer des commentaires

Comme pour le test précédent, nous nous intéressons aux performances qualitatives des annulants d’écho macOS et Windows ; principalement les premiers. Nous voudrions également comme les commentaires sur le fonctionnement de la nouvelle contrainte echoCancellationType dans de la pratique, de sa facilité d'utilisation, etc. Cela inclut son inclusion dans getSettings et getCapabilities.

Nous nous intéressons également à la manière dont Chrome interagit avec d'autres applications lors de l'utilisation ces annulateurs d'écho natifs, ainsi que les problèmes de stabilité ou autres lors de l'implémentation.

Si vous essayez ceci, veuillez nous faire part de vos commentaires dans ce bug. Si possible, indiquez le matériel utilisé (version du système d'exploitation, modèle du matériel, (un micro, un casque, etc.). Si vous effectuez des tests à plus grande échelle, renvoie vers vous apprécierez les statistiques comparatives sur la qualité des appels audio. si objectif subjectives ou subjectives.