Een bruikbare spraakinterface moet aanvoelen als een gesprek, niet als een opname die eerst moet eindigen voordat je weer mag praten. Dit project bouwt een spraakterminal aan de rand van het netwerk die luistert, via een luidspreker antwoordt en direct stopt zodra de gebruiker door het antwoord heen begint te praten.
Spraakherkenning en spraaksynthese draaien op het apparaat. Het gespreksmodel kan een OpenAI-compatibel cloudeindpunt of een lokaal model zijn, afhankelijk van de hardware en privacyvereisten. Daardoor is hetzelfde project geschikt voor servicebalies, tentoonstellingen, kiosken, terminals voor slimme kamers en spraakinterfaces voor robots.

Wat maakt dit project anders?
De belangrijkste functie is spraakonderbreking: de microfoon blijft verwerkt geluid opnemen terwijl de luidspreker een antwoord afspeelt. Zodra het systeem nieuwe spraak detecteert, onderbreekt het de weergave en luistert het naar de volgende vraag.
Dit vereist een microfoonarray met akoestische echo-onderdrukking (AEC) in de hardware. Zonder AEC kan het geluid van de luidspreker via de microfoon terugkomen en worden aangezien voor de stem van de gebruiker. reSpeaker XVF3800 is de gevalideerde standaardkeuze, omdat deze een USB-opnamekanaal met AEC-verwerking biedt.
Het project houdt de spraakverwerking ook dicht bij de gebruiker:
- Automatische spraakherkenning (ASR) draait op de spraakhost.
- Tekst-naar-spraak (TTS) draait op de spraakhost.
- De permanent actieve spraakagent beheert luisteren, onderbreken, gesprekken en afspelen.
- Alleen het gespreksverzoek hoeft het apparaat te verlaten wanneer je een LLM in de cloud kiest.
- Een volledig lokale configuratie kan spraak- en gespreksverwerking op locatie houden.
Hoe het systeem werkt
De microfoonarray stuurt via USB geluid met AEC-verwerking naar de spraakhost. De host detecteert spraak, zet deze om in tekst, stuurt de tekst naar het gekozen gespreksmodel en zet het antwoord weer om in geluid. Dit wordt afgespeeld via de luidspreker die op de 3.5 mm-uitgang van de reSpeaker is aangesloten.

Het schema toont de logische audiostroom. Sluit voor de hardwareopstelling in deze gids de luidspreker aan op de 3.5 mm-uitgang van de reSpeaker XVF3800.
| Fase | Functie |
|---|---|
| Opname op locatie | Een USB-microfoonarray neemt spraak op en verwijdert afspeelecho met hardware. |
| Spraakhost | De reComputer voert ASR, TTS, spraakactiviteitsdetectie en de gespreksagent uit. |
| Gespreksmodel | Een OpenAI-compatibel eindpunt of een lokaal LLM genereert het antwoord. |
| Afspelen | Een luidspreker op de 3.5 mm-uitgang van de reSpeaker XVF3800 speelt het gesynthetiseerde antwoord af. |
| Onderbreking | Nieuwe spraak van de gebruiker onderbreekt het huidige antwoord en begint een nieuwe gespreksbeurt. |
De opensource-implementatie staat in OpenVoiceStream. Deze biedt spraakbackends voor specifieke apparaten, terwijl de gesprekstoepassing en serviceinterfaces consistent blijven op de ondersteunde hosts.
Kies een implementatieoptie
LLM in de cloud of compatibel met OpenAI
Dit is voor de meeste implementaties de eenvoudigste optie. ASR en TTS blijven op de spraakhost, terwijl de herkende tekst naar Qwen API of een ander OpenAI-compatibel eindpunt wordt gestuurd. Tijdens de implementatie geef je de basis-URL, API-sleutel en model-ID op.
Kies deze optie als je veel keuze in modellen wilt, niet alle gesprekstekst op locatie hoeft te blijven of de host niet genoeg capaciteit heeft om de spraakdiensten en een lokaal LLM tegelijk uit te voeren.
Volledig lokaal gesprek
Kies een lokale configuratie wanneer geluid en gesprekstekst op het apparaat moeten blijven of de terminal zonder permanente internetverbinding moet werken. In deze gids gebruikt de volledig lokale configuratie reComputer RK3588 met een RK1828/RM182X-accelerator voor Qwen3-4B. Daarvoor is geen API-sleutel voor de cloud nodig.
De eerste implementatie heeft nog wel internet nodig om containerimages en modelbestanden op te halen. Nadat deze bestanden zijn gecachet, kan een lokale configuratie offline werken.
Kies de spraakhost
Deze gids behandelt de volgende SenseCraft Solution-opties:
| Gespreksoptie | Apparaat | Waar het gespreksmodel draait |
|---|---|---|
| LLM in de cloud of compatibel met OpenAI | reComputer RK3576 | Cloud of een ander compatibel eindpunt; ASR en TTS blijven op de RK3576 |
| LLM in de cloud of compatibel met OpenAI | reComputer RK3588 | Cloud of een ander compatibel eindpunt; ASR en TTS blijven op de RK3588 |
| Volledig lokaal gesprek | reComputer RK3588 + RK1828/RM182X | Op de lokale accelerator, samen met de spraakdiensten op de RK3588 |
Selecteer een gesprekstaal die het gekozen apparaat ondersteunt. De taal wordt tijdens de implementatie ingesteld; de app kiest de bijbehorende spraakmodellen.
Wat je nodig hebt
Hardware
- Een reComputer RK3576 of RK3588 voor de cloudoptie, of een RK3588 met een RK1828/RM182X-kaart voor de volledig lokale optie.
- Een USB-microfoonarray met een opnamekanaal dat AEC-verwerking biedt. reSpeaker XVF3800 is de gevalideerde standaardkeuze.
- Een luidspreker aangesloten op de 3.5 mm-uitgang van de reSpeaker XVF3800.
Netwerk en toegang tot diensten
- Netwerktoegang vanaf de implementatiecomputer tot de spraakhost.
- Internettoegang tijdens de eerste implementatie voor images en modelbestanden.
- Permanente internet- en API-toegang als je een gespreksmodel in de cloud gebruikt.
- De basis-URL, API-sleutel en model-ID voor een eigen OpenAI-compatibel eindpunt.
Sluit de hardware aan
- Verbind de reSpeaker XVF3800 via USB met de reComputer.
- Sluit de luidspreker aan op de 3.5 mm-uitgang van de reSpeaker.
- Installeer voor de volledig lokale optie de RK1828/RM182X-kaart in de RK3588-host en sluit de afzonderlijke 12 V-voeding van de kaart aan.
Bekijk het referentieontwerp voor de apparaatvereisten.
Uitvoeren
1. Installeer en open SenseCraft Solution
Ga naar het SenseCraft Download Center, zoek SenseCraft Solution en download het installatieprogramma voor het besturingssysteem van je computer. Installeer en open de toepassing.

