alsa mixers

2013-05-07 Thread Len Ovens
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 

Re: alsa mixers

2013-05-07 Thread Len Ovens

On Tue, May 7, 2013 3:15 pm, Len Ovens wrote:

   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

Nope, depends on the machine... or really what the most complex audio card
on the machine is. On a machine with 30 + faders on one of the sound cards
it makes the window wide enough to fit that many faders even if the card
it is displaying has less. Pretty much unusable on this machine.

-- 
Len Ovens
www.OvenWerks.net


-- 
Ubuntu-Studio-devel mailing list
Ubuntu-Studio-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-studio-devel


Re: alsa mixers

2013-05-07 Thread Len Ovens


On Tue, May 7, 2013 7:08 pm, lukefro...@hushmail.com wrote:
 Volti has another feature: you get both the mixer and the tray applet,
givng
 all the features of the default GNOME sound applet with a far better mixer,

The default gnome sound applet must be truly abysmal. On Volti I have 10
channels with two faders all with the same label... some of them are off
the screen at any one time so I can't even count to find out which is
which.

 and working fine with ALSA by itself, with Jack not running and PA not
running/not installed.

xfce4-mixer works fine this way as well as does qasmixer, while fitting on
one screen.

 Evejn the media sound up/down keys work, though
 they are press and hold rather than multi-press, which is a little
counterintuitive. You will hear the sound level change and see the tray
applet
 reflect the change, though GNOME's overlay won't open to show it.

That is hardly a requirement for setting input levels, which is the major
use for an alsa mixer. Handy for desktop audio though... which is what
pulse is for. desktop audio can be made to work without pulse, but in that
case xfce4-mixer can do these things too. (and worked the last time I
tried)


 Haven't tested controlling either through it, but I would imagine the
master
 (which the tray applet controls, set it in preferences if it does not)
would
 control ALSA's output just fine with no mattter what is using the sound
card,
 PA or Jack included.

except if you are using something like an ice1712 based audio card, in
which case it can be set to control either the left or the right channel
but not both. (Pulse has a HW specific profile just to make this work)

 The onboard sound on my motherboard does give a wide mixer window, but
you can slide it off the left or right of the screen. No matter how wide
it is,
 you can therefore get to everything.

Two and a half screens worth is a bit much... Thats how wide the window is
on this machine (remember over 30 faders). You have to move the window
carefully or you end up pushing it onto the next workspace :P  In my
opinion, this alone makes the application broken.

 The only real quirks are that you have to drop a script in one of the
autostart
 directories to start Volti at login, and you can quit it from the bottom
of 4 options
 on the right click menu on the applet. That could confuse a new user who
might
 accidently quit their volume control and not know how to restart it
(from terminal
 or from run dialog).

XFCE would have no problem starting it at login, there is a settings
dialog for that. I expect the user would only exit it once before learning
not to do that :) however it does go in the menu and is not hard to find.

 For a pretty GUI around alsamixer, alsamixergui is still out there, I've

Ya... but in many ways it is actually harder to use than alsamixer in a
terminal. Having to restart to change audio card is not nice either.

 kept it
 installed since my first audio editing machines for old time's sake.
Smaller
 sliders, shows EVERYTHING by default. Works no matter what happens to
any other program, so long as ALSA is available. When I was last using
pulseaudio,
 it's claim on the soundcard made alsamixergui show only the master
slider, don't
 know if that's still the case when running PA.

when pulse is running, it seems to create a fake alsa audio card and
makes it default. So any alsa mixer (except alsamixer) seems to load that
card by default. This is so Pulse can replace alsa for those programs that
that only know how to talk with alsa and so that when pulse is not there,
the same app will just work with alsa.

Volti would be good for most HDA sound apps, I think, but once we start
adding the kinds of cards that many of the ubuntustudio users have, it
becomes a problem.

The problem in many ways is that alsa is not made for as wide a range of
cards as there are. some of the alsa drivers that have non-standard
features have named them whatever seemed right to the dev at the time.
Then the same feature on another card may have been named something else.
What does a mixer do with that? A mixer app with profiles would be the
best thing. The profile would decide which faders appeared and what they
are named. It would decide if a control was input or output. (right now
alsa offers both an input and an output fader for both my ADCs and my
DACS... 16 faders for 4 channels) I have an old ensoniq... the inputs come
with one fader, but that fader can be controlled as the input level with
input enable or as an output with mute. But the output has to be unmuted
before the input can be enabled... except the mic where the input can be
enabled with output muted... but the output level still follows the input
level.

I would think that a mixer with user settable profiles, where the
collection of profiles could be built up over time by users who had the
cards would be the best way of doing this. I would like to see all the
controls and switches available in this case. I would like to