Freigeben über


Audio-Tapered Lautstärkesteuerelemente

Die IAudioEndpointVolume- Schnittstelle verwaltet Lautstärkesteuerelemente, die audiogetippend sind. Diese Steuerelemente eignen sich gut für Windows-Anwendungen, die Lautstärkeregler anzeigen. Bei einem Lautstärkeregler, der an eine Lautstärkeregelung gebunden ist, erzeugt jede Änderung an der Position des Schiebereglers eine Änderung der wahrgenommenen Lautstärke, die proportional zur Entfernung ist, die vom Schieberegler bewegt wird. Bei einer bestimmten Reisestrecke ist der Betrag, um den die wahrgenommene Lautstärke steigt oder verringert, ungefähr gleich, unabhängig davon, ob die Schiebereglerbewegung im unteren, oberen oder mittleren Teil des Bewegungsbereichs des Schiebereglers auftritt. Die wahrgenommene Lautstärke variiert ungefähr linear mit dem Logarithmus der Audiosignalleistung.

Der Begriff Audio taper ursprünglich auf die getippte Form des Widerstandselements in einem Potentiometer verwiesen, das als Lautstärkeregelung in einem Audioelektronikgerät verwendet wird. Ein audio tapered resistives Element ist am weitesten an der Nulllautstärkeposition und am schmalsten an der Maximalen Lautstärkeposition. Der Potentiometer steuert den Spannungspegel des Audiosignals, das das Gerät über seine Lautsprecher abspielt. Das Tapering soll eine ungefähr lineare Beziehung zwischen der Position des Potentiometer-Wipers und der wahrgenommenen Lautstärke an den Lautsprechern erzeugen. Die Beziehung zwischen der Wischposition und der Spannung an den Lautsprechern ist nichtlinear.

Im Gegensatz dazu hat ein Widerstandselement mit einem linearen Taper eine gleichmäßige Breite über dem Bewegungsbereich des Potentiometer-Wipers. Daher variiert die Spannung an den Lautsprechern linear mit der Wischposition. Die Beziehung zwischen der Wischposition und der Lautstärke ist nichtlinear.

Ebenso definiert eine Windows-Anwendung, die einen Lautstärkeregler anzeigt, eine Beziehung zwischen der Schiebereglerposition und der Ausgabesignalstufe an den Lautsprechern. Die Beziehung kann tatsächlich linear gezapft oder audiogetippend sein.

Das folgende Diagramm zeigt die Zuordnung der Schiebereglerposition zur Ausgangsspannung und zur wahrgenommenen Lautstärke für eine linear tippende Lautstärkeregelung.

Ausgabediagramm für eine linear tippende Lautstärkeregelung

Auf der linken Seite des vorherigen Diagramms erhöht sich die Ausgangsspannungsstufe des Digital-zu-Analog-Konverters (DAC) linear, da der Lautstärkeregler von seiner Minimalposition (mit der Bezeichnung Min) zur maximalen Position (mit der Bezeichnung Max) wechselt. Das Etikett VFS auf der vertikalen Achse stellt die volle DAC-Ausgangsspannung dar.

Die wahrgenommene Lautstärke variiert jedoch ungefähr wie der Logarithmus der Leistung des Audiosignals, wie auf der rechten Seite des vorherigen Diagramms dargestellt. Daher führt die Bewegung des Schiebereglers über ein Intervall in der Nähe der Mindesteinstellung zu einer relativ großen Änderung der wahrgenommenen Lautstärke, aber Schiebereglerbewegung über ein Intervall der gleichen Breite in der Nähe der maximalen Einstellung führt zu einer relativ kleinen Änderung der wahrgenommenen Lautheit.

