Verwertung

Haben Sie einmal die Einstellungen Ihrer Wahl gefunden, möchten Sie sich den obigen Einzeiler sicher nicht jedesmal aus den Fingern saugen. So bietet sich seine Verlagerung in ein kleines Skript namens txt2snd an, das einen String oder eine ASCII-Datei gesprochen an Ihre Schallwandler weiterreicht (Listing 1).

Listing 1

Was auf die Ohren – txt2snd

#!/bin/bash
if [ $# = 0 ]
then
  echo "Usage: `basename $0` -f [filename]
       `basename $0` -s \"Text, den Sie vorgelesen bekommen wollen\"
`basename $0` jagt ein Textargument oder den Inhalt einer Datei durch txt2pho
und mbrola und spielt die entsprechende Audioumsetzung mit bplay ab."
  exit 1
elif [ $1 = -f ]
then
  txt2pho -i $2 -f | mbrola /usr/local/mbrola/txt2pho/data/de3 - - \
  | bplay -s 22050 -b 16
elif [ $1 = -s ]
then
  echo $2 | txt2pho -f | mbrola /usr/local/mbrola/txt2pho/data/de3 - - \
  | bplay -s 22050 -b 16
fi
    @KE:

In der ersten Zeile eines Skriptes muss immer der zuständige Interpreter stehen – in diesem Fall wurde mit der Bash die Standard-Shell gängiger Linux-Distributionen gewählt, so dass es sich im Skript so wie in der gewohnten Shell walten und schalten lässt. Mit if-elif-(also "if-else if"-)Bedingungen überprüft es, ob und mit welchen Optionen es aufgerufen wird. Wurden keine überreicht, gibt echo einen Hilfetext aus. Hat der Benutzer jedoch die Option -f gesetzt, erwartet txt2snd eine Dateiangabe und lässt die Stimme den Dateiinhalt sprechen. Beim Schalter -s hingegen wird der nachfolgend übergebene Text akustisch dargeboten. Einfache Sprachmeldungen sind so sehr leicht in bestehende, bislang einzig optisch zu lösende Ausgaben integrierbar.

Komfort²

Noch schöner und komfortabler wird es, wenn man den Inhalt des cut buffer (dieser beinhaltet einen mit der Maus selektierten Text) auf Knopfdruck um die Ohren bekommt. Haben Sie den beliebten Window Manager Window Maker [6] auf Ihre Festplatte gepackt, so besitzen Sie auch das zugehörige Tool wxpaste. Alternativ finden Sie es als Einzelgänger auch auf der Heft-CD, sowohl im Quelltext als auch als fertig übersetztes Binary, das Sie nur noch nach /usr/local/bin/wxpaste kopieren müssen.

Dort angekommen schickt es bei jedem Aufruf alles von Ihnen mit der Maus Markierte nach stdout. Was dort landet, ist wie gesehen ein potenzieller Kandidat zur weiteren Verwertung durch MBROLA:

wxpaste | txt2pho -f | mbrola /usr/local/mbrola/txt2pho/data/de3 - - | bplay -s 22050 -b 16

Sobald Sie diesen Befehl (oder auch eine erneut hierfür angelegte Skriptdatei) in Ihrem Startmenü unterbringen oder als Icon ablegen, bekommen Sie den markierten Bereich einer Web-Seite auf Mausklick vorgelesen. In Abbildung 1 sehen Sie das Desktop Environment XFce [7], bei dem hierzu lediglich ein auserkorenes Plätzchen mit der rechten Maustaste angestoßen werden muss. Schon öffnet sich eine Dialogbox, in der Sie obigen Mammutbefehl bequem unterbringen. Noch ein passendes Icon auswählen, dem Kind einen Namen spendieren (hier select2snd), und fertig ist Ihr vollautomatischer Sprecher.

Abbildung 1: TTS integriert in die Toolbar von XFce

Leider wissen nicht alle Programmierer um die Vorzüge des X-Clipboards (das zwischen einfach selektiertem Text und mehreren Speichern, genannt (primary) selection, unterscheidet). Und so gibt es wenige Anwendungen, bei denen Sie zusätzlich zum Markieren mit der Maus aus dem Pulldown-Menü den Eintrag Copy wählen müssen, damit der Text auch im relevanten Teil des Clipboards landet. wxpaste kann sich seine Informationen allerdings auch aus jedem anderen Winkel der Zwischenablage holen, wie ein Blick in die Manpage oder der Aufruf wxpaste --help verraten.

Kasten 1: Zeitansage@KL:Öffentliche Plätze beherbergen meist eine Uhr. Fehlt diese, wird man prompt angesprochen: "Entschuldigung, könnten Sie mir sagen, wie spät es ist?". In der Regel wird der Zeitlose daraufhin eine Antwort an seine Lauscher, und nicht ein Ziffernblatt vor seine Photozellen bekommen.

Solcherlei bewährtes Verhalten lässt sich mit Hilfe von MBROLA auch dem Desktop beibringen: Ist Ihre Desktop-Uhr einmal vom Fensterdschungel überwuchert, könnten Sie zwar das Unkraut mit unzähligen Fingerbewegungen jäten, doch einfacher ist es sicherlich, die Zeit auf einen einzigen Mausklick hin gesprochen zu bekommen.

date ist der Shell-Befehl, der sämtliche Informationen zu Datum und Uhrzeit parat hat. So gibt ein date +%H die aktuelle Stunde aus und ein date +%M die überzähligen Minuten. Damit alleine ist es jedoch nicht getan: Zusätzlich sollte die Ansage mitteilen, dass es sich bei diesen Zahlen um Stunden und Minuten handelt (der date-Befehl liefert schließlich nur nackte Zahlen). Der erwünschte Wortlaut lässt sich daher mit folgendem Konstrukt zusammenstricken:

jo@planet ~> echo `date +"%H"` "Uhr und" `date +"%M"` "Minuten"
17 Uhr und 08 Minuten

Diese Ausgabe kann nun wie gewohnt per Pipe oder in einem Skript an txt2pho und MBROLA geschickt werden, womit das Ganze wiederum in ein Startmenü eintragbar bzw. als Programm-Icon auf dem Desktop ablegbar wird.

Die Zahl "17" spricht MBROLA hierbei bemerkenswerter Weise nicht als "eins sieben", sondern wirklich als "siebzehn" aus. Anders die "08" – diese wird wirklich als "null acht" betrachtet. Allerdings stellt dies in unserem Anwendungsfall eher einen Schönheitsfehler als einen echten Mangel dar. Versierte Anwender können selbst ein Skript basteln, das mit if-Abfragen und dem Tool sed Kosmetik betreibt.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Sprachwunder
    Um dem Computer das Sprechen beizubringen, bedarf es keiner kommerziellen Lösung: Mit Kttsd und Tools wie Mbrola und Txt2pho macht Ihr Rechner HAL 9000 Konkurrenz.
  • WaveTools
    In Ausgabe 01/2003 haben wir ausführlich Einsatzgebiete der WaveTools, insbesondere der Programme wfct, wflt, wmix, und wplot, vorgestellt. Jetzt werfen wir einen Blick auf die restlichen Tools und zeigen deren Anwendungsmöglichkeiten.
Kommentare

Infos zur Publikation

LU 09/2015: Paketverwaltung

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Grammatikprüfung in LibreOffice nachrüsten
Grammatikprüfung in LibreOffice nachrüsten
Tim Schürmann, 24.04.2015 19:36, 2 Kommentare

LibreOffice kommt zwar mit einer deutschen Rechtschreibprüfung und einem guten Thesaurus, eine Grammatikprüfung fehlt jedoch. In ältere 32-Bit-Versionen ...

Aktuelle Fragen

Scanner EPSON Perfection V 300 photo und VueScan
Roland Welcker, 19.08.2015 09:04, 1 Antworten
Verehrte Linux-Freunde, ich habe VueScan in /usr/local/src/vuex_3295/VueScan installiert, dazu d...
Empfehlung gesucht Welche Dist als Wirt für VM ?
Roland Fischer, 31.07.2015 20:53, 2 Antworten
Wer kann mir Empfehlungen geben welche Distribution gut geeignet ist als Wirt für eine VM für Win...
Plugins bei OPERA - Linux Mint 17.1
Christoph-J. Walter, 23.07.2015 08:32, 3 Antworten
Beim Versuch Video-Sequenzen an zu schauen kommt die Meldung -Plug-ins und Shockwave abgestürzt-....
Wird Windows 10 update/upgrade mein Grub zerstören ?
daniel s, 22.07.2015 08:31, 7 Antworten
oder rührt Windows den Bootloader nicht an? das ist auch alles was Google mir nicht beantw...
Z FUER Y UND ANDERE EINGABEFEHLER AUF DER TASTATUR
heide marie voigt, 10.07.2015 13:53, 2 Antworten
BISHER konnte ich fehlerfrei schreiben ... nun ist einiges drucheinander geraten ... ich war bei...