alsa mixers

Len Ovens len at ovenwerks.net
Tue May 7 22:15:23 UTC 2013


I looked at a number of audio mixers: (I used three audio IFs, an old
ens1370, An intel HDA (most common internal audio) and an ICE1712
multitrack card)

  pavucontrol and kmix: These both control pulseaudio and only affect ALSA
settings of any sort through the pulse audio interface. kmix is the the
kde version pavucontrol. There is no reason to attempt to make kmix or
pavucontrol work without PA running, rather they should stop running
gracefully if PA is not there.

I would suggest that pavucontrol be the default PA controller for desktop
audio that requires it. However, it would make sense to use kmix for the
kde meta currently planned.

  ffado-mixer: This is the only choice for FireWire audio right now.

  HDSPmixer, echomixer and mudita24: These mixers are designed for
specific audio interfaces and are the best mixer to use in these cases.

  alsamixer: This comes with alsa and runs in the terminal. It only
controls alsa. It gives the names alsa uses in its config and is not
always easy to understand. Alsamixer also is often confused about what is
an input or an output and the same control may show up in both places or
be doubled in the same screen. Moving either one of the controls affects
the other. PA does a great job of selecting the correct
controls. However, when using jackd(bus), input and output levels need to
be adjusted at the card.

  GUI alsa mixers: Interesting thing here. All of them seem to default to
the pulse master control. This makes me think that pulse calls itself the
default ALSA card(s). (I can't see alsamixer-gui having pulse code in it)

  xfce4-mixer (aka audio mixer): this is what we ship now.
    - The toolkit used has sliders of fixed width and so a complex card
uses a lot of screen real estate or requires lots of window scrolling to
find things.
    - Fine control is not possible as this mixer steps in 4db steps.
Hardly a good deal for setting up a record level for best s/n. It may be
that the developer happened to have an audio card with 4db steps as
minimum, but many cards allow 2db or less. (some of my controls are .5db
steps)
    - Another annoying bug(feature?) with this mixer is that when the
slider is moved to minimum, it auto mutes that channel. Unfortunately, HDA
IFs mute more than one channel at a time. They are set up with a speaker
level, headphone level and a master. Muting any one of these mutes all of
them. So, if I turn the headphone level down to zero, the sound from the
speakers vanishes. To get it back, I have to unmute both the master and
the speaker channels.

  alsamixer-gui: This is a very simple GUI in front of the terminal alsa
mixer. This one also uses fixed width faders. There is no way to change
the device except from the command line at start time.

  gnome-alsamixer: This one crashed on me, on both machines. It appears to
be looking for a "sound server" and I guess alsa or pulse are not what
it considers sound servers. This leaves one to wonder why it might be
called an alsa mixer if it doesn't talk to alsa.

 QASmixer, QASHctl, QASconfig: Added to the seeds for 13.10.
    - Has variable width faders. This one can fit all the faders for an
ice1712 in less than 2/3 of a screen.
    - Displays both capture and playback channels at the same time as well
as switches.
    - fades in the smallest steps alsa provides for the IF.
    - allows text entry of a level.
    - Shows levels in db
    - Does not allow turning unused/redundant controls display on and off.
    - QASconfig provides a gui to edit or view the user's current alsa
config.
    - QASHctl provides access to everything alsa can see. This is the only
utility that allows me to turn the mic +5v on or off.

  Volti: someone has done some fixing on this. Last time I used it the
faders were very wide. While they don't go as small as qasmixer, they do
vary with screen/window size. Does not show mutes or switches, though it
does show record/capture enable. Much like xfce4-mixer, but missing some
controls and shows playback and capture levels on one screen.

In general, The QAS utils give the most control, the nicest display. It
looks different from the general system utilities and so the user knows
what it is. However, none of them are obvious to use and fit the HW well.
They all rely on what alsa tells them about any one control. This what is
so nice about HW specific mixers like mudita24. They make sense with the
HW.

In many ways pulse has done a better job this way. This is because they
have HW profiles for different audio interfaces. This what is needed in an
ALSA mixer. (Semi)Pro audio recording is really the only place a good
mixer is needed, everywhere else, pulse is enough. So there has not been
much work on these mixers.

We need a new mixer! Lets think about what a dream recording alsa mixer
would be like. Then we can think about building it. What controls should
be available? what screens should be included? What gui tool kit should be
used? I would think basing the ideas on mudita might be a place to
start... but then I have not used any of the other HW specific mixers and
there may be better ideas. I would suggest starting with the Intel HDA and
AC97 HW.



-- 
Len Ovens
www.OvenWerks.net













More information about the Ubuntu-Studio-devel mailing list