EarlySpeechDispatcher

Revision 1 as of 2006-06-11 11:53:34

Clear message

Summary

Set up speech-dispatcher to load as early as possible, to provide text to speech services.

Rationale

Users may wish to receive spoken feedback during system boot, particularly for tasks such as filesystem checking. Speech-dispatcher needs to be made available as soon as possible to provide speech support for such tasks. See SpokenBoot for more information.

Use cases

  • Support for spoken feedback during bootup is the primary use for speech-dispatcher being loaded early. See SpokenBoot for more information.

Scope

This specification discusses what needs to be done in order for speech dispatcher to be started as early as possible,

Design

Since most of the synthesizers supported by speech-dispatcher are software, sound card drivers and volume levels need to be set before speech-dispatcher gets loaded. This would be done after the root filesystem is mounted read-only, and the new root has been pivoted to.

Speech-dispatcher would then be loaded, ensuring that its log files are stored on a tmpfs mount temporarily. Once the filesystem is remounted read-write, the daemon would then be restarted, and reset to point back to the original log location.

Implementation

  • Sound services would have to be loaded a lot earlier in the boot process, so that speech-dispatcher has a sound card to use in the event that one is needed.
  • A special init script would be written that would be executed when the filesystem was mounted read-only. The script would take care of loading a specially built copy of the speech-dispatcher daemon that would point to a config file with alternate log locations set. When the filesystem was remounted read-write, the same, or possibly another script would shut down the currently running daemon, and restart speech-dispatcher normally.

Code

Data preservation and migration

Outstanding issues

  • Some form of sound card setup needs to be performed before speech-dispatcher can be used at early boot. Since soundcards havent been loaded yet, a mechanism for determining the default sound card module to use would be necessary. Sound libraries would also need to exist in /lib, due to /usr not being mounted yet.
  • speech-dispatcher needs to obe promoted to main.

BoF agenda and discussion


CategorySpec