In questa guida vedremo come trasformare Raspberry PI (modello 2 o 3) in un assistente vocale, per la precisione emulare Alexa (al momento disponibile solo per Amazon Echo negli Stati Uniti).
Il costante progresso nelle tecniche di machine learning sta portando i colossi informatici quali Amazon, IBM, Microsoft, Apple (e molti atri) a sviluppare sempre più intelligenti sistemi di controllo vocale.
Alexa è al momento esclusiva Amazon USA, ed è certamete molto più precisa nelle risposte rispetto agli assistenti vocali presenti sugli smartphone, quale per esempio Siri.
Se non vuoi attendere per provare Alexa puoi farlo con il tuo Raspberry Pi, ad un prezzo peraltro più economico rispetto al prodotto originale Amazon. E senza necessariamente essere negli States.
MATERIALE NECESSARIO
- Un Raspberry Pi (meglio modello 3) opportunamente configurato come in QUESTA GUIDA
- Microfono USB
(Nel nostro caso abbiamo usato una PS3 eye) - Speakers
⇒ STEP 1 (Account Sviluppatore)
Per prima cosa occorre creare un acount sviluppatori su Amazon.com (procedura del tutto gratuita ed accessibile a chiunque). Infatti quando andremo a configurare il Raspberry Pi dovremmo inserire alcuni codici forniti da Amazon per poter accedere ai servizi offerti da Alexa.
Accedi a https://developer.amazon.com/login.html e creau un account.
⇒ STEP 2 (CREARE UN PROFILO DI SICUREZZA)
La prima cosa da fare è creare un “Security Profile” su sul sito degli sviluppatori Amazon.com. Si tratta semplicimente di seguire alcuni steps illustrati da Amazon.com in questo link (per qualsiasi problema chiedi sul Forum di ExtremeGeneration).
Lo scopo è arrivare ad ottenere i seguenti parametri:
–ProductID (o Device Type ID)
–Client ID
–ClientSecret
A questo punto configurate il menu “Security Profile/Web Setting” come nell’immagine seguente
Inserendo:
- Allowed Origins: https://localhost:3000
- Allowed Return URLs: https://localhost:3000/authresponse
⇒ STEP 3 (Passiamo sul Raspberry Pi)
Apriamo il Terminal e digitiamo le seguenti linee di codice
cd ~/Desktop/alexa-avs-sample-app nano automated_install.sh
E inserisci i valori di ProductID, ClientID e ClientSecret come nell’immagine seguente:
Dovreste ottenere una configurazione simile a questa:
ProductID="RaspberryPi3"
ClientID="amzn.xxxxx.xxxxxxxxx"
ClientSecret="4e8cb14xxxxxxxxxxxxxxxxxxxxxxxxxxxxx6b4f9"
⇒ STEP 4 – Iniziamo l’installazione
Questo passo avvia l’installazione, incluso lo script per attivare Alexa con il semplice comando vocale “Alexa!”
Nel terminal digitate:
cd ~/Desktop/alexa-avs-sample-app ./automated_install.sh
Questa operazione può durare anche 30 minuti, quindi armatevi di un po’ di pazienza
⇒ STEP 5 – ULTIMI PREPARATIVI
Per questo step dovrai aprire 3 Terminal in sequenza come descritti in questo tutorial
Terminal 1
cd ~/Desktop/alexa-avs-sample-app/samples cd companionService && npm start
A questo punto il server sta “in ascolto” sulla porta 3000, pronto a inizializzare il client di Alexa
Terminal 2
cd ~/Desktop/alexa-avs-sample-app/samples cd javaclient && mvn exec:exec
Dopo aver lanciato questo comando un pop-up vi chiederò di avviare il browser, date conferma
- Se nel browser vi dice “Your connection is not private”, cliccate su “ADVANCED” e quindi “PROCEED TO LOCALHOST”
- Log In con le credianziale di Amazon Developer precedentemente create
A questo punto verrete reindizzate al seguente URL https://localhost:3000/authresponse
Potete finalmente dare l’OK al seguente info-box
Alexa è ora quasi pronta, manca solo l’attivazione tramite comando vocale “Alexa!”
Utilizziamo un “wake word engine”, in particolare Sensory.
cd ~/Desktop/alexa-avs-sample-app/samples cd wakeWordAgent/src && ./wakeWordAgent -e sensory
⇒ STEP 6 – Parla ad Alexa!!
Testiamo il nostro Raspbery Pi in versione Amazon Dot con qualche domanda!!
Per esempio:
- “Alexa!”: “Sing for me!”
E Alexa ci canterà una bella canzoncina - “Alexa”: “Are you a robot?”
- “Alexa”: “What is the meaning of life?”
- “Alexa”: “Do you know google now?”
Condividi i tuoi risultati sul forum (Clicca qui).
Rimani sintonizzato su ExtremeGeneration.it per molti altri progetti per il tuo Raspberry Pi!
6 Comments