espeakup, alsa, pulseaudio, and volume levels

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



William Hubbs, le Sun 24 Oct 2010 10:41:07 -0500, a ?crit :
> On Sun, Oct 24, 2010 at 03:56:00PM +0200, Samuel Thibault wrote:
> > Getting back to the issue of volume levels in a future Debian installer
> > with software speech synthesis, I've just realized there's direct alsa
> > support in espeakup.  Would it perhaps be better to use that instead of
> > portaudio?
> 
> Unfortunately the direct alsa support is not quite where it needs to be imho.

Ok.

> > In any case, could somebody work on adding an option to set all the
> > muted audio levels to a middle value?  The installer could then pass it
> > to somehow make sure at least some audio goes through.
> 
> The issue here is that the channels are muted by default, and we would
> have to find all muted channels and unmute them as well.  From what I
> remember that has to be done with alsamixer or something similar from
> the command line; I do not know of an API function to unmute sound
> cards.

Well, there must be one since alsamixer is able to do it.

> The way we do that for now on gentoo and arch is with scripts
> that run as part of the boot sequence.

But that'd mean yet more tools on the d-i disk, taking room, while I
believe it would be helpful to have it in espeakup, also for the reason
below:

> > Also, the CMD_SET_VOLUME command only adjust the espeak volume, and not
> > the actual PCM volume for instance.  I'd say with the option mentioned
> > above it should also set all output volumes it can find.
> 
> CND_SET_VOLUME is used when the volume is changed either in the speakup
> sys file setting or from the keyboard, so I'm not sure you want that to
> mess with any volumes other than speakup's volume (espeak's volume
> setting is what actually gets adjusted).

That's why I'm saying it should be done only when the debian installer
gives the option to do so.

> I don't know, again, if there is an ALSA API call that will "find all
> volumes on a card and set them to a certain level" or not.

Probably not that exactly, but there must be an ALSA API that will find
all volumes on a card, an API to get their level and muteness, and an
API to set their level. Looking at the alsamixer source code would
probably be useful.

Samuel



[Index of Archives]     [Linux for the Blind]     [Fedora Discussioin]     [Linux Kernel]     [Yosemite News]     [Big List of Linux Books]
  Powered by Linux