Eine nützliche Sprachschnittstelle sollte sich wie ein Gespräch anfühlen. Der Nutzer sollte nicht warten müssen, bis eine Aufnahme zu Ende ist, bevor er wieder sprechen kann. Dieses Projekt erstellt ein Edge-Sprachterminal, das zuhört, über einen Lautsprecher antwortet und seine Antwort stoppt, sobald der Nutzer während der Wiedergabe zu sprechen beginnt.
Spracherkennung und Sprachsynthese laufen auf dem Edge-Gerät. Je nach Hardware und Datenschutzanforderungen kann das Dialogmodell einen OpenAI-kompatiblen Cloud-Endpunkt nutzen oder lokal laufen. Damit eignet sich das Projekt für Serviceschalter, Ausstellungen, Kioske, Terminals in intelligenten Räumen und Sprachschnittstellen für Roboter.

Was zeichnet dieses Projekt aus?
Die zentrale Funktion ist das Unterbrechen einer laufenden Antwort: Das Mikrofon nimmt auch während der Lautsprecherwiedergabe weiter verarbeitetes Audio auf. Erkennt das System neue Sprache, unterbricht es die Wiedergabe und hört auf die nächste Anfrage.
Dafür ist ein Mikrofonarray mit hardwarebasierter akustischer Echounterdrückung (AEC) nötig. Ohne AEC kann der Lautsprecherton über das Mikrofon zurückkehren und als Stimme des Nutzers erkannt werden. reSpeaker XVF3800 ist die geprüfte Standardauswahl, da es einen USB-Aufnahmekanal mit AEC-Verarbeitung bereitstellt.
Auch die Sprachverarbeitung bleibt nah am Nutzer:
- Automatische Spracherkennung (ASR) läuft auf dem Sprachhost.
- Sprachsynthese (TTS) läuft auf dem Sprachhost.
- Der dauerhaft aktive Sprachagent verwaltet Zuhören, Unterbrechungen, Dialog und Wiedergabe.
- Bei Auswahl eines Cloud-LLM muss nur die Dialoganfrage das Gerät verlassen.
- Eine vollständig lokale Voreinstellung kann Sprach- und Dialogverarbeitung vor Ort halten.
Funktionsweise des Systems
Das Mikrofonarray sendet AEC-verarbeitetes Audio per USB an den Sprachhost. Dieser erkennt Sprache, wandelt sie in Text um, sendet den Text an das gewählte Dialogmodell und wandelt dessen Antwort wieder in Audio um. Die Wiedergabe erfolgt über den Lautsprecher am 3.5 mm-Ausgang des reSpeaker.

Das Diagramm zeigt den logischen Audiofluss. Schließe den Lautsprecher für die Hardwarekonfiguration dieser Anleitung an den 3.5 mm-Ausgang des reSpeaker XVF3800 an.
| Schritt | Aufgabe |
|---|---|
| Aufnahme vor Ort | Ein USB-Mikrofonarray nimmt Sprache auf und entfernt Wiedergabeechos in der Hardware. |
| Sprachhost | Der reComputer führt ASR, TTS, Sprachaktivitätserkennung und den Dialogagenten aus. |
| Dialogmodell | Ein OpenAI-kompatibler Endpunkt oder ein lokales LLM erzeugt die Antwort. |
| Wiedergabe | Ein Lautsprecher am 3.5 mm-Ausgang des reSpeaker XVF3800 gibt die synthetisierte Antwort wieder. |
| Unterbrechung | Neue Sprache des Nutzers unterbricht die aktuelle Antwort und beginnt die nächste Gesprächsrunde. |
Die Open-Source-Implementierung ist in OpenVoiceStream verfügbar. Sie bietet gerätespezifische Sprach-Backends und hält zugleich die Dialoganwendung und Dienstschnittstellen auf allen unterstützten Hosts einheitlich.
Eine Bereitstellungsoption wählen
Cloud- oder OpenAI-kompatibles LLM
Dies ist für die meisten Bereitstellungen die einfachste Option. ASR und TTS bleiben auf dem Sprachhost, während der erkannte Text an Qwen API oder einen anderen OpenAI-kompatiblen Endpunkt gesendet wird. Bei der Bereitstellung gibst du die Basis-URL, den API-Schlüssel und die Modell-ID an.
Wähle diese Option, wenn du eine große Modellauswahl möchtest, nicht sämtliche Gesprächstexte vor Ort bleiben müssen oder der Host nicht genug Kapazität für Sprachdienste und ein lokales LLM gleichzeitig hat.
Vollständig lokaler Dialog
Wähle eine lokale Voreinstellung, wenn Audio und Gesprächstext auf dem Gerät bleiben müssen oder das Terminal ohne dauerhafte Internetverbindung funktionieren soll. Diese Anleitung verwendet für die vollständig lokale Konfiguration reComputer RK3588 mit einem RK1828/RM182X-Beschleuniger für Qwen3-4B. Ein Cloud-API-Schlüssel ist nicht erforderlich.
Die erste Bereitstellung benötigt weiterhin Internetzugang, um Container-Images und Modellartefakte herunterzuladen. Nach dem Zwischenspeichern dieser Dateien kann eine lokale Voreinstellung offline arbeiten.
Den Sprachhost wählen
Diese Anleitung behandelt folgende SenseCraft Solution-Optionen:
| Dialogoption | Gerät | Ausführungsort des Dialogmodells |
|---|---|---|
| Cloud- oder OpenAI-kompatibles LLM | reComputer RK3576 | Cloud oder anderer kompatibler Endpunkt; ASR und TTS bleiben auf dem RK3576 |
| Cloud- oder OpenAI-kompatibles LLM | reComputer RK3588 | Cloud oder anderer kompatibler Endpunkt; ASR und TTS bleiben auf dem RK3588 |
| Vollständig lokaler Dialog | reComputer RK3588 + RK1828/RM182X | Auf dem lokalen Beschleuniger zusammen mit den RK3588-Sprachdiensten |
Wähle eine Gesprächssprache, die vom gewählten Gerät unterstützt wird. Die Sprache wird bei der Bereitstellung eingestellt; die Anwendung wählt die passenden Sprachmodelle aus.
Voraussetzungen
Hardware
- Ein reComputer RK3576 oder RK3588 für die Cloud-Option oder ein RK3588 mit RK1828/RM182X-Karte für die vollständig lokale Option.
- Ein USB-Mikrofonarray mit AEC-verarbeitetem Aufnahmekanal. reSpeaker XVF3800 ist die geprüfte Standardauswahl.
- Ein Lautsprecher am 3.5 mm-Ausgang des reSpeaker XVF3800.
Netzwerk- und Dienstzugriff
- Netzwerkzugriff vom Bereitstellungscomputer auf den Sprachhost.
- Internetzugang bei der ersten Bereitstellung für Images und Modellartefakte.
- Dauerhafter Internet- und API-Zugriff bei Verwendung eines Cloud-Dialogmodells.
- Basis-URL, API-Schlüssel und Modell-ID für einen eigenen OpenAI-kompatiblen Endpunkt.
Hardware anschließen
- Verbinde reSpeaker XVF3800 per USB mit dem reComputer.
- Schließe den Lautsprecher an den 3.5 mm-Ausgang des reSpeaker an.
- Installiere für die vollständig lokale Option die RK1828/RM182X-Karte im RK3588-Host und schließe die separate 12 V-Stromversorgung der Karte an.
Die Geräteanforderungen findest du im Referenzdesign.
Inbetriebnahme
1. SenseCraft Solution installieren und öffnen
Öffne das SenseCraft Download Center, suche SenseCraft Solution und lade das Installationsprogramm für das Betriebssystem deines Computers herunter. Installiere und öffne die Anwendung.

