-
Notifications
You must be signed in to change notification settings - Fork 0
Volume Mapping
Note: This page explains the mapping procedure of the FS Volume into Windows volume. It expects a basic knowledge about mathematical functions.
As seen by tests, the real output volume of vPilot changes very slightly for the range of the output values between 20 % - 100 %. In when the output volume of the Windows-Process is adjusted in this range, the perceived volume changes only slightly.
Therefore, there is a non-linear mapping between FS Volume and Windows-Process Volume. This mapping can be adjust as a set of linear blocks between values creating a segments of function progress. This segments are defined as tuples of [input , output]
, where values are in percentages.
The default definition in appsettings.json
is:
...
"VolumeMapping": {
"Map": [
[ 0, 0 ],
[ 20, 1 ],
[ 40, 2 ],
[ 60, 8 ],
[ 80, 20 ],
[ 90, 50 ],
[ 100, 100 ]
],
"MinimumThreshold": 0.55
},
...
This creates the following mapping:
X-axis represents input volume obtained from Flight Simulator. Y-axis represents output volume set to Windows Process. For example:
- Volume 100% in FS means volume 100% in VPilot.
- Volume 50% in FS means approximately volume 7% in VPilot.
- Volume 25% in FS means aproximately volume 1.5% in VPilot.
- Any volume below approx. 11% in FS means respective volume <0.55% in VPilot causing the VPilot volume is muted (see
MinimumThreshold
in the config file).
To disable mapping behavior, the volume mapping can be set as linear by updating the appsettings.json
file as follows:
...
"VolumeMapping": {
"Map": [
[ 0, 0 ],
[ 100, 100 ]
],
"MinimumThreshold": 0.55
},
...
You can customize the mapping behavior by creating custom mapping segments. Remember, every segment definition contains two parts - input mapping value obtained from Flight Simulator and output mapping as the percentage of volume set to Windows Process. The mapping definitions are placed in VolumeMapping.Map
key in the configuration file. The following rules holds:
- When loaded all segments are ordered in the ascending order w.r.t. the input volume (the first value).
- If there ale multiple definitions for the input values are set, the randomly chosen one is taken. Therefore, avoid multiple definitions for the same volume.
- All volume values must be decimals in range 0 - 100.0.
- You may customize minimal
[0, ?]
and maximal[100, ?]
segments definitions. If they are not used, they are automatically added as the default ones:[0 , 0]
at the beginning and[100 , 100]
at the end.
Back to Wiki-Home / Project-Home.