Archive for März 2014

Sprich Freund und tritt ein – Sprachausgabe für den Raspberry Pi mit eSpeak und SVOX-pico


Embedded Computer sind je nach Einsatzgebiet häufig nicht mit Bildschirmen oder Displays ausgestattet. Wenn sie aber in wechselnden Umgebungen mit oder ohne DHCP eingesetzt werden, ergibt sich häufig die Anforderung einmal schnell die bezogene oder eingestellte IP-Adresse herauszufinden. Natürlich lässt sich dieses Problem komfortabel mit DynDNS lösen, wenn der Rechner auch wirklich mit dem Internet verbunden ist. Ansonsten bleibt immer nur die Suche nach einem neuen Netzwerkgerät im Webinterface des Routers.

Diese Anforderung hatte ich selber ursprünglich für einen mobilen Roboter, der sich in wechselnden Umgebungen bzw. WLAN-Netzen bewegen konnte und per Webinterface bedient wurde. Um den Roboter initial zu finden, musste die IP-Adresse bekannt sein.
Aber auch für Zwecke der Heimautomatisierung eingesetzte Mini-Rechner müssen nicht immer mit Display betrieben werden. Für die Ausgabe seltener Störungen bietet sich das Audio-Interface, also die Soundkarte, als preiswerte und stromsparende Alternative an.

Mein mobiler Activemedia Pioneer 3AT Roboter mit Sprachausgabe 2006 FernUni in Hagen, damals realisiert mit MBROLA

Computergenerierte künstliche Sprachausgabe wird mit sogenannter Text-to-Speech-Software TTS realisiert. Diese Software setzt mit Hilfe von umfangreichen Aussprache-Lexika oder Heuristiken (Regeln) für die Zielsprache geschriebenen Text zunächst in eine Abfolge einzelner Laute (Phoneme) um. Die einzelnen Laute, bzw. deren Kombinationen werden entweder von einem Menschen bei der Erstellung der Software eingesprochen oder ebenfalls synthetisch (Signalsynthese oder Formantsynthese) erzeugt. Neuere Systeme basieren auf einem umfangreiche Wortschatz an von einem Menschen gesprochenen Worten, so das eine nahezu natürliche Sprache generiert werden kann. Selbst die Herausforderung eine natürliche Sprachmelodie (Prosodie) zu erzeugen, scheinen moderne kommerzielle Systeme zu meistern. Nun erfordert so eine hochqualitative Sprachdatenbank sehr viel Speicherplatz und ist aufwändig und teuer zu produzieren. Trotz allem gibt es im Open-Source-Bereich brauchbare und auch schlanke freie TTS-Programme. Eine sehr Ressourcen-sparende  TTS-Software ist eSpeak. Diese Software wurde ursprünglich auf einem Acorn RISC_OS Computer, also auch auf einer ARM-Architektur, entwickelt und eignet sich durch Ihre Kompaktheit, Ausführungsgeschwindigkeit und geringen Speicherbedarf besonders für Embedded Systeme. Außerdem unterstützt espeak über 20 Sprachen. An die Aussprache muss man sich etwas gewöhnen, sie ist aber verständlich.

Die auf dem Raspberry-Pi verwendete Debian-Variante Rasbian unterstützt eSpeak out-of-the-box.

Mit

sudo apt-get install espeak

ist die Installation erledigt. Die Ausgabe testen kann man testen, nachdem man das Audiointerface auf den Klinkenstecker per Alsamixer umgestellt hat. Default ist beim Rasberry PI Audioausgabe über HDMI. In /etc/config.txt kann das aber auch fest eingestellt werden.

sudo amixer cset numid=3 1

espeak -vde "hallo welt hier spricht der räspberri pei"

Wenn keine Option -w angegeben wird, gelangt die Ausgabe direkt an das Audio-Device /dev/dsp .

Höhere Sprachqualität mit SVOX-Pico

Eine Alternative mit der derzeit besten Sprachqualität im Open-Source-Bereich stellt die SVOX-Pico-TTS-Engine dar. Vielleicht kommt dem einen oder anderen Nutzer die Stimme bekannt vor. SVOX-Pico ist die in den Android-Versionen 2.1-2.3 eingesetzte Default-Sprachausgabe. Die neue, ab der Version 4.0 von Google für Android eingesetzte TTS-Engine, basiert leider auf Closed-Source-Software. Die SVOX-Pico TTS-Engine ist übrigens auch die Default-Engine für meine Wikipedia-Sprachausgabe Pediaphon und unterstützt neben Englisch (UK und US), Deutsch, Französisch auch Italienisch und Spanisch in hoher Qualität.

