Latest plexamp-headless installed on fresh latest ubuntu server LTS. Using ALSA only, no Pulse installed. Plexamp headless (PAH) is installed on the same machine as plex media server (PAM). Plexamp android (PAA) used to remote control PAH to play over my stereo.
The problem is volume; PAA (both hardware volume enabled/disabled) can change PAH volume, but it goes from mute to quite loud. On PAA, it shows about 5% on the slider, but again, quite loud on PAH. SO volume changes seem to be quite coarse.
I’ve also got a spotify daemon running on the same machine, and it’s handling volume fine, which makes me think this is a plexamp issue. In PAA, I have settings->Playback->Preamp 0db.
As an aside, prior to purchasing a plex pass, I could access <?SERVER-IP>:32500 and get a nice web interface for PAH, but after purchasing plex pass, there’s nothing there any more (all settings are now in PAA). Is this by design?
So any ideas for these volume issues? I can send logs if useful.
The Plex Pass shouldn’t have anything to do with it, full web interface should still be available. Android settings don’t affect headless settings.
Not off-hand, but let’s get you back headless UI since that’s what you’ll need to configure preamp etc.
Thanks for the quick response. Good to confirm I should still have the PAH web interface. For the sake of minimizing your effort, let me poke around and try to get that back, and then I’ll report back.
regarding the volume … what audio device (dac, pi headphone out, etc.) are you using with headless? and the output of this audio device goes where (to an amp/receiver with a volume control, direct to a powered speaker, etc.)?
it sounds to me like you might have no attenuation other than the plexamp volume slider … this will force you to use the low and steep end of plexamp’s volume curve
if your audio device has hardware volume control, try reducing the level using alsamixer (plexamp doesn’t touch this setting), which might give you a wider usable range with the app’s volume slider
(and if you’re also using other apps with different volume curves, it might take some trial and error to find hardware settings that work well with both apps)
The machine is connected to a DAC through USB (smsl SU-1, which has no hardware volume control), and that is connected to a power amp, which also has no volume control, so you’re right … I have no attenuation other than the plexamp slider. I’m hesitant to start tweaking global ALSA softvol settings, because I don’t want to mess with other audio (e.g. Spotify).
Ok I see. This is one reason I mentioned the preamp settings in plexamp earlier… currently it’s set to 0db. I thought I read somewhere else online (I forget where) that someone had set this to a negative number. Is this possible? Is there a settings file I can tweak for PAH? Can I do this through the web interface if I get it working again? If I do that, could it help with normalizing the volume curve?
preamp values available thru the web interface range from 0 to +6dB (no negative values) … also note it’s only effective when loudness leveling is enabled
i’ve tried to set a negative value on the headless device, doesn’t seem like it’s working, though it’s an interesting idea
On a whim, I nuked the ~/.local/Plexamp dir, and now I’ve got the headless web interface working again.
Still having the volume issue. I’m going to try and do some logging to see what ALSA sees. I’m not really familiar with Linux audio so there’ll be some learning to do.
Looks like you’re telling libbass to use a log scale and just normalizing the slider. I assume you’re not doing any further processing on the volume value (i.e. you’re not defining your own volume curve, tell me otherwise, I can’t see what’s going on in treble.node very well).
app volume adjustment is linear, that much i know … i think that bass message might indicate log scale being used just for fades (i’m guessing, devs could confirm)
In any case, I think I’ve exhausted my own ability to figure out what’s going on without seeing source code.
For the time being, I’ve hacked the plexamp headless index.js file to scale the volume before sending to the audio controller. I’ll have to do that for every update though.
I get this might not be the biggest priority for you. This isn’t the most common scenario (no hardware volume at all). You may have your own reasons for using the curve that you’re using. I do think that it’ll be a problem for anyone with a similar setup.
Overall I really like this whole ecosystem you’re building.
@tgp-2 mentioned the idea of adding a fixed volume “offset” (e.g. -10 dB) so that volume doesn’t get as loud and is in less steep part of the curve, so to speak. I hope I didn’t misrepresent the idea, but it may help what you’re running into.