OpenLexa
DIY AI Voice Assistant mit Raspberry Pi & GPT-4o
How-To Guide & Tutorial
OpenLexa ist ein Open-Source, Always-on KI-Sprachassistent — selbst gebaut. Stell dir einen selbstgemachten Amazon Echo vor, der statt Alexa OpenAIs GPT-4o Realtime API verwendet. Du redest, er hört zu und antwortet in einer natürlichen Stimme. Keine Tastatur. Kein Touchscreen. Nur Gespräch.
Er läuft auf einem winzigen Raspberry Pi, verbindet sich mit einem Bluetooth-Lautsprecher/Mikrofon und zeigt optional ein animiertes Roboter-Gesicht auf einem kleinen HDMI-Display. Das ganze Gerät passt in eine Hand — und ist ab 35 € realisierbar.
Was macht OpenLexa besonders?
Echtzeit-Konversation
GPT-4o Realtime API für minimale Latenz und flüssige Gespräche.
Vollständig sprachgesteuert
Kein Touch, keine Tastatur — nur Stimme. Immer an, immer bereit.
Wake-Word-Aktivierung
Offline-Erkennung via Porcupine — ~1 % CPU, kein Netzwerk, kein API-Kosten im Standby.
Mehrsprachig
Out-of-the-box mehrsprachig — einfach in den Instructions einstellen.
100% Open Source
MIT-Lizenz. Vollständig anpassbar, forkbar und erweiterbar.
Was du brauchst — ab 35 €
Raspberry Pi + Audio-Gerät + MicroSD — das sind die einzigen drei Pflicht-Komponenten. Für das Audio-Gerät gibt es zwei Optionen: Bluetooth (kabellos) oder USB (plug-and-play). Display, Netzteil und Kabel hast du wahrscheinlich schon zuhause.
Raspberry Pi Zero 2 W — ~15 €
Das Gehirn des Projekts. Klein, günstig, leistungsfähig genug für GPT-4o Realtime.
Option A: Bluetooth Speaker + Mic (Soundcore Mini) — ~20 €
Audio-Ein- und Ausgabe in einem Gerät. Verbindet sich per Bluetooth mit dem Pi.
Option B: USB Speaker Bar — ~15 €
Plug-and-play USB-Audio — kein Bluetooth-Pairing nötig. Direkt einstecken, PipeWire erkennt es automatisch.
3,5" HDMI-Display — ~20 € (Optional)
Zeigt das animierte Roboter-Gesicht und Live-Transkription. Kann weggelassen werden.
MicroSD (16 GB+) + USB-Netzteil — ~13 €
Standard-Raspberry-Pi-Zubehör. MicroSD für das OS, 5V/2,5A Netzteil für die Stromversorgung.
Dazu kommt die OpenAI API (pay-per-use): ca. 0,10–0,30 € pro Gesprächsstunde. Für normalen Heimgebrauch sind das wenige Cent bis maximal ein Euro pro Tag.
Aufbau in 8 Schritten
Die komplette Einrichtung dauert etwa 30–60 Minuten. Alles läuft über SSH — kein Monitor, keine Maus nötig.
Raspberry Pi OS flashen
Raspberry Pi OS Lite (64-bit) mit dem Pi Imager flashen. WLAN und SSH vorab konfigurieren.
Booten & verbinden
Pi starten und per SSH verbinden: ssh pi@raspberrypi.local
System-Abhängigkeiten installieren
PipeWire (Audio), pygame (Display) und Nanum-Fonts installieren.
Bluetooth koppeln
Soundcore Mini per bluetoothctl koppeln, vertrauen und verbinden.
Repository klonen
git clone https://github.com/ARDings/OpenLexaPi.git
Python-Abhängigkeiten
websockets und pygame über pip3 installieren.
API-Key konfigurieren
OpenAI API-Key, Stimme und Persönlichkeit in main.py eintragen.
Starten & reden
python3 main.py — Startup-Chime abwarten und einfach lostreden.
Anpassung
Das Beste an OpenLexa ist, wie einfach es sich personalisieren lässt — alles in wenigen Zeilen Python.
Persönlichkeit
INSTRUCTIONS in main.py ändern — z.B. „Du bist Jarvis, ein sarkastischer KI-Butler."
Stimme
VOICE auf alloy, ash, coral, echo, nova oder shimmer setzen.
Augen-Farben
RGB-Konstanten in display.py ändern für individuelle Augenfarben auf dem Display.
Sprache
In den Instructions einfach „Antworte immer auf Deutsch." oder eine andere Sprache angeben.
Unter der Haube — Wie es funktioniert
OpenLexa besteht aus drei Dateien: launcher.py wartet auf das Audio-Gerät und startet die App. main.py verwaltet Wake-Word-Loop, WebSocket-Session und Audio-I/O. display.py steuert das Pygame-Display als Daemon-Thread.
SLEEPING
Porcupine (offline) ◄── Mic (USB oder BT) — wartet auf "Computer"
│ Wake-Word erkannt
▼
ACTIVE
Mic ──► AudioRecorder ──► OpenAI Realtime API ──► AudioPlayer ──► Speaker
[15s Stille] ──► zurück zu SLEEPING
Das Herzstück ist eine persistente WebSocket-Verbindung zur OpenAI Realtime API — sie vereint Speech-to-Text, LLM-Inferenz und Text-to-Speech in einem einzigen Kanal. Kein Chaining von drei separaten Diensten, keine zusätzliche Latenz.
Technische Entscheidungen
Warum OpenAI Realtime API?
Eine persistente WebSocket-Verbindung ersetzt drei separate Dienste (Whisper → GPT → TTS). Voice Activity Detection läuft server-seitig — kein lokales VAD-Library nötig, kein CPU-Overhead auf dem Pi.
Warum PipeWire statt ALSA?
Raspberry Pi OS Bookworm nutzt PipeWire als Standard-Audio-Server. Es verwaltet Bluetooth-Profil-Switching (A2DP ↔ HFP), Resampling und Echo-Cancel transparent — ohne manuelle ALSA-Konfiguration.
Echo-Prävention
Wenn die KI spricht, wird das Mikrofon softwareseitig gemutet. Nach dem Sprechen: 2,5 Sekunden Stille für Raumecho-Abklingen → Mikrofon-Queue flushen → Mikrofon wieder aktivieren. Kein akustisches Echo trotz physischer Nähe von Mic und Speaker.
Retro-Display auf minimalem Hardware
Der Raspberry Pi Zero hat nur 512 MB RAM und keine dedizierte GPU. Animierte Elemente werden auf einem 200×120 Canvas gerendert und 4× hochskaliert — das sind 6,25% der Pixel einer 800×480 Auflösung. Der 4×-Upscale erzeugt dabei bewusst ein sichtbares Pixelraster: den Retro-LED-Matrix-Look der Roboteraugen.
Optionale Erweiterungen
Echo-Cancellation
Falls der Assistent seine eigene Stimme aufnimmt: WebRTC Echo-Cancellation via PipeWire aktivieren und permanent in der Konfiguration speichern.
Auto-Start beim Booten
Systemd-Service erstellen, damit OpenLexa beim Einschalten des Pi automatisch startet — kein Login nötig.
Troubleshooting
Kein Audio?
pactl list sinks ausführen und prüfen, ob das Bluetooth-Gerät als Standard-Sink gelistet ist.
Mikrofon nicht erkannt?
Bluetooth-Gerät trennen und erneut verbinden. Sicherstellen, dass es im HFP-Modus läuft (nicht nur A2DP).
Display zeigt nichts?
pygame installiert? HDMI-Display vor dem Booten anschließen.
API-Fehler?
API-Key in main.py prüfen und sicherstellen, dass das OpenAI-Konto ein Guthaben hat.
Vollständige Dokumentation
Diese Seite gibt einen Überblick. Die vollständige README auf GitHub enthält alle Details zu Setup, Konfiguration, Dateistruktur und weiteren technischen Hintergründen.
OpenLexa selbst bauen
Vollständiger Quellcode, Dokumentation und Community-Updates auf GitHub — MIT-Lizenz, kostenlos, vollständig anpassbar.
Zum GitHub Repository →