SVOX-Pico liegt als Open-Source vor, ist auf diverse Linux-Varianten portiert worden und lässt sich z.B. unter Ubuntu einfach mit sudo apt-get install pico2wave installieren. Für Raspbian muss das Paket selber kompiliert werden. Alternativ können Sie mein Debian-Paket für Rasbian ARM einfach herunterladen (MD5-Hash: b530eb9ff97b9cf079f622efe46ce513) und mit den Kommandos


apt-get install libpopt-dev
sudo dpkg --install pico2wave.deb

auf dem Rasberry Pi installieren. Das libpopt-dev ist ebenfalls erforderlich.
Mit

sudo amixer cset numid=3 1
pico2wave --lang=de-DE --wave=/tmp/test.wav "hallo welt hier spricht der räspberri pei"; play /tmp/test.wav;rm /tmp/test.wav

können Sie die Sprachausgabe testen.

Mit

sudo apt-get remove pico2wave

kann man das Debian-Paket auch wieder sauber deinstallieren.
Wer selber kompilieren möchte, muss neben know how etwas Geduld mitbringen.
Um die Quellen zu kompilieren ist neben automake auch das libtool erforderlich:

git clone -b upstream+patches git://git.debian.org/collab-maint/svox.git svox-pico
apt-get install automake libtool libpopt-dev
automake
./autogen.sh
./configure
make all
make install

Alternativ kann man auch ein direkt ein Debian-Paket bauen, dass auch sauber wieder aus dem System entfernt werden kann.
Ich habe zusätzlich für mein Binary die GCC-Optionen
-mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard
passend für den Raspberry Pi angepasst, damit auch die Hardware floation-point Unterstützung genutzt wird.

Um dann z.B. beim Bootvorgang automatisch die IP-Adresse des Pis zu sprechen, habe ich in der /etc/rc.local folgende Kommandos eingefügt:

/usr/bin/amixer cset numid=3 1
/usr/bin/espeak -vde "meine ei pie Adresse lautet $_IP"

Sicherlich lassen sich noch eine Menge anderer sinnvolle Anwendungen für eine Sprachausgabe auf dem PI finden. Mit seinen Sensoren kann der Pi auch als ein preiswertes Hilfsmittel für Blinde-Nutzer eingesetzt werden.

CeBIT 2014 Tipps – ein Merkelphone macht noch keinen Sommer – IT im Schatten der NSA-Affäre


Als Überzeugungstäter war ich auch im Jahr 2014 wieder auf der CeBIT, obwohl ich jedes Mal denke die Messe hat sich überholt. Man muss nicht wirklich dort gewesen sein. Aber die unaufgeregte fast provinzielle Atmosphäre dort gefällt mir wesentlich besser als die unglaublich hippe Dot-Com-Zeit im Hannover der Jahrtausendwende.

Obwohl Datenschutz auch auf den letzten beiden CeBIT-Messen ein Schwerpunktthema war, war ich doch gespannt, wie sich die NSA-Affäre auf die IP-Welt dort so auswirkt. Business as usual mit Daten weltweit verteilt in der Cloud, oder auch kritische Töne auf der IT-Messe? Die NSA-Affäre beginnt vielleicht nun einigen Anbietern wirklich Geld zu kosten und die Kunden sind für das Thema Datensicherheit sensibilisiert worden. Auf der CeBIT war dazu aber bis auf Lippenbekenntnissen recht wenig zu hören. Das Thema Cloud wurde weiter ge-hyped als ob nichts geschehen wäre. Allerdings gab es wieder viel Interesse an Live-Hacking-Events mit mobilen Endgeräten. Zumindest die Nutzer scheinen also sensibilisiert zu sein. Die Firma SecuSmart positioniert das Merkelphone nun auch für Firmen- und Privatanwender, aber das nützt nicht wirklich etwas, solange die Bundesregierung in der NSA-Affäre völlig untätig bleibt.

