CrowlKit - Voice & ears

CrowlKit beschikt over ingebouwde stemherkenning, maar die moet je wel inschakelen via een knop. Daarna kan je instellen welk "woord" je aan welke "actie" wil koppelen.  

Die voice-functie kan je eveneens aansturen met KitCode om over nog meer mogelijkheden te beschikken! De voorbeelden vind je hieronder. 

1. Start de stemherkenning  

Eerst moet je via een knop de stemherkenning starten:



  

Vervolgens koppel je een actie aan de knop:

app.ready(function() {
    const speech = new SpeechRecognition();
       id("voicelistener").after("click").do(function(){
          speech.start();
    });
});

Als je op de knop klikt, zal de browser je nu vragen of je goedkeuring geeft voor het gebruik van je microfoon. Geef je die goedkeuring niet, dan zal de stemherkenning uiteraard niet werken; 

2. Woorden herkennen

Je kan nu code toevoegen om specifieke woorden te herkennen. Het onderstaande voorbeeld zal het herkende woord tonen in een alert-venster. 

Als de "virtuele oren" iets hebben begrepen, dan krijgen ze het "verstane" woord binnen. Dat woord vraag je op via word.detail. In het onderstaande voorbeeld stoppen we word.detail eerst in een variabele met de naam "commando". Dat commando tonen we vervolgens in een alert-venster. 

Bekijk het voorbeeld:  voicebasic.html 
Download het voorbeeld:  voicebasic.html
app.ready(function() {
     const speech = new SpeechRecognition();
     id("voicelistener").after("click").do(function(){
          speech.start();
     });
     ears.after("understood").do(function(word){
          let commando = word.detail;
          appalert(commando);
     });
});

In plaats van gewoon naar de woorden te luisteren, kunnen we nu specifieke acties programmeren, naargelang het winnengekomen woord.  

Met een if-constructie (als), kunnen we instellen naar welke specifieke woorden moet worden geluisterd. Dit voorbeeld luistert enkel naar de woorden "print" en "tekenen".  

Bekijk de demo:  voicebasic2.html
Download het voorbeeld:  voicebasic2.html
app.ready(function() {
     const speech = new SpeechRecognition();
     id("voicelistener").after("click").do(function(){
          speech.start();
     });
     ears.after("understood").do(function(word){
          let commando = word.detail;
          if(commando == "print"){
               appalert("Je wil afdrukken?", 2000);
          }
          if(commando == "tekenen"){
               appalert("Je wil tekenen?", 2000);
          } 
     });
});
Volgende pagina