Workaround for using speech-dispatcher without blocking /dev/dsp for other apps
Francesco de Virgilio
fradeve11 at gmail.com
Sun Jan 18 12:08:27 CET 2009
Interesting workaround ;)
Pratically, the only modules to cheange from "alsa" to "oss" (for me) are:
But, for a n00b like me, it is not clear how the
/etc/init.d/speech-dispatcher file should be adapted. Could you provide
directly the adapted file?
Korbinian Rosenegger wrote:
> Many of you had problems with openmoocow not mooing or lightsaber not
> starting and complaining about "No available audio device". This is
> often (always?) caused by speech-dispatcher blocking /dev/dsp.
> So here's a workaround for using speech-dispatcher without blocking the
> sound device for applications that use OSS. It's using the OSS output of
> speech-dispatcher and starting it with the alsa-oss wrapper for using
> ALSA. The reason for this is because the OSS output opens the sound
> device only when needed for speech output while the ALSA output keeps it
> open all the time (which wouldn't be a problem when using ALSA only
> since then the drivers can do mixing, but the OSS compability layer in
> the kernel does not support mixing (as fas as i understood it, has to be
> done in userspace with dmix)). I tried it with dmix on my freerunner,
> but it sounds rather bad, so I found this workaround.
> Steps to do:
> - Install alsa-oss and add a missing link:
> opkg install alsa-oss
> ln -s /usr/lib/libaoss.so.0 /usr/lib/libaoss.so
> - Change the output method of all used modules
> in /etc/speech-dispatcher/modules/*.conf from "alsa" to "oss"
> - Use the aoss wrapper in /etc/init.d/speech-dispatcher. Do this twice
> there (once for start in line 18, once for restart in line 31). Change
> the second line from "--exec $DAEMON" to "--exec aoss -- $DAEMON":
> start-stop-daemon --start --quiet --pidfile $PIDFILE \
> --exec aoss -- $DAEMON
> - Restart speech-dispatcher
> - Enjoy openmoocow or ko-lightsaber while speech-dispatcher is running
> I hope I haven't forgot a step here.
> If any of you has a better solution please let us know.
> (Of course you also can run lightsaber or openmoocow with the aoss
> wrapper without touching speech-dispatcher. Maybe this is the better
> solution, but then you have to touch every app that uses OSS, and maybe
> you'll get similar bad quality as with dmix like I did.)
> Maybe someone knows if it is possible to let speech-dispatcher behave
> the same with the alsa output method to open the sound device only when
> it's needed?
> Have fun :)
Francesco de Virgilio
*Ubuntu-it Member and Wiki Editor*
mailto:fradeve at ubuntu-it.org
*Wikimedia Italia Member*
"Love - Peace - Freedom - Free Software"
More information about the community