Ärgerlich war wieder einmal die CeBIT-App. Die Messe-AG greift in diesem Bereich immer wieder sicher ins Klo. Nicht nur das wirklich krude Bedienkonzept für eine App, die man ja nur kurz bei einem Messebesuch bedienen soll, sondern auch technische Dinge wie der Akku- und Datenverbrauch sind eine Katastrophe. Aussteller in der Suche zu finden ist Glückssache und ein Klick auf die Standnummer holt nicht etwa den Messeplan nach vorn, es passiert einfach gar nichts. Besonders glücklich ist der Messebesucher, wenn er für eine frisch installierte App sofort Datenupdates ziehen muss. Ich kann nur jedem Benutzer raten, sich einfach die PDF-Pläne herunterzuladen. Vielleicht kommt die Messe-AG ja einmal auf die Idee die Ausstellerdaten einfach als Datenbankexport öffentlich zu machen. Dann gibt es bestimmt sofort sehr viel bessere open source Lösungen.

Die CeBit App stürzt gerne mal ab und frisst Daten

Wirklich innovative Dinge bekommt man auf der CeBIT leider nur noch im Hochschulbereich zu sehen. Dort war das DFKI mit einem affenartigen Roboter zu sehen und hatte auch interaktives Fernsehen verknüpft mit semantic web im Gepäck. Eine schönen orangenen NAO habe ich mir direkt beim Hersteller Aldebaran angeschaut. Auch weiterhin werden NAOs leider nur an Hochschulen verkauft, Privatleute haben keine Chance. Der Preis liegt auch immer noch wie festgenagelt bei ca. 5000 €.

Absolute Publikumsmagneten waren 3D-Drucker von denen es eine ganze Batterie in unterschiedlichen Ausprägungen von unterschiedlichen Herstellern zu sehen gab (MakerBot Mini, Ultimaker, Airwoolf 3D, Zmorph). Pearl setzt dem Trend einmal mehr die Krone auf und bietet ein etwa Lötkolben-großes freihändiges Gerät für Leute mit absoluter Körperbeherrschung an. Eigentlich ist es aber nur eine bessere Heißklebepistole, die aber das gleiche Granulat wie in den 3D-Druckern als Druckmedium verwendet.

Zmorph 3D-Drucker

Auch Quadcopter-Drohnen scheinen nun im Endkundenmarkt angekommen zu sein. Die Firma DJI (www.dji.com) hatte von der relativ kompakten Phantom 2 Vision bis hin zu dem beeindruckenden, vielleicht sogar angsteinflößenden Modell mit der Bezeichnung „Spreading Wings S1000 Premium“, die eine ganze DSLR tragen kann, eine ganze Palette von Kameradrohnen im Programm. Nicht auszudenken wenn, wie bei Daniel Suarez im Roman kill decision jemand auf die Idee kommt die Nutzlast zu verändern.

Kameradrohne mit DLSR als Nutzlast

Was mir auch noch außerordentlich gut gefallen hat sind die wirklich todschicken Rechner von “i am eco” (www.iameco.com), die eigentlich als nachhaltige Computer gedacht sind. Die edlen wohnzimmertauglichen Holzgehäuse sind aus nachhaltig in Europa hergestellten Hölzern gefertigt. Das wunderschöne D4R-Laptop (Notebook, auch die Bezeichnung scheint nachhaltig zu sein ;) wird mit Abfallhölzern aus der Möbelproduktion aufgehübscht. Technisch verbinden die Rechner stromsparende, lüfterlose (das Standgerät mit Dual Core Prozessor und 7 Watt) Green-IT mit attraktiven Äußeren. Das „Laptop”-Notebook ist sogar auch mit aktuellem Core i7 Prozessor erhältlich.

iameco Holz-Rechner

Diese Rechner sollen für 10 Jahre in Benutzung bleiben, was zunächst einmal recht ambitioniert klingt. Da sich ja auch in den letzten fünf Jahren die Taktfrequenzen nicht mehr wesentlich erhöht haben, kann das bei Verwendung geeigneter Betriebssysteme vielleicht sogar funktionieren. Auf jeden Fall sind die Geräte einfach schön und werden Ihren Markt sicher finden.

Der Holz-PC von hinten und das Notebook im Hintergrund