Skip to main content

Mopidy extension for ALSA volume control

Project description

Latest PyPI version Travis CI build status Test coverage

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 as python-alsaaudio in Debian/Ubuntu.


Install by running:

pip install Mopidy-ALSAMixer

Or, if available, install the Debian/Ubuntu package from


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 to Master. Other typical values includes PCM. Run the command amixer scontrols to list available controls on your system.
  • alsamixer/min_volume and alsamixer/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 try min_volume = 30 and max_volume = 70 to map Mopidy’s volume control to the middle of ALSA’s volume range.
  • alsamixer/volume_scale: Either linear, cubic, or log. The cubic scale is the default as it is closer to how the human ear percieves volume, and matches the volume scale used in the alsamixer program.

Example alsamixer section from the Mopidy configuration file:

card = 1
control = PCM
min_volume = 0
max_volume = 100
volume_scale = cubic

Project resources



v1.1.1 (2018-04-01)

  • Require Mopidy >= 2.0, as we from release 1.1.0 import gi.repository.GstAudio, which is incompatible with gobject 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 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)

v1.1.0 (2017-02-12)

  • Add alsamixer/min_volume and alsamixer/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 between linear, cubic, and log scales. The default value has been changed from linear to cubic, which is closer to how the human ear percieve the volume. (Fixes: #3, PR: #9)

v1.0.3 (2014-07-31)

  • Don’t crash on epoll being interrupted by the machine suspending.

v1.0.2 (2014-07-27)

  • Handle mixer controls which does not support muting. (Fixes: #1)

v1.0.1 (2014-07-21)

  • Correctly require Mopidy 0.19 instead of 0.18.

v1.0.0 (2014-07-21)

  • Initial release.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for Mopidy-ALSAMixer, version 1.1.1
Filename, size File type Python version Upload date Hashes
Filename, size Mopidy_ALSAMixer-1.1.1-py2.py3-none-any.whl (8.7 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size Mopidy-ALSAMixer-1.1.1.tar.gz (11.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page