[pulseaudio-discuss] Using pulseaudio with speakup

Bill Cox waywardgeek at gmail.com
Sat Jan 2 08:04:42 PST 2010


Hi, Colin.  Sorry about always replying at the top.  This is the usual
custom for the blind, as they can't easily skip down to the new stuff.

I'd prefer not to write new PA modules for each accessibility driver.
I think it's very important to make it as easy as possible for
existing accessibility drivers to work seamlessly with PA, and we
don't want to polute the PA module space with a dozen accessibility
modules (there are actually quite a lot of programs that talk - I've
just mentioned the most important).

I like your suggestion of CK understanding an idle state.  Does it
already have hooks for when applications pause their audio?  How about
if they disable the mic?  Another important accessibility feature is
speech-recognition.  You aren't hearing from a bunch of mad users who
can't type simply because Linux speech recognition basically sucks
right now.  When that changes, we're going to need the speech
regcognition engine to play nicely just like speakup.  Users will need
to speak their login and password, and they'll need it when they su to
root.  Does CK have a way to tell Skype running as "bill" that the
speech-recognition engine running as "dragon-dictate" has corked it's
use of the mic?

Adding such hooks, or using existing ones sounds very promising to me,
though I'm nearly 100% ignorant currently of CK.

Bill

On Sat, Jan 2, 2010 at 10:01 AM, Colin Guthrie <gmane at colin.guthr.ie> wrote:
> 'Twas brillig, and Bill Cox at 02/01/10 14:20 d isid gyre and gimble:
>> Hi, Colin.  Here's what I'm thinking of doing.  I think PulseAudio
>> should support the concept of a "global" sound source attached to a
>> card, and whichever pulseaudio system has rights to use the card
>> should be responsPible for processing the global source.  Any
>> pulseaudio client could declare themsevles a "global" source, but to
>> be considered authorised, they must be of a special global source
>> group, or perhaps run as a special global source user.
>
> This is quite easy to say but certainly very difficult to actually
> "write". Even if there are 5 users logged in and running 5 separate PA
> instances, each users' PA clients will be talking to totally separate PA
> daemons and each will be essentially ignorant of the others existence
> (as they should be).
>
> There is something that can be done however....
>
>> It is clear to me, and I hope becoming clear to you, that there are a
>> few special cases where a process needs continuous access to the sound
>> card, and needs to share it with the user.  Speakup is one.  But even
>> looking at this, it's actually multiple cases.  Speakup just creates
>> the /dev/speakup_soft device, which speakup clients read to produce
>> speach.  Two popular drivers exist, both with PA backends:
>> speechd-up/speech-dispatcher, and espeakup.  I'm sure there are more
>> reasons for other sound drivers to be considered "global".
>
> With this module, is there any reason to not write a PA module that
> processes this /dev/speakup_soft node and does the necessary? e.g. the
> speechd-up or espeakup code basically ported to a PA module?
>
> It doesn't really solve the overall problem of when to start it tho', so
> not sure it's really worth it. PA will be started at X11 login or when
> it is "needed" (e.g. something tries to output sound and PA is not yet
> running) via it's autospawning system.
>
> Having "module-speakup" will not cause autospawning, so it would rely on
> PA being started for it to work, which is the same situation as currently.
>
> I sent a (rather long) reply earlier today that talks about making
> console-kit aware of "idle" state and having various hooks for it. I
> think (at the moment) that this is probably the right direction for
> accessibilty apps. i.e. PA just works as normal (and is launched when
> needed) but console-kit itself is the thing that can be used to hook
> into for an accessible system.
>
> I'm happy to accept counter arguments tho'!!
>
>> Would this scheme be in keeping with PA security?  It seems to me that
>> it would be pretty secure: it's only a sound source, and there's no
>> possibility of accessing the mic, for example, and only special
>> processes can use it.
>
> I think it would be fine, but again the problem is more related to
> starting PA in the first place not so much it dealing with a "global
> source" per se.
>
> I hope the longer reply from earlier today is understandable and I'm not
> smoking too much crack :p
>
> Col
>
> --
>
> Colin Guthrie
> gmane(at)colin.guthr.ie
> http://colin.guthr.ie/
>
> Day Job:
>  Tribalogic Limited [http://www.tribalogic.net/]
> Open Source:
>  Mandriva Linux Contributor [http://www.mandriva.com/]
>  PulseAudio Hacker [http://www.pulseaudio.org/]
>  Trac Hacker [http://trac.edgewall.org/]
>
> _______________________________________________
> pulseaudio-discuss mailing list
> pulseaudio-discuss at mail.0pointer.de
> https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
>



More information about the pulseaudio-discuss mailing list