Nederlandstalige spraakherkenning op Raspbian

Google Home was de eerste om met Nederlandse spraakherkenning van start te gaan. Alexa van Amazon blijft achterop en kan dit nog steeds niet. Voor spraakherkenning op de Raspberry Pi zijn enkele opties. Enerzijds kan je bovenstaande commerciële producten koppelen via omwegen zoals IFTTT. Ofwel installeer je software lokaal op de Pi, waarmee je bovendien offline kan werken.
Snips wordt vaak vermeld op internet als een goed offline softwarepakket. Echter, ondersteuning voor Nederlands is er (nog) niet. Daarnaast werd Snips recent overgenomen door Sonos, waardoor het gratis gebruik in de toekomst mogelijk in het gedrang komt. Rhasspy is een alternatief pakket, mét ondersteuning voor Nederlands. Het is eenvoudig te installeren en makkelijk te integreren in Home automation projecten door middel van MQTT, Websockets, of Home Assistant.

Rhasspy op Raspbian buster

Hardware

De Microfoon is een belangrijk onderdeel van de opstelling. Wij kozen voor de PS3 Eye, een goedkope (<10 euro) 4 array microfoon die makkelijk verbonden kan worden via USB. Dit werkt plug&play op de Raspberry Pi met Raspbian Buster.

PS3 Eye, een goedkope maar goede microfoon voor spraakherkenning

Installatie

Met volgende regels download en installeer je Rhasspy op Raspbian op de klassieke manier. Alternatief kan je ook een Docker image installeren.

git clone https://github.com/synesthesiam/rhasspy.git
cd rhasspy/
./download-dependencies.sh
./create-venv.sh

installatie van Rhasspy is erg makkelijk

Rhasspy is nu geïnstalleerd en kan opgestart worden met volgende regel.

./run-venv.sh –profile nl

Ga nu naar http://localhost:12101 en je wordt verwelkomd op de configuratiepagina van Rhasspy. Download enkele taalbestanden van het Nederlands en je kan beginnen testen.

De webinterface van Rhasspy is gebruiksvriendelijk en verzorgd

Eerste ervaringen

Ondanks de vlotte installatie van Rhasspy, vielen de eerste testen erg tegen. Ook na aanpassingen in de browser, was het systeem gewoon onbruikbaar. Het is duidelijk dat er wat gesleuteld moet worden aan de instellingen om Nederlandse spraakherkenning goed te laten werken.

Tweaken van instellingen

De webinterface van Rhasspy is overzichtelijk en gebruiksvriendelijk. Toch raad ik aan om de instellingen rechtstreeks aan te passen in het configuratie bestand (~/.config/rhasspy/profiles/nl/profile.json).
Zo omzeil je de bugs van de webinterface, en heb je véél meer opties ter beschikking.

Pas de instellingen direct aan in profile.json

Enkele aanbevelingen voor een goede Nederlandstalige spraakherkenning met Rhasspy:

  • Test of de microfoon goed werkt op Raspbian. Neem bijvoorbeeld geluid op met ‘arecord’ en speel dit af. Zorg voor juiste instellingen in de ALSA configuratie bestanden, en voeg deze handmatig in bij ‘microphone’-‘arecord’.
  • Als Wakeword software gebruik ik Snowboy. Dit ondersteunt Nederlands, en je kan eenvoudig wakewords maken op hun website. Porcupine werkt bij mij enkel goed met de default wakewords, en niet met eigen woorden.
  • Pocketsphinx, de standaard ingestelde software voor ‘Speech to Text’, gaf me erg slechte resultaten. Vaak werden slechts deeltjes van de opdracht gehoord, of dubbel geregistreerd. Dit probleem werd volledig verholpen door gebruik te maken van Kaldi. Ik raad dan ook aan om dit onmiddellijk aan te passen.

Met bovenstaande aanpassingen kreeg ik uiteindelijk een werkende spraakherkenning in het Nederlands op de Raspberry Pi. Dmv de websocket verbind ik de commando’s met NodeRed, die op zijn beurt radio, lampen, etc. aanstuurt.

Conclusie

Ondanks de erg vlotte installatie en de overzichtelijk ogende webinterface van Rhasspy, is er veel geduld en tijd nodig om een goed werkend systeem te bekomen. De resultaten zijn zeker niet op hetzelfde niveau als de Amazon Alexa of Google Home, maar zijn aanvaardbaar voor de tweaker, die dan ook de doelgroep is voor deze software.


Maarten

Oprichter van 3D3.be

0 reacties

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *