Volume balance (left, right)


I use a Allo USBridge running Volumio almost daily to listen to headphones.
Because of what i presume is hearing damage i hear more with my left ear then my right which shifts imaging to my left.
It is beginning to really bug me, so i have been looking all over for a way to shift the volume balance slightly. i even tried modifying the SSH files, but that seems to be to complicated for me, as i have no knowledge of coding whatsoever.

Is there anyone that could help me with modifying the SSH files to change to volume balance, or is someone capable of making a plugin i could use? Any help would be greatly appreciated! :smiley:

I could really use a LR balance function as well, hopefully also usable with the soft volume control and preferably not destroyed by a volumio auto update process. I believe there is a suitable alsa function, but I don’t get involved in low level business if I can avoid it.
I want it because the devices in my playback chain do not have LR balance function and my speakers are unavoidably offset from the ideal equi-distant position as well as one being stuck in an upper corner of the room, which skews the stereo image badly. LR balance would be helpful to correct or partly correct this.

This would make a very nice mini plugin, in my view, but any solution welcome.

It is possible via the command line (via SSH), but it’s not a permanent solution. It will probably reset after a reboot, and probably needs software volume control to be enabled.
Try the code below (can’t test it right now) to shift the balance to 80% left, 20% right.

amixer sset Master 80%,20%

If that works, maybe they can incorporate it indeed.

SSH is a method of getting access to the “behind-the-scenes” (the command-line) of Volumio via another computer; it is not the configuration in itself. Check a quickstart guide on SSH and things will become clear, also how to run the aforementioned command.

Audio-wise the volume only partly corrects the skewed stereo image. The difference in distances creates two problems, i) volume differences, as sound pressure level decreases with distance, and ii) delay from one channel; sound takes roughly 3 ms to travel 1 meter, and 5-10 ms is already noticeable by most humans. The latter you cannot correct for.

FIrst off thank you for replying and explaining that it is not called SSH :blush:
I tried inserting the command, but i it gives me an error stating:

Amixer: Unable to find simple control ‘Master’, 0

Thanks for your response.
I appreciate that LR balance would not solve my issue completely, but I anticipate it would be useful at least to deal with the boundary effect problem of the speaker stuck in a top corner. The differential distance is not huge, as small as I could practically make it consistent with retaining some stereo image. However, it is skewed to one side, so the stereo field on one side is noticeably compressed.

the way to properly fix it will be to use DSP to align the signals at the listening position in time as well as to balance the volumes and even provide room correction, but LR balance would still be an improvement for now until I can get that going.

However, nlwouter’s problem strikes me as more important, and if you can help nlwouter you will be helping me too.
I just wanted to add another use case for LR balance in the hope it may become a feature in some way. I can’t be the only volumio user with an asymmetric speaker setup. I mean, asymmetric speaker positions are often caused by things like wives, for instance, and many people have those.

I’m by far no expert on this, so I also have to dig for it. But I’ll give it a go.

In any case, in the Playback Settings the mixer should be set to Software to control the volume via Alsa. Also the mixer is called “PCM” in Volumio, not “Master” (user “amixer scontrols” to list the mixers).

It could be as simple as changing the mixer name. At least the parameters change in the command line, but I have to verify if it works when I’m at home.

amixer sset PCM 80%,20%

amixer sset PCM 80%,20% also does not seem to work, same error.
If i am doing something wrong let me know :slight_smile:

i typed amixer scontrol and these are my options:

Simple mixer control 'Mic0 Mode Mux',0 Simple mixer control 'ADC0 Digital Gain control',0 Simple mixer control 'ADC0 Mux',0 Simple mixer control 'AMP1 Gain boost Range select',0 Simple mixer control 'AOUT FL FR Mixer FL FR',0 Simple mixer control 'AOUT FL FR Mixer FM',0 Simple mixer control 'AOUT FL FR Mixer MIC',0 Simple mixer control 'Adc0 Digital Gain',0 Simple mixer control 'Adc0 Gain',0 Simple mixer control 'DAC Digital FL FR',0 Simple mixer control 'DAC FL FR PLAYBACK',0 Simple mixer control 'DAC FL Gain',0 Simple mixer control 'DAC FR Gain',0 Simple mixer control 'DAC PA',0 Simple mixer control 'DAC PA OUTPUT Stage',0 Simple mixer control 'Dummy earphone detect method',0 Simple mixer control 'Dummy earphone gain',0 Simple mixer control 'Dummy earphone volume',0 Simple mixer control 'Dummy mic Gain',0 Simple mixer control 'Dummy mic mode',0 Simple mixer control 'Dummy mic num',0 Simple mixer control 'Dummy speaker gain',0 Simple mixer control 'Dummy speaker volume',0 Simple mixer control 'External MIC Power Voltage',0 Simple mixer control 'External Mic Power',0 Simple mixer control 'Internal Mic Power',0 Simple mixer control 'PA Output Swing Mux',0 Simple mixer control 'audio output mode switch',0 Simple mixer control 'speaker on off switch',0

I’ve tried changing the ‘DAC FL Gain’ to 60% but that doesn’t seem to do anything to the sound.
Let me know if you find something.

OK, I got something to work using alsamixer.
Warning: nobody could be less of an expert than me, I actively avoid doing this sort of thing.
However, this is what I did.

Log into volumio, maybe ssh, or plug a keyboard into your pi.

then type
with no parameters
This brings up a 1970s style graphical interface. Enjoy a moment of nostalgia if you like.
Now select the soundcard you want to mess with by pressing F6. I had a choice of ALSA, numbered zero, and my hifiberry soundcard, numbered 1.
I selected the hifiberry soundcard by using the arrow keys and pressing Enter.

Now the controls you will see belong to your soundcard.
You might want to start some music playing to check if your changes work. To add a touch of class I suggest The Dave Brubeck Quartet.
Press Q and Z to respectively raise and lower the left channel volume, while E and C do the same for the right channel.
I have no idea how to make this permanent, but as a quick and dirty fix it works on my system.

Edit: One major problem is that if I change the volume using softvolume in the volumio webpage, the LR balance goes back to equal, so you have to set your volume, then set your balance, but you can’t then change the volume without resetting the balance.

Love the interface :smiley: And it works like a charm, Thank you!
I have a seperate volume control so as long as i don’t restart volumio i’m fine.

That is good news, I hope you enjoy your music a little more.
It isn’t really a good solution I think, a real pain to use regularly.

For me, I look for something I can add to a file somewhere to change balance more permanently, that would be OK, or ideally a version of softvolume that lets me play with LR balance from the main volumio interface.

I think it would not be impossible to do for the developers if we can do it from the command line, but maybe they have a lot of other priorities. I’m not sure how to even nudge it onto their to do list.

I do think a lot of people will have asymmetric speaker setups like me, so it could be a helpful feature and I’m surprised in a way it is not already there.

The problem with amixer seems to be that it’s necessary to identify which soundcard you want to use.

Anyway. Moan, moan, moan. Enjoy.

Nice that you figured it out. I tried it yesterday with a remote connection and when I got home, it returned an error with the alsa device (solved with a reboot fortunately) :unamused:

It’s already requested as a feature by the way: balance-control-t12117.html
Should be relatively easy to add this to the Playback Options. No idea how to myself though…

Thanks for that.