Bitperfect on lower volume

Hello I am completely happy with my Topping D90mqa DAC which I have connected to my RPI based streamer, the Magna Mano Ultra MKII via i2s set to hifiberry digi Pro+ (so no mqa-capabilities, but I can live with that).

My problem is that I don’t have hardware control available and my amplifier is quite loud even on the lowest volume. I really would like to control the volume from within the Volumio UI. Unfortunately that means I have to use software volume control which is not bit perfect when it’s lower than 100%.

My question: is there any way to make the maximum/standard (100%) software volume lower while keeping the output bit perfect? In that way I can turn the volume up with my integrated amp when needed.

Any help would be highly appreciated.

Thanks in advance and enjoy your weekends!

No, it’s not possible. If You scale volume in software, You multiply audio signal with some number between 0 and 1. For example 1.0 is 100% volume, 0.5 is 50% and so on. Usually digital audio signal is expressed in whole numbers(16 and 24 bit int), sometimes in floating point numbers(32 bit float). If software volume control is used then very small rounding errors are always introduced, are they audible? Probably not. In this case resistor potential divider(volume potentiometer) can be connected to amplifier input(between dac and amp), then volume scaling is done in analog domain. With suitable ratio between input and output prefered volume level can be optained. Instead of messing with single resistors, I recommend to use good quality 100K logarithmic ALPS potentiometer as most amp manufacturers do.

Voltage divider - Wikipedia.

I have a Topping D10 balanced DAC connected to to my RPI 4 via one of the USB 2 ports. This allows me to to select the hardware volume control option. I think the D90 has similar functionality to the D10.

I would like to see a future release of volumio implement a decent software volume control to accommodate DACs using interfaces such a SPID/F but, in the meantime the USB hardware option works well.

1 Like

No. Bit perfect means just that, no changes. Changing volume means changing the number data to the DAC. This is a streamer, not a preamp. You need to have your volume control after the DAC.

Lost’s of users do not use a preamp; the output of the DAC is connected straight the power amp. Modern DAC chips do a good job of implementing a digital Volume control. I’m not familiar with all the details but, typically the incoming 16/24 bit signal is converted to 32bit FP. The attenuation is set using 32bit FP arithmetic with the output being converted back to 24 bit for the final conversion to analogue.

There are rounding errors. There are only finite number of bits but, 24 bit equates to a dynamic range of 144 db. A very good DAC has about 120 db dynamic range; the rounding errors are below the noise floor of the DAC.

All I have said assumes the DAC chip is either in the same box as the streamer or is connected to the streamer via USB. To allow more flexibility in the type connection between the streamer and the DAC I think there is still an argument for a better software volume control in Volumio; 24 bit output, 32 bit FP calculations etc.

Volumio buster uses a 24bits software volume control :wink: (or hw volume mixer if exists)

Thanks. The trouble is that the Volumio docs give the impression that they are discouraging the use of the current SW volume control: Volume Control and audio quality - Volumio Documentation

Thanks, so the software control in Buster is better than in the 2.x versions?

You just need to attenuate between DAC and amp - to give your amp’s volume control a more useable range.
You could do it with variable resistance (a potentiometer) as has been suggested.
Better still, do it with fixed attenuation:
http://www.rothwellaudioproducts.co.uk/html/attenuators.html
(I measured a pair of these and found the channel matching to be unbelievably good - better than the gang differences on any pot).

Yes it should :wink:

@Volpi, Thanks! That could be my solution! According to the description it reduces noise floor and does other good stuff… Still I am a little concerned about adding stuff to the path, as some people say you will lose dynamics and it would suck the life out of the music. I read very varying reviews about this product… so I am not really sure if it will be the right fix for me. 4 options:

  1. maybe I am just gonna try the attanuators at expense of some shipping costs
  2. I wait for the better software control
  3. I wait fo r the manufacture till they found a fix for the amp (they are aware…)
  4. Get a new Dac with Hardware Control, controllable by Volumio

P.S. I already have a potmeter as I own the Heaven 11 Billie Amp, which sounds awesome and is, apart from my problem (medium volume on lowest level), a stunning and great sounding device.

@balbuze is it on a level where Volumio is no longer warning people to better not use it? :slight_smile:

Thanks!

Great news! Will try as soon as the plug-in section is available

Great news indeed. I’ve tried a beta release of Volumio 3, which worked well. I’m keen to get hold of the production release.

In fact, even on 2.x , it is not a warning but rather an advice. If you can, it is better to use the HW mixer of your Dac.
But if you can’t because your Dac doesn’t provide it, then you can still set volume level using a software mixer.
But technically, it is better in Volumio 3.x

Sorry, warning was not the right word. Very nice to hear that some improvements are on the way!

I understand your concern over putting things in the signal path.
However, a friend of mine uses a pair of the (-10dB) Rothwells.
He says that they do nothing to harm the sound into his (decent) Marantz amp.
They just do their job of allowing him to use the amp’s volume control in its more useable zone (well away from the low position where any channel imbalance is always going to be more of an issue).
He changed to them from a different, cheap brand of attenuator - which, he says, did compromise the sound.

Again, software control isnt EVER going to be an option. The bitstream can not be modified on the way to the DAC or you lose MQA. There is no point waiting for “better” volume control or discussing how many bits are involved. Volume must be adjusted in the analog domain, post-DAC

I was going mention in my posts that MQA would be an issue but @Vennesch seemed unconcerned about the loss of MQA functionality and as he later mentioned, he may purchase an MQA DAC with hardware volume control capability. I’m not a fan of MQA so for me a good software volume control is an option.

Yeah for me MQA is a nice extra but nothing more than that. Better software volume control would be great in my case.

It already has software volume control