Auf der rechten Seite des vorhergehenden Diagramms wird die Lautheit auf der vertikalen Achse in Dezibel (dB) relativ zur Einstellung der Leistung im Vollmaßstab (bei 0 Dezibel) gemessen. Die Lautstärkekurve überschneidet die vertikale Achse mit minus unendlich, aber nur der Teil der Kurve von 0 Dezibel bis -96 Dezibel wird im Diagramm angezeigt. Die Entscheidung, nur diesen Teil der Kurve anzuzeigen, ist etwas willkürlich, aber –96 Dezibel stellen bequem die Leistung auf der nächsten bis niedrigsten Ausgangsstufe eines 16-Bit-DAC relativ zur vollen Leistung dar. Dieser Wert wird als 20berechnet.log₁₀(1/65535).

Da kleine Änderungen an der Schiebereglerposition in der Nähe der Mindesteinstellung im vorherigen Diagramm zu großen Lautstärkeänderungen führen, kann der Benutzer die Lautstärke schwer über diesen Bereich steuern. Relativ kleine Schiebereglerbewegungen können die Lautstärke deutlich über oder unterhalb des gewünschten Niveaus verschieben. Eine verbesserte Lautstärkeregelung würde eine linearere Beziehung zwischen Schiebereglerposition und Lautstärke bieten.

Das folgende Diagramm zeigt die Zuordnung der Schiebereglerposition zur Ausgangsspannung und zur wahrgenommenen Lautstärke für eine Audio-Tipplautstärke.The following diagram shows the mapping of slider position to output voltage and to perceived lautness for an audio-tapered volume control.

Ausgabediagramm für audioverknippte Lautstärkeregelung

Wie auf der rechten Seite des vorherigen Diagramms dargestellt, variiert die wahrgenommene Lautheit ungefähr linear mit Änderungen der Schiebereglerposition. Damit dies geschieht, muss die DAC-Spannung nichtlinear mit der Position variieren, wie auf der linken Seite des Diagramms dargestellt. Die Kurve nähert sich asymptotisch 0 Volt, während sich der Schieberegler von der maximalen Einstellung nach links bewegt. Die Spannung an der minimalen Schiebereglerposition ist sehr klein, aber es ist möglicherweise nicht genau Null.

Die folgenden Methoden in der IAudioEndpointVolume Schnittstelle verwenden Volumeneinstellungen, die in Dezibel gemessen werden:

Diese Methoden erzeugen eine ungefähr lineare Beziehung zwischen Lautstärkeeinstellung und wahrgenommener Lautstärke. Der Lautstärkebereich in Dezibeln der Lautstärkesteuerelemente, die von diesen Methoden verwaltet werden, hängt vom Audioendpunktgerät ab. Rufen Sie zum Ermitteln des Volumebereichs für ein bestimmtes Gerät die IAudioEndpointVolume::GetVolumeRange-Methode auf.

Im Gegensatz dazu folgen die Lautstärkeeinstellungen für die folgenden Methoden im IAudioEndpointVolume Schnittstelle einer sanfteren Kurve über den Lautstärkebereich:

In Windows Vista verwenden diese Methoden eine Kurve, die zwischen der im vorherigen Diagramm dargestellten Audio-Kurve und einer linearen Kurve besteht. Beachten Sie, dass sich die Form der Kurve in zukünftigen Versionen von Windows ändern kann. Die ersten vier Methoden in der vorherigen Liste geben Volumenebenen als normalisierte Werte im Bereich von 0,0 (Mindestvolumen) bis 1,0 (maximales Volume) an. Rufen Sie für die letzten beiden Methoden in der Liste die IAudioEndpointVolume::GetVolumeStepInfo Methode auf, um die Anzahl der Schritte im Volumebereich abzurufen.

Die folgenden Schnittstellen verwenden linear gezapfte Kurven für ihre Lautstärkeeinstellungen:

Weitere Informationen zu diesen Schnittstellen finden Sie unter Session Volume Controls. Informationen zu den Lautstärkebereichen und den Standardlautstärken in den verschiedenen Versionen von Windows finden Sie unter Standardeinstellungen für Audiolautstärken.