Windows 10 : Nouveautés pour les pilotes audio
Cette rubrique offre un résumé de haut niveau des nouveautés audio pour Windows 10.
Résumé des fonctionnalités
Voici les nouvelles fonctionnalités audio de Windows 10 :
Améliorations de l’audio à faible latence
La latence audio est le délai entre le moment où le son est créé et celui où il est entendu. Une faible latence audio est très importante pour plusieurs scénarios clés, tels que les suivants :
- Audio professionnel
- Création et mixage de musique
- Communications comme Skype
- Réalité virtuelle et augmentée
- Jeux
La latence totale d’un appareil est la somme des latences des composants suivants :
- Système d'exploitation
- Objets de traitement audio (APO)
- Pilote audio
- Matériel audio
Dans Windows 10, des travaux ont été effectués pour réduire la latence dans le système d’exploitation. Sans aucun changement de pilote, les applications sous Windows 10 connaîtront une latence inférieure de 4,5 à 16 ms. De plus, si le pilote a été mis à jour pour tirer parti des nouvelles interfaces de pilotes de périphériques (DDI) à faible latence qui utilisent de petits tampons pour traiter les données audio, alors la latence sera encore réduite. Si un pilote prend en charge des tampons audio de 3 ms, alors la latence aller-retour est d’environ 10 ms.
La pile audio prend en charge plusieurs tailles de paquets et le redimensionnement dynamique des paquets, afin d’optimiser le compromis entre la latence et la consommation d’énergie en fonction du scénario utilisateur. De plus, les flux seront priorisés, afin de garantir que les flux à haute priorité (par exemple, les appels téléphoniques) disposent de ressources dédiées.
Pour que les pilotes audio prennent en charge la faible latence, Windows 10 propose les 3 nouvelles fonctionnalités suivantes :
- [Obligatoire] Déclarer la taille minimale du tampon prise en charge dans chaque mode.
- [Facultatif, mais recommandé] Améliorer la coordination du flux de données entre le pilote et le système d’exploitation.
- [Facultatif, mais recommandé] Enregistrer les ressources du pilote (interruptions, threads), afin qu’elles puissent être protégées par le système d’exploitation dans des scénarios de faible latence. Pour plus d’informations, veuillez consulter la section Audio à faible latence.
Modes de traitement du signal et catégories audio
Modes de traitement du signal
Les pilotes déclarent les modes de traitement du signal audio pris en charge pour chaque appareil.
Les catégories audio (sélectionnées par les applications) sont mappées aux modes audio (définis par les pilotes). Windows définit sept modes de traitement du signal audio. Les OEM et les IHV peuvent déterminer les modes qu’ils souhaitent implémenter. Les modes sont résumés dans le tableau ci-dessous.
Mode | Afficher/Capture | Description |
---|---|---|
Brut | Les deux | Le mode brut spécifie qu’aucun traitement du signal ne doit être appliqué au flux. Une application peut demander un flux brut complètement non traité et effectuer son propre traitement du signal. |
Par défaut | Les deux | Ce mode définit le traitement audio par défaut. |
- Films* | Rendu | Lecture audio de films |
Média* | Les deux | Lecture audio de musique (par défaut pour la plupart des flux multimédias) |
Speech* | Capture | Capture de la voix humaine (par exemple, entrée pour Cortana) |
Communications* | Les deux | Rendu et capture VOIP (par exemple, Skype, Lync) |
Notifications | Rendu | Sonneries, alarmes, alertes, etc. |
Les pilotes de périphériques audio doivent prendre en charge au moins le mode brut ou par défaut. La prise en charge de modes supplémentaires est optionnelle.
Modes dédiés pour la parole, les films, la musique et les communications. Les pilotes audio pourront définir différents types de formats audio et de traitement, en fonction du type de flux.
Catégories audio
Le tableau suivant montre les catégories audio dans Windows 10.
Pour informer le système de l’utilisation d’un flux audio, les applications ont la possibilité de marquer le flux avec une catégorie de flux audio spécifique. Dans Windows 10, il y a neuf catégories de flux audio.
Category | Description |
---|---|
Film* | Films, vidéo avec dialogue (remplace ForegroundOnlyMedia) |
Média* | Catégorie par défaut pour la lecture multimédia (remplace BackgroundCapableMedia) |
Chat de jeu* | Communication entre utilisateurs pendant un jeu (nouvelle catégorie dans Windows 10) |
Speech* | Entrée vocale (par exemple, assistant personnel) et sortie (par exemple, applications de navigation) (nouvelle catégorie dans Windows 10) |
Communications | VOIP, chat en temps réel |
Alertes | Alarme, sonnerie, notifications |
Effets sonores | Bip, ding, etc. |
Média de jeu | Musique des jeux |
Effets de jeu | Bruits de balle, moteur de voiture, etc. |
Autres | Flux non catégorisés |
* Nouveautés dans Windows 10.
Pour plus d’informations, veuillez consulter la section Modes de traitement du signal audio et Architecture des objets de traitement audio.
Effets APO déchargés sur le matériel
Windows 10 prend en charge les effets APO déchargés sur le matériel. Les APO peuvent être chargés au-dessus de la broche de déchargement. Cela permet de traiter l’audio à la fois dans le logiciel et le matériel. De plus, le traitement peut changer dynamiquement. Une partie ou la totalité du traitement peut être déplacée de l’APO logiciel vers le DSP lorsque les ressources matérielles sont suffisantes, puis déplacée à nouveau vers l’APO logiciel lorsque la charge sur le DSP augmente.
Pour plus d’informations, veuillez consulter la section Implémentation des effets APO déchargés sur le matériel.
Activation vocale Cortana : Réveil vocal
Cortana, la technologie d’assistant personnel, a été démontrée pour la première fois lors de la conférence Microsoft BUILD Developer en 2013. L’activation vocale est une fonctionnalité qui permet aux utilisateurs de déclencher un moteur de reconnaissance vocale à partir de différents états d’alimentation de l’appareil en prononçant une phrase spécifique - « Hey Cortana ». La fonctionnalité d’activation vocale "Hey Cortana" permet aux utilisateurs d’engager rapidement une expérience (par exemple, Cortana) en dehors de leur contexte actif (c’est-à-dire, ce qui est actuellement à l’écran) en utilisant leur voix. Cette fonctionnalité est ciblée pour les scénarios lorsque l’écran est éteint, inactif ou lorsqu’il est entièrement actif. Si le matériel prend en charge la mise en mémoire tampon, les utilisateurs peuvent alors enchaîner la phrase clé et la phrase de commande ensemble. Cela améliore l’expérience de réveil vocal de bout en bout pour l’utilisateur. Pour plus d’informations, veuillez consulter la section Activation vocale.
Pilotes universels Windows pour l’audio
Windows 10 prend en charge un modèle de pilote unique qui fonctionne pour les PC et 2:1 et Windows 10 pour les téléphones et tablettes à petit écran. Cela signifie que les IHV peuvent développer leur pilote sur une seule plate-forme et que ce pilote fonctionne sur tous les appareils (ordinateurs de bureau, portables, tablettes, téléphones). Le résultat est une réduction du temps et des coûts de développement.
Pour développer des pilotes audio universels, utilisez les outils suivants :
- Visual Studio 2015 : Les nouveaux paramètres de pilote permettent de définir la « plate-forme cible » sur « Universel » pour créer un pilote multiplateforme.
- APIValidator : Cet outil WDK vérifie si le pilote est universel et met en évidence les appels qui doivent être mis à jour.
- Exemples audio sur GitHub : les sysvad et SwapAPO ont été convertis en pilotes universels. Pour plus d’informations et des liens vers le code d’exemple sur GitHub, veuillez consulter la section Pilotes universels Windows pour l’audio.
Gestion des ressources pour les pilotes audio
Un des défis pour créer une bonne expérience audio sur un appareil mobile à faible coût réside dans le fait que certains appareils ont diverses contraintes de concurrence. Par exemple, il est possible que l’appareil ne puisse jouer que jusqu’à 6 flux audio simultanément et ne prenne en charge que 2 flux déchargés. Lorsqu’il y a un appel téléphonique actif sur un appareil mobile, il est possible que l’appareil ne prenne en charge que 2 flux audio. Lorsque l’appareil capture de l’audio, l’appareil ne peut jouer que jusqu’à 4 flux audio.
Windows 10 inclut un mécanisme pour exprimer les contraintes de concurrence afin de garantir que les flux audio prioritaires et les appels téléphoniques cellulaires pourront être lus. Si le système n’a pas assez de ressources, alors les flux de faible priorité sont terminés. Ce mécanisme n’est disponible que sur les téléphones et les tablettes, pas sur les ordinateurs de bureau ou les portables.
Pour plus d’informations, veuillez consulter la section Gestion des ressources matérielles audio.
Rééquilibrage PNP pour les pilotes audio
Le rééquilibrage PNP est utilisé dans certains scénarios PCI où les ressources mémoire doivent être réallouées. Dans ce cas, certains pilotes sont déchargés, puis rechargés à différents emplacements mémoire, afin de créer un espace mémoire contigu libre. Le rééquilibrage peut être déclenché dans deux principaux scénarios :
- Hotplug PCI : Un utilisateur branche un appareil et le bus PCI n’a pas suffisamment de ressources pour charger le pilote du nouvel appareil. Quelques exemples d’appareils qui entrent dans cette catégorie incluent Thunderbolt, USB-C et le stockage NVME. Dans ce scénario, les ressources mémoire doivent être réarrangées et consolidées (rééquilibrées) pour prendre en charge les appareils supplémentaires ajoutés.
- BARs redimensionnables PCI : Après qu’un pilote pour un appareil est chargé en mémoire avec succès, il demande des ressources supplémentaires. Quelques exemples d’appareils incluent des cartes graphiques haut de gamme et des appareils de stockage. Pour plus d’informations, veuillez consulter la section Implémenter le rééquilibrage PnP pour les pilotes audio PortCls.