Mopidy extension for ALSA volume control.
- A Linux system using ALSA for audio playback.
pyalsaaudio
. Bindings for using the ALSA API from Python. The package is available aspython-alsaaudio
in Debian/Ubuntu.
Install by running:
pip install Mopidy-ALSAMixer
Or, if available, install the Debian/Ubuntu package from apt.mopidy.com.
The default configuration will probably work for most use cases.
The following configuration values are available:
alsamixer/card
: Which soundcard to use, if you have more than one. Numbered from 0 and up. 0 is the default.alsamixer/control
: Which ALSA control to use. Defaults toMaster
. Other typical values includesPCM
. Run the commandamixer scontrols
to list available controls on your system.alsamixer/min_volume
andalsamixer/max_volume
: Map the Mopidy volume control range to a different range. Values are in the range 0-100. Use this if the default range (0-100) is too wide, resulting in a small usable range for Mopidy's volume control. For example trymin_volume = 30
andmax_volume = 70
to map Mopidy's volume control to the middle of ALSA's volume range.alsamixer/volume_scale
: Eitherlinear
,cubic
, orlog
. The cubic scale is the default as it is closer to how the human ear percieves volume, and matches the volume scale used in thealsamixer
program.alsamixer/device
: select what device number you want to use. Numbered from 0 and up. 0 is the default.
Example alsamixer
section from the Mopidy configuration file:
[alsamixer] card = 1 control = PCM min_volume = 0 max_volume = 100 volume_scale = cubic device = 1
- Original author: Stein Magnus Jodal
- Current maintainer: Stein Magnus Jodal
- Contributors
- Require Mopidy >= 2.0, as we from release 1.1.0 import
gi.repository.GstAudio
, which is incompatible withgobject
which is used by Mopidy < 2.0. - Don't rely on all cards which use a hardware card index to be included in the
list returned by
alsaaudio.cards()
. This can happen if an audio card is disabled, but still use up a "card index", for example when disabling the builtin audio card on a Raspberry Pi. (Fixes: #8)
- Add
alsamixer/min_volume
andalsamixer/max_volume
config values to make Mopidy-ALSAMixer's volume scale only use a part of the underlying ALSA volume scale. (PR: #9) - Add
alsamixer/volume_scale
to allow switching betweenlinear
,cubic
, andlog
scales. The default value has been changed fromlinear
tocubic
, which is closer to how the human ear percieve the volume. (Fixes: #3, PR: #9)
- Don't crash on epoll being interrupted by the machine suspending.
- Handle mixer controls which does not support muting. (Fixes: #1)
- Correctly require Mopidy 0.19 instead of 0.18.
- Initial release.