2. Zoek de oplossing voor spraak-AI
Scrol op de pagina Oplossingen naar Onderbreekbare conversatie met spraak-AI en open de kaart.

Klik op de oplossingspagina op Implementatie starten.

3. Kies de implementatiemodus en het apparaat
Selecteer LLM in de cloud of compatibel met OpenAI voor reComputer RK3576 of RK3588. Selecteer Volledig lokaal gesprek voor reComputer RK3588 met een RK1828/RM182X-kaart. Kies in de apparaatselector de hardware die je hebt aangesloten.

4. Voer de verbindings- en gespreksinstellingen in
Voor een cloudimplementatie voer je de hostnaam of het IP-adres van de spraakhost, de SSH-gebruikersnaam en het wachtwoord en de gesprekstaal in. Voer ook de API-sleutel voor het gespreksmodel in. Gebruik je een eigen OpenAI-compatibele aanbieder, controleer dan ook de basis-URL en model-ID. Gebruik Verbinding testen om de toegang tot de host te controleren.

Voor een volledig lokale implementatie voer je de hostnaam of het IP-adres van de RK3588-host, de SSH-gebruikersnaam en het wachtwoord en de gesprekstaal in. Het lokale model draait op de RK1828/RM182X-kaart, dus een API-sleutel voor de cloud is niet nodig. Controleer of de kaart een eigen 12 V-voeding, een driver en een apparaatnode heeft en selecteer daarna Verbinding testen.

5. Implementeer de oplossing
Klik op Nu implementeren en wacht tot SenseCraft Solution de diensten installeert en de spraakmodellen automatisch voorbereidt. Bij de eerste implementatie worden containerimages en modelbestanden gedownload. Houd het apparaat daarom met internet verbonden totdat de implementatie klaar is.

6. Open de Web UI en test een gesprek
Open na een geslaagde implementatie de Web UI van de spraakhost op poort 18000. Voor de hier getoonde RK3588-ontwikkelkit gebruik je http://recomputer-rk3588-devkit.local:18000. Kan je netwerk die hostnaam niet vinden, gebruik dan http://<device-ip>:18000 met het IP-adres van je apparaat.

Spreek in de microfoon en luister naar het antwoord via de luidspreker op de reSpeaker. Spreek vervolgens opnieuw terwijl een antwoord wordt afgespeeld om te controleren of de terminal stopt met praten en naar het nieuwe verzoek luistert.