2. Die Sprach-KI-Lösung finden
Scrolle auf der Seite Lösungen zu Unterbrechbare Sprachdialog-KI und öffne die Karte.

Klicke auf der Lösungsseite auf Bereitstellung starten.

3. Bereitstellungsmodus und Gerät wählen
Wähle Cloud- oder OpenAI-kompatibles LLM für reComputer RK3576 oder RK3588. Wähle Vollständig lokaler Dialog für reComputer RK3588 mit einer RK1828/RM182X-Karte. Wähle in der Geräteauswahl die angeschlossene Hardware aus.

4. Verbindungs- und Dialogeinstellungen eingeben
Gib für eine Cloud-Bereitstellung den Hostnamen oder die IP-Adresse des Sprachhosts, SSH-Benutzernamen und -Passwort sowie die Gesprächssprache ein. Trage den API-Schlüssel für dein Dialogmodell ein. Prüfe bei einem eigenen OpenAI-kompatiblen Anbieter auch die Basis-URL und Modell-ID. Mit Verbindung testen prüfst du den Zugriff auf den Host.

Gib für eine vollständig lokale Bereitstellung den Hostnamen oder die IP-Adresse des RK3588-Hosts, SSH-Benutzernamen und -Passwort sowie die Gesprächssprache ein. Das lokale Modell läuft auf der RK1828/RM182X-Karte, daher ist kein Cloud-API-Schlüssel erforderlich. Prüfe die separate 12 V-Stromversorgung, den Treiber und den Geräteknoten der Karte und wähle dann Verbindung testen.

5. Die Lösung bereitstellen
Klicke auf Jetzt bereitstellen und warte, bis SenseCraft Solution die Dienste installiert und die Sprachmodelle automatisch vorbereitet. Bei der ersten Bereitstellung werden Container-Images und Modellartefakte heruntergeladen. Lasse das Gerät deshalb bis zum Abschluss mit dem Internet verbunden.

6. Web UI öffnen und ein Gespräch testen
Öffne nach erfolgreicher Bereitstellung die Web UI des Sprachhosts auf Port 18000. Für das hier gezeigte RK3588-Entwicklungskit verwende http://recomputer-rk3588-devkit.local:18000. Kann dein Netzwerk diesen Hostnamen nicht auflösen, verwende http://<device-ip>:18000 mit der IP-Adresse des Geräts.

Sprich in das Mikrofon und höre die Antwort über den am reSpeaker angeschlossenen Lautsprecher. Sprich anschließend während einer laufenden Antwort erneut, um zu prüfen, ob das Terminal die Wiedergabe stoppt und die neue Anfrage hört.