The Master Volume control's range is -128(mute) to 0dB.
Master Volume as a function will eventually be retired in favor of "Volume Limit", which will give me an opportunity to re-revaluate the design.
One possibility in the future might be to separate and bury USB host volume control such that it is reachable only the the host itself (Windows/macOS native system tray slider) and not via Console. It would still drive the loudness compensation. Then the User Volume would simply become Volume (for SPDIF/I2S/other non-USB input) and be disabled when the active source is USB. Master Volume would be replaced with Volume Limit.
I'm quite happy with the core volume control functionality as it is but am always open to potential enhancements.
As I mentioned several months ago—and I know it's not very common—one of my audio setups works like this: sources (SPDIF) -> miniDSP NanoDigi -> three DAC (without volume control) -> three power amplifiers (also without volume control) -> DIY 3-way speakers. So, the NanoDigi (in addition to handling the active crossover for my speakers) acts as a preamp. If its volume control were linked to that of Windows or other hosts (TV, CD player, streamer, etc.), there would definitely be a problem... Because on these devices, it's very easy to accidentally (by mistake) push the slider to 100% (especially with the host OS volume control or the volume control of the playback software).
I know there's a huge margin for signal degradation with the DSpi's volume control, but I learned the following logic a long time ago: "volume control should be done at the last stage of processing." So, traditionally, in my case, the DSpi/NanoDigi being the last processing stage before amplification, it's the place (and the only place in my case) where volume control should/can be done. That's what I've been doing. With both the NanoDigi and the Flex8, on both my systems, they're the only places where I can adjust the volume at the end of processing (with the Flex8, there's no DAC, but power amplifiers are directly connected to it). However, of course I sometimes adjust the volume of the sources, but most of the time their volume is at 100% (to follow the logic mentioned above, which is perhaps outdated...). But it's primarily the "master volume" of the miniDSP that I use to adjust the volume. It's simple and effective.
Obviously, there's still a problem with this approach—which the "miniDSP" engineers haven't (among other things) completely resolved (even though in my case, you can use active filtering)—the inability to easily limit the overall volume, as I mentioned earlier, with a simple option in the settings (a checkbox and a negative decibel number not to exceed), or, as I discussed several months ago, the possibility of including a "parental mode" (with a security code) to limit the maximum allowed volume level.
So, to simplify, I think that:
- Firstly, the choice of volume control should be given to the end user.
- The link to the host OS (or software) volume should be a choice, not an imposed one. (Because, despite everything, I can see the potential uses for this, but also all the potential problems with this choice, all depending on each user's audio setup).
- The concept of "master volume" makes more sense to me than "volume" or "limit volume," or anything else (because I'm obviously used to MiniDSP). The master volume isn't just the limit... It's the final link in the volume control chain, the one on which everything else depends. So the designation "master" is not insignificant.
- Regarding miniDSPs, there's no mention of the host volume level anywhere, and I don't think that's a bad thing... so perhaps something to consider... (and apparently, from reading one of your recent posts, that seems to be the case).
- A checkbox and an amount to enter to limit the maximum level seems very simple to implement and would be enough to alleviate concerns while providing a solution that others haven't been able to/thought of implementing (or perhaps I've missed it).
Well, I hope this is helpful and not tedious...
