Snapcast: [Feature Request] Hardware volume control in snapclient

Created on 29 Nov 2017  路  4Comments  路  Source: badaix/snapcast

Each room has another size, furniture and wall materials and each speaker model has another structure. So each room has it's own specific volume level with lowest resonances and distortions which means a lower volume often leads to better audibility than turning up the volume.

Hardware mixers are usually electrically optimized for their DACs which means better sound quality than software mixers.

There is also no API to integrate hardware volume controls (e.g. rotary encoders, IR/radio remote controls, ...) in the software mixer of snapclient.

The ALSA API uses the hardware volume control by default with a fall back to software volume control if no hardware based volume control is available. That way the hardware mixer with better quality is used. Synchronizing the current ALSA volume with the snapcast controllers will not only allow remote control of the volume by snapcast-controllers but also with hardware controllers directy accessing the ALSA volume controls. If e.g. a rotary encoder changes the master volume of an ALSA mixer all snapcast controllers would be updated automatically.

So I suggest to use the ALSA mixer controls in snapclient instead.

feature request next release

Most helpful comment

The develop branch introduces the new option --mixer (currently just for Linux/alsa), which can be

  • software [default]
  • hardware [:]
  • script the script will be executed with the parameters --volume <volume> --mute <true|false>
  • none

Testers are welcome :)

All 4 comments

I'd love this feature too. It would ensure that I could keep a hardware rotary volume control in sync with the remote JSON-RPC control through snapserver.

would greatly appreciate that as well 馃憤

This is slightly related to #302
Patches are always welcome.

The develop branch introduces the new option --mixer (currently just for Linux/alsa), which can be

  • software [default]
  • hardware [:]
  • script the script will be executed with the parameters --volume <volume> --mute <true|false>
  • none

Testers are welcome :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

quantenschaum picture quantenschaum  路  7Comments

artmg picture artmg  路  3Comments

fallenicarus picture fallenicarus  路  3Comments

jreusch picture jreusch  路  5Comments

klundry picture klundry  路  7Comments