Mark·LL·et

Prototyp


Voice Avatar

|| by Halis Uzun



Was ist Voice Avatar?

Ein implementiertes Sprachsystem von z.B. einer Person. Es ist fast so, als ob etwas Unlebendiges wieder zum Leben erwacht und anfängt zu sprechen. Die Ernüchterung: Das System besteht nur aus aufgenommenen Sprachdateien und arbeitet mit dem Zufall. Diese können von einer Person entstammen oder auch ganz verrückte Stimmen beinhalten. Es ist sogar möglich, für jeden Menschen ein Sprachpaket als eigenes Avatar zu erstellen, zwar nicht vollständig, aber immerhin spezifisch.



Unendliche Möglichkeiten

Die Kunst besteht darin, personalierte Voice-Apps in Objekte oder in bestimmte Gegenstände zu integrieren, z.B. als Türklingel, Bewegungssensor, Geschenkkiste usw. Dafür sind mindestens ein Lautsprecher, Sensor, Akku, Mikrocontroller und Programmcode notwendig. Und natürlich ein Experte, der sich mit der Technik auskennt.



Zutaten

Hardware


Zubehör


Elektronik Bauteile


Software



Rezept

1. Vorbereitung

Um Raspberry Pi zum ersten mal in in Betrieb zu nehmen, müssen typische Startroutienen durchgeführt werden (Siehe Erstinstallation..). Nachdem das System Funktionstüchtig arbeitet, kann der Lautsprecher über Klinke angeschlossen werden. Der USB-Anschluss des Lautsprechers dient nur dazu, den Lautsprecher in Betrieb zu nehmen, sonst ertönt nichts. Letztendlich kann der PowerBank als Akku an den Raspberry Pi angeschlossen werden. Dabei sich nicht stören lassen, wenn oben rechts am Display ein Symbol erscheint. Das gibt nur an, dass die Stromversorgung eventuell nicht ausreichen könnte, was aber für diese Anwendung kein Problem darstellt und vernachlässigbar ist.


2. Elektronik

Für den Voice Avatar benötigen wir wenige Bauteile. Ein Fotowiderstand und ein kleiner kondensator reicht für die Lichtfeldmessung. Der Vorwiderstand ist nur ein Schutzschalter für den Schieberegler. Wenn man auf das Löten verzichten möchte, reicht es aus ein elektronik Steckbrett und die entsprechenden Jumper Kabel zu benutzen.


3. GPIOs

Die Schnittstellen für den Fotowiderstand und den Schalter ist im Anhang angegeben. Bei diesem Beispiel reicht eine Betriebsspannung von 3,3V für den Schaltkreis aus, der Minuspol wird als GND bezeichnet.


4. Audiofiles

In diesem Beispiel müssen 2 x 3 beliebige Audiofiles (WAV, 16Bit, 44,1kHz) in 2 unterschiedlichen Ordnern vorliegen. Die Dateinamen müssen exakt so angegeben werden, wie im Anhang beschrieben.


5. Programmcode

Die Programmierung des Voice Avatars ist recht simpel gehalten. In diesem Beispiel werden nur 3 Audiofiles zufällig abgespielt, die zuerst vorliegen müssen. Wenn der Schieberegler umgeschaltet wird, greift der Code auf die Audiofiles im anderen Ordner zu. Der Kanckpunkt bei der Programmierung ist der Fotowiderstand. Fällt Licht auf den Fotowiderstand, so verkleinert sich sein Ohmscher Wert und der Kondensator lädt sich schneller auf. Diese Messung inkrementiert man mit einer einfachen Zählschleife, so lange bis ein kritischer Wert erreicht ist. Damit sich aber der Kondensator wider entlädt, wird das Fotosignal GPIO27 bei jedem Aufruf zwischen GPIO.output und GPIO.input gewechselt.


6. Autostart

Damit der Programmcode automatische beim Hochfahren startet, ist ein Eintrag in die "/etc/rc.local" Datei notwendig. Dabei die Datei öffnen und den Codeeintrag vor der Zeile "exit 0" eingeben. Achtung, ggfl. die Datei Nutzungsrechte überprüfen!

/etc/rc.local

7. Booten ohne grafische Oberfläche

Bei dieser Anwendung ist die grafische Benutzeroberfläche nicht notwendig. In der Konigurationseinstellung des Raspberry Pis kann man den grafischen Bootvorgang abschalten, in dem man den CLI Modus aktiviert.

Raspberry Pi Configuration

8. Final

Wenn alles funktioniert, müsste beim Lichteintreffen (vom dunklen zum hellen Bereich) auf die Fotodiode eine Sounddatei abgespielt werden. Ganz zum Schluss kann man die gesammte Elektronik in eine Schachtel mit einer PowerBank Akku reinstecken. Natürlich muss die Fotodiode irgendwie aus der Schachtel licht bekommen.




Anhang

A1)

GPIO-Schnittstelle

A2)

Schaltplan

A3)

Ordnerstruktur

A4)

(start.py)


Video

Hier sind zwei Beispiele, wie man ein Kühlschrank Voice Avatar fähig machen kann. Dabei wurden witzige Sprüche von berühmten Schauspielern in deutscher und türkischer Sprache benutzt.