hw.snd.vpc_autoreset
When a channel is closed the channel volume will be reset to 0db.
This means that any changes to the volume will be lost. Enabling
this will preserve the volume, at the cost of possible confusion
when applications tries to re-open the same device.
I think if you have the option to rise or lower the db value for a channel of a specific device inside an application, and set this option to 1, the db value set inside that application will override the global value of
hw.snd.vpc_0db for the channel of that specific device.
If you then open the same device with another application, you can eventually get strange behaviour, because the other application now also gets the overriden
hw.snd.vpc_0db value.
If you want to have different
hw.snd.vpc_0db values for each audio application, you probably should enable this option.
This is my understanding of what this parameter does.
hw.snd.vpc_0db
Default value for sound volume. Increase to give more room for
attenuation control. Decrease for more amplification, with the
possible cost of sound clipping.
As far as I can tell it is the volume for the foreground stage, middle stage, and background stage where the instruments play, it is not the same as the audio volume you can set through the mixer.
Clipping in that context eventually means that a low value will completely blend out some instruments.
A to high value eventually degrades the transition between one instrument to another, and gives a very rough unsmooth feeling to the whole sound stage.
hw.snd.vpc_0db=100 is definitely to high, alteast for me, because the sound stage gets very rough.
I would recommend you to try some values between 40 and 50.