contrôles de volume Audio-Tapered
L’interface IAudioEndpointVolume gère les contrôles de volume qui sont de type audio. Ces contrôles conviennent parfaitement aux applications Windows qui affichent des curseurs de volume. Pour un curseur de volume lié à un contrôle de volume audio,chaque modification de la position du curseur produit une modification du bruit perçu proportionnellement à la distance parcourue par le curseur. Pour une distance de déplacement particulière, la quantité par laquelle le bruit perçu augmente ou diminue est approximativement la même, que le mouvement du curseur se produise dans la partie inférieure, supérieure ou centrale de la plage de mouvement du curseur. L’intensité sonore perçue varie approximativement linéairement avec le logarithme de la puissance du signal audio.
À l’origine, le terme taper audio faisait référence à la forme conique de l’élément résistif dans un potentiomètre utilisé comme contrôle de volume dans un appareil électronique audio. Un élément résistif à cône audio est le plus large à la position de volume zéro et le plus étroit à la position de volume maximal. Le potentiomètre contrôle le niveau de tension du signal audio que l’appareil lit à travers ses haut-parleurs. Le tapering est conçu pour produire une relation approximativement linéaire entre la position de l’essuie-glace potentiomètre et la perception du bruit au niveau des haut-parleurs. La relation entre la position de l’essuie-glace et la tension au niveau des haut-parleurs est non linéaire.
En revanche, un élément résistif avec un taper linéaire a une largeur uniforme sur la plage de mouvement de l’essuie-glace potentiomètre. Par conséquent, la tension au niveau des haut-parleurs varie linéairement avec la position de l’essuie-glace. La relation entre la position de l’essuie-glace et le son est non linéaire.
De même, une application Windows qui affiche un curseur de volume définit une relation entre la position du curseur et le niveau de signal de sortie sur les haut-parleurs. La relation peut, en effet, être conique linéaire ou audio.
Le diagramme suivant montre le mappage de la position du curseur à la tension de sortie et à l’intensité sonore perçue pour un contrôle de volume linéaire-conique.
Sur le côté gauche du diagramme précédent, le niveau de tension de sortie du convertisseur audio numérique-analogique (DAC) augmente linéairement à mesure que le curseur de volume passe de sa position minimale (intitulée Min) à sa position maximale (nommée Max). L’étiquette VFS sur l’axe vertical représente la tension de sortie DAC à grande échelle.
Toutefois, le bruit perçu varie approximativement en tant que logarithme de la puissance du signal audio, comme illustré sur le côté droit du diagramme précédent. Ainsi, le déplacement du curseur sur un intervalle proche du paramètre minimal entraîne une modification relativement importante de la sonorité perçue, mais le mouvement du curseur sur un intervalle de la même largeur près du paramètre maximal entraîne une modification relativement faible de l’intensité sonore perçue.
Sur le côté droit du diagramme précédent, le bruit sur l’axe vertical est mesuré en décibels (dB) par rapport au paramètre de puissance à grande échelle (à 0 décibels). La courbe de sonorité croise l’axe vertical à moins l’infini, mais seule la partie de la courbe comprise entre 0 décibels et –96 décibels apparaît dans le diagramme. La décision de ne montrer que cette partie de la courbe est quelque peu arbitraire, mais –96 décibels représente commodément la puissance au niveau de sortie suivant le plus bas d’une DAC 16 bits par rapport à la puissance à pleine échelle. Cette valeur est calculée comme 20. log₁₀(1/65535).
Étant donné que de petites modifications de la position du curseur près du paramètre minimal dans le diagramme précédent entraînent des changements importants dans le son, l’utilisateur peut trouver le volume difficile à contrôler sur cette région. Les mouvements de curseur relativement petits peuvent pousser le volume bien au-dessus ou en dessous du niveau souhaité. Un contrôle de volume amélioré fournirait une relation plus linéaire entre la position du curseur et le son.
Le diagramme suivant montre le mappage de la position du curseur à la tension de sortie et au bruit perçu pour un contrôle de volume à débit audio.
Comme indiqué sur le côté droit du diagramme précédent, la perception de l’intensité sonore varie approximativement de façon linéaire en fonction des changements de position du curseur. Pour que cela se produise, la tension DAC doit varier de manière non linéaire avec la position, comme indiqué sur le côté gauche du diagramme. La courbe approche asymptotiquement de 0 volts à mesure que le curseur se déplace vers la gauche à partir du paramètre maximal. La tension à la position minimale du curseur est très faible, mais elle peut ne pas être exactement égale à zéro.
Les méthodes suivantes dans l’interface IAudioEndpointVolume utilisent des paramètres de volume mesurés en décibels :
- IAudioEndpointVolume::GetChannelVolumeLevel
- IAudioEndpointVolume::GetMasterVolumeLevel
- IAudioEndpointVolume::SetChannelVolumeLevel
- IAudioEndpointVolume::SetMasterVolumeLevel
Ces méthodes produisent une relation approximativement linéaire entre le paramètre de volume et la perception du son. La plage de volumes en décibels des contrôles de volume gérés par ces méthodes dépend de l’appareil de point de terminaison audio. Pour déterminer la plage de volumes pour un appareil particulier, appelez la méthode IAudioEndpointVolume::GetVolumeRange .
En revanche, les paramètres de volume pour les méthodes suivantes dans l’interface IAudioEndpointVolume suivent une courbe plus légèrement conique sur la plage de volumes :
- IAudioEndpointVolume::GetChannelVolumeLevelScalar
- IAudioEndpointVolume::GetMasterVolumeLevelScalar
- IAudioEndpointVolume::SetChannelVolumeLevelScalar
- IAudioEndpointVolume::SetMasterVolumeLevelScalar
- IAudioEndpointVolume::VolumeStepDown
- IAudioEndpointVolume::VolumeStepUp
Dans Windows Vista, ces méthodes utilisent une courbe intermédiaire entre la courbe audio-conique illustrée dans le diagramme précédent et une courbe linéaire-conique. Notez que la forme de la courbe peut changer dans les versions ultérieures de Windows. Les quatre premières méthodes de la liste précédente expriment les niveaux de volume sous forme de valeurs normalisées dans la plage de 0,0 (volume minimal) à 1,0 (volume maximal). Pour les deux dernières méthodes de la liste, appelez la méthode IAudioEndpointVolume::GetVolumeStepInfo pour obtenir le nombre d’étapes dans la plage de volumes.
Les interfaces suivantes utilisent des courbes linéaires-coniques pour leurs paramètres de volume :
Pour plus d’informations sur ces interfaces, consultez Contrôles de volume de session. Pour plus d’informations sur les plages de volumes et les niveaux de volume par défaut dans les différentes versions de Windows, consultez Paramètres de volume audio par défaut.
Rubriques connexes