[SlimDevices: Audiophiles] Dithered volume control for Squeezebox
What you get - Volume control via phone/tablet/web for FLAC and MP3 - It should be possible to set this up for Spotify too - TBD. - You must avoid volume control via IR remote or client controls - Volume change is not immediate but takes place on: - a new track being played - next/previous track selected - time skip within the track - Volume control via Sox dithered at 24 bits, no player attenuation. - Each volume step is 0.5dB. - Volume 0 is -50dB (not off). Notes: - The server volume level will try to return to 100 every time you use the IR remote's volume buttons, or on system start. For this reason - VolumeLock plugin (first step below) is important. And you must use phone/tablet/web for volume control. - You won't be able to time skip with MP3. - The files are patched based on 7.7.6. If you need a patch for a different version, PM me and I will provide them. Steps (assuming Linux) Install the VolumeLock plugin and set the maximum volume level to a safe level Install VolumeLock via Settings > Plugins Set volume to the desired maximum (don't choose anything above 90). Set max volume level via Settings > Player > VolumeLock player settings > 'Set current volume as maximum' > Apply Set player volume level fixed to 100% Settings > Player > Audio > Volume Control > 'Output level is fixed at 100%' > Apply For MP3 support you should install the package 'libsox-fmt-mp3'. Patch convert.conf(s) - see below. Patch perl files see below. Restart LMS. Verify. Settings > Advanced > File Types Check that FLAC-FLAC says 'flac/sox', others in the group disabled Check that MP3-FLAC says 'sox/sox', others in the group disabled Apply. Where can I get the files? https://www.dropbox.com/sh/4oshksnzgrys7af/AABfwj-LYo4qY0VWcyvLNWe6a?dl=0. convert.conf should replace that found in /etc/squeezeboxserver (copy original first) The *.pm files found under the structure in Slim, should replace those found in the equivalent locations in /usr/share/perl5/Slim (copy originals first) Regards, Darren Check it, add to it! http://www.dr.loudness-war.info/ SB Touch darrenyeats's Profile: http://forums.slimdevices.com/member.php?userid=10799 View this thread: http://forums.slimdevices.com/showthread.php?t=104629 ___ audiophiles mailing list audiophiles@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/audiophiles
Re: [SlimDevices: Audiophiles] Dithered volume control for Squeezebox
How does it work? Fixing client volume to 100 disables the attenuation on the client, however, the server-side volume can still be adjusted (it simply will not be pushed to client). But any time you reset the volume from the client end, the client pushes its volume (100) to the server. Same goes for system boot up. This is why client volume controls must be avoided. Also this is why VolumeLock plugin must be used. The gain adjustment is achieved by adding to the Perl code for convert.conf a new capability, 'G', to control sox gain value. This is why volume changes on new track, prev/next track and skipping in the track this is when convert.conf is reapplied (tokenized) in the code. Anybody got a better idea? Perhaps this will give inspiration to a developer to do something a little less hacky! In my defense, I'm not a developer (though I know Perl). Regards, Darren Check it, add to it! http://www.dr.loudness-war.info/ SB Touch darrenyeats's Profile: http://forums.slimdevices.com/member.php?userid=10799 View this thread: http://forums.slimdevices.com/showthread.php?t=104629 ___ audiophiles mailing list audiophiles@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/audiophiles