netzstaub

beatz & funkz

Wednesday, March 9, 2005

Festival mit esd unter Gentoo

Unser Router, welcher in einem unbenutzten Kuechenschrank untergebracht ist, hat Soundkarte und Boxen, schliesslich wollen wir Musik von jedem Computer innerhalb unseres Netzes mittels poc in die Kueche senden. Natuerlich wollen wir die Soundkarte fuer mehr nutzen: beispielsweise fuer die cron-gesteuerte Standuhr zur vollen Stunde oder fuer per Text-to-Speech umwandelbare Informationen. Fuer Text-to-Speech verwenden wir festival, welches auch als Gentoo Package zur Verfuegung steht. Leider ist in der aktuell von Gentoo angebotenen Version kein esd Support per USE-flags einstellbar. Da wir esd benoetigen, musste nachgeruestet werden:

Die unterstuetzten Audiomodule (esd, freebsd, irix, linux, mplayer, nas, sun und win32) werden vom Paket speech-tools bereitgestellt. Welche dabei konkret mit einkompiliert werden, haengt von der Datei config/config.in ab. Im ausgelieferten tgz ist esd-Support deaktiviert. Um diese Datei innerhalb des Gentoo-Buildvorgangs zu aendern, fuegen wir in der Datei /usr/portage/app-accessibility/speech-tools/speech-tools-1.2.3-r1.ebuild ans Ende der src_unpack Funktion folgendes an: use esd && sed -i 's/# \(INCLUDE_MODULES += ESD_AUDIO\)/\1/' config/config.in. Dies bewirkt, dass bei aktiviertem esd USE-flag das esd-Modul mitkompiliert wird.

Da wir auf unserem Router kein X installiert haben, muss die Makefile-Konfiguration des esd-Moduls angepasst werden: Wir fuegen zusaetzlich use X || sed -i 's/-lX11 -lXt//' config/modules/esd_audio.mak in das ebuild-Script ein, um nicht benoetigte Libraries zu entfernen.

Um zu ueberpruefen, ob unsere Aenderungen angewendet wurden, rufen wir ebuild /usr/portage/app-accessibility/speech-tools/speech-tools-1.2.3-r1.ebuild unpack auf und pruefen die unter /var/tmp/portage/speech-tools-1.2.3-r1/work/speech_tools/config/ liegenden Dateien config.in und modules/esd_audio.mak. Danach verwenden wir emerge um speech-tools und festival zu installieren. Ein aufgerufenes saytime verwendet daraufhin esd fuer die Audioausgabe.

posted by manuel at 12:26 pm  

2 Comments »

  1. macht doch einen bug unter http://bugs.gentoo.org/ auf, einen ähnlichen gibt es schon:

    http://bugs.gentoo.org/show_bug.cgi?id=57089

    Comment by one-of-foo — March 9, 2005 @ 1:07 pm

  2. Schauen wir mal, was passiert:

    http://bugs.gentoo.org/show_bug.cgi?id=84721

    Noch eine Ergaenzung zum Artikel:
    IUSE muss um esd und X erweitert werden.

    Comment by dividuum — March 10, 2005 @ 10:59 am

RSS feed for comments on this post.

Leave a comment

Powered by WordPress