Skip to content

Easy to use GUI based ALSA default soundcard and volume configurator with Dmix, Dsnoop and Softvol support

License

Notifications You must be signed in to change notification settings

sezanzeb/alsa-control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ALSA Control

Since ALSA provides dmix for soundcards that don't support multiplexing and softvol for those that can't control their volume, it is not necessary to run pulseaudio for that. This software provides multiplexing, volume and muting capabilities by creating .asoundrc default configurations, while the GUI may work as a replacement for pavucontrol.

Not having pulseaudio is not compatible with everything. For example, Discord in Firefox and Terraria were silent without Pulseaudio. Maybe https://github.com/i-rinat/apulse helps.

Usage

Get it from https://aur.archlinux.org/packages/alsa-control/ or run:

pip3 install pyalsaaudio
python3 setup.py install
alsacontrol-gtk

If it didn't already start due to a system restart, you can start the daemon with:

alsacontrol-daemon-gtk

Now try to change the volume. For convenience, bind this to your multimedia keys in your user interface

alsacontrol -v +5
alsacontrol -v -5
alsacontrol -m

Running pulseaudio at the same time may cause problems. Keyboard shortcuts may break if you have the xfce pulseaudio plugin active.

Features

Basically provide everything that is needed to comfortably use ALSA without pulseaudio in a GUI

  • Show a volume meter as notification on volume changes or mute toggling
  • Change the volume of soundcards without Master controls with softvol
  • Generate an asoundrc file that is automatically included in ~/.asoundrc based on config
  • Add GTK GUI
  • Control volumes with sliders and a mute button
  • Always show up to date devices in the GUI
  • Add a button to test the speaker setup
  • Show speaker-test errors in the GUI
  • Add a dropdown to change output pcm devices
  • Jack support (first start jack, then the GUI to select it)
  • Add a list of input devices and show their input level
  • Startmenu .desktop entry
  • Start the daemon on login
  • Make dmix, softvol, dsnoop, channels and samplerate configurable
  • Provide .deb files and get it into the AUR

Jack

With jack as output the volume can be changed with softvol as well. Firefox seems to prefer talking to jack directly over using the default device provided by the generated asoundrc, so the volume change doesn't affect it. Before starting jack, the ALSA-Control GUI needs to be closed because jack can't acquire the input device as long as the level is monitored.

Testing

pylint alsacontrol --extension-pkg-whitelist=alsaaudio
sudo python3 setup.py install && python3 tests/test.py

About

Easy to use GUI based ALSA default soundcard and volume configurator with Dmix, Dsnoop and Softvol support

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages