Sommario:
- Fase 1: Storia
- Passaggio 2: creazione dell'hardware
- Passaggio 3: iniziare con SNIPS
- Passaggio 4: interfaccia con Snips AI (progetto di base)
- Passaggio 5: interfaccia con Snips AI (Project AI)
- Passaggio 6: creazione di app e intenzioni
- Passaggio 7: masterizza Raspbian sulla scheda SD
- Passaggio 8: installa la piattaforma Snips
- Passaggio 9: configurare l'hardware
- Passaggio 10: importazione del modello AI dalla console
- Passaggio 11: gestore e codice azione
- Passaggio 12: risoluzione dei problemi
- Passaggio 13: allegato
- Passaggio 14: funzionamento dell'IA
Video: Personal English Trainer - AI Voice Assistant: 15 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Questo progetto aiuterà gli studenti che si stanno preparando per qualsiasi esame linguistico, dove potranno essere formati interagendo con Snips AI.
Fase 1: Storia
Perché abbiamo costruito questo?
Dalla mia esperienza personale, ho visto molte persone prepararsi per i vari test linguistici come GRE, TOEFL, IELTS. Hanno bisogno di una persona che li aiuti a memorizzare e comprendere le parole. Generalmente, quando una persona si prepara per tali esami, ha bisogno di una persona che controlli e corregga se commette un errore. Con questa soluzione, possiamo ridurre la manodopera impiegando un assistente vocale.
Passaggio 2: creazione dell'hardware
Prima di tutto, vorrei ringraziare SNIPS e SEEED per aver supportato questo progetto con l'incredibile Snips Voice Interaction Development Kit (Kit Base), mi sono sentito davvero istruttivo nell'usare questa scheda e in grado di realizzare alcuni dei progetti complessi integrati all'interno di un PCB.
Puoi acquistare lo Snips Voice Interaction Base Kit per $115 e Snips Voice Interaction Satellite Kit per $85
Passaggio 3: iniziare con SNIPS
Prima di iniziare, esaminiamo ciò di cui avrai bisogno.
- Raspberry Pi 3B/B+ (consigliato) o Pi 2 modello B (supportato).
- Cavo Micro-USB e adattatore di alimentazione Micro-USB per Raspberry Pi.
- Scheda Micro SD (minimo 8 GB) - Per iniziare è necessario un sistema operativo. Puoi scaricare Raspbian Stretch e utilizzare le guide per Mac OS, Linux e Windows nel sito Web Raspberry Pi.
- Una tastiera e un mouse USB e un monitor HDMI esterno: consigliamo anche di avere a portata di mano una tastiera e un mouse USB e un monitor HDMI.
- Connessione Internet (Ethernet o Wi-Fi)
Kit base di interazione vocale Snips
I kit di sviluppo dell'interazione vocale Snips consentono agli utenti di avviare rapidamente lo sviluppo di interfacce vocali e integrare facilmente la piattaforma vocale Snips AI con l'hardware. Gli snip vengono eseguiti sul dispositivo, il che significa che tutti i comandi vocali e i dati vengono elaborati localmente anziché essere inviati al cloud. Questa elaborazione sul dispositivo si traduce in un assistente vocale offline completamente sicuro che mantiene privati i tuoi dati personali, come dovrebbe essere.
Il kit base di interazione vocale ti consente di eseguire l'intera piattaforma vocale Snips AI. Alimentato da un Raspberry Pi 3 Modello B+ e ReSpeaker 2-Mics Pi HAT, è in grado di fungere da altoparlante intelligente per la casa. Insieme al kit viene fornito un altoparlante, un sensore di temperatura e umidità Grove (SHT31), un relè Grove e un pannello forato per appenderlo a una parete o creare un elegante supporto.
Ma non è tutto! Il Voice Interaction Satellite Kit estenderà la tua stazione base per raggiungere ogni stanza della tua casa e ti permetterà di interagire con l'hardware in base a dove impartisci i tuoi comandi!
Questo kit contiene una scheda Raspberry Pi3 B+, ReSpeaker 2-Mics Pi HAT, Grove – Relè, Grove - Sensore di temperatura e umidità (SHT31), altoparlante 6 Ohm 2W, scheda MicroSD, adattatore di alimentazione con connettore Micro USB, cavo Grove x 2, base acrilica pannello.
Fasi di assemblaggio: (Contenuto da SNIPS) L'immagine seguente è la panoramica delle parti di assemblaggio.
Qui le parti di montaggio sono montate sul pannello di base.
Quindi, tutte le parti elettroniche sono montate sulla scheda.
Quindi montare la copertura protettiva in acrilico sulla parte superiore del Grove -Relay.
Queste 2 parti vengono utilizzate per trasformare il Kit in un supporto da tavolo.
Finalmente sei pronto per giocare con Snips.
Il kit prevede due modalità di posizionamento. Può essere posizionato su una superficie orizzontale come un supporto o può essere appeso a una parete utilizzando fili o filo. Si prega di fare attenzione con il relè quando il kit è acceso poiché la tensione di lavoro sarà alta.
NOTA: abbiamo anche uno Snips Voice Interaction Satellite Kit che ha un Raspberry Pi zero al posto del Raspberry Pi 3B+
Passaggio 4: interfaccia con Snips AI (progetto di base)
- Alimentare il kit tramite l'adattatore di alimentazione predefinito nel kit o utilizzare un adattatore CC 5V-2A con un connettore Micro USB.
- Il prossimo passo è installare l'assistente Snips nel Raspberry Pi. Per risparmiare tempo di configurazione, la scheda MicroSD nel kit è stata lampeggiata con l'immagine del sistema completamente funzionante, il che significa che l'assistente Snips è pronto per le tue parole trigger.
- Ti consigliamo vivamente di studiare la guida all'installazione passo passo visitando: https://docs.snips.ai/getting-started/quick-start… e imparare lo strumento sam nella riga di comando.
- Attiva l'assistente dicendo "Hey-snips" e segui il comando:
Di seguito puoi trovare il video dell'esempio preinstallato nel kit base Snips Voice Interaction.
Passaggio 5: interfaccia con Snips AI (Project AI)
Quindi è così che funziona. Innanzitutto, usiamo la hotword per avviare il riconoscimento Snips. Comprende la frase utilizzando Snips NLU e determina l'intento. Successivamente, utilizzando l'intento, estrai rispettivamente gli slot. Con il codice azione, programmiamo la risposta dell'IA con i rispettivi slot.
Passaggio 6: creazione di app e intenzioni
- Crea un assistente. Nel mio caso, avevo creato un assistente con un nome JARVIS e con una hotword JARVIS.
- Crea un'applicazione personalizzata o, per i principianti, usa l'applicazione dalla libreria.
- Avevo creato un'applicazione con il nome Words
- Crea un intento e inizia ad addestrare l'IA. Questo gioca un ruolo importante nel rendere robusta la tua intelligenza artificiale. Allenalo con tutti gli input possibili.
- Crea uno slot per identificare le parole. Posiziona lo slot sulla frase prevista della frase. Per il mio esempio, Givenword è il nome dello slot ed è evidenziato in blu.
- Una volta fatto, il tuo ASR personalizzato sarà pronto. Prova con gli input. Troviamo la risposta alla tua destra, sotto l'assistente. Questo ti dà l'estrazione del valore non elaborato, del nome dell'intento e dello slot.
- Definisci gli slot con più esempi come indicato di seguito
- Infine, distribuisci il tuo assistente per sperimentare la tua intelligenza artificiale personalizzata.
Passaggio 7: masterizza Raspbian sulla scheda SD
Raspbian è la distribuzione Linux preferita in esecuzione su Raspberry Pi. In questa guida utilizzeremo la versione Lite, ma può essere utilizzata anche la versione Desktop (che viene fornita con un ambiente grafico).
- Scarica Etcher e installalo.
- Collega un lettore di schede SD con la scheda SD all'interno.
- Apri Etcher e seleziona dal tuo disco rigido il file Raspberry Pi.img o.zip che desideri scrivere sulla scheda SD
- Seleziona la scheda SD su cui desideri scrivere la tua immagine.
- Rivedi le tue selezioni e fai clic su "Flash!" per iniziare a scrivere dati sulla scheda SD
Connetti il dispositivo alla tua rete
- Abilita l'accesso SSH aggiungendo un file vuoto ssh, ancora una volta posizionato nella radice del volume di avvio sulla tua scheda SD.
- Inserisci la scheda SD nel Raspberry Pi. Si avvierà in circa 20 secondi. Ora dovresti avere accesso SSH al tuo Raspberry Pi. Per impostazione predefinita, il suo nome host sarà raspberrypi.local. Sul tuo computer, apri una finestra di terminale e digita quanto segue:
La password predefinita è lampone
Passaggio 8: installa la piattaforma Snips
Se non l'hai già fatto, installa Sam Command Line Interface sul tuo computer. Apri una finestra di terminale e inserisci:
sudo npm install -g snips-samor npm install -g snips-sam //Windows
Trova il tuo Raspberry Pi sulla rete eseguendo:
dispositivi sam
Quindi, stabilire una connessione al dispositivo. Ti verranno richiesti il nome utente e la password del dispositivo (il valore predefinito è rispettivamente pi e raspberry):
Sam Connect
Ora siamo pronti per installare la piattaforma Snips sul Raspberry Pi. Inserisci il comando:
sam inizia
Passaggio 9: configurare l'hardware
Sam fornisce alcuni comandi per impostare e configurare facilmente i componenti hardware. In questa sezione, imposteremo un altoparlante e un microfono. A seconda della configurazione, è necessario eseguire alcune configurazioni personalizzate.
sam setup audio
Prova l'altoparlante
Per verificare che l'altoparlante funzioni, eseguire
sam test speaker
Se tutto funziona bene, dovresti sentire sul tuo altoparlante una voce che dice alcune parole. Configura il microfono Puoi controllare che il tuo microfono funzioni:
Sam prova il microfono
Supponendo che tu abbia un altoparlante, se riesci a sentire chiaramente ciò che hai appena detto, puoi andare avanti senza ulteriori configurazioni del microfono.
Una volta che sei soddisfatto del funzionamento della configurazione hardware, sei pronto per passare al passaggio successivo, in cui distribuirai il tuo primo assistente.
Passaggio 10: importazione del modello AI dalla console
Dopo aver creato il tuo assistente dai passaggi precedenti, accedi alla console dalla finestra del terminale eseguendo:
accesso sam
Ti verrà chiesto di inserire le credenziali di Snips Console.
Quindi, installa l'assistente:
assistente di installazione di Sam
Se hai creato più assistenti nella Console, ti verrà chiesto di scegliere quale installare da un elenco.
Passaggio 11: gestore e codice azione
Affinché il Raspberry Pi risponda, dovremo scrivere del codice gestore. Questo è un codice che viene eseguito quando si verifica un determinato evento sulla piattaforma Snips, ad esempio quando è stato rilevato un intento.
Hai vari metodi per creare Handler a seconda del funzionamento.
Crea una cartella sul tuo computer in cui vuoi memorizzare il tuo codice gestore. Dalla finestra del terminale, passa a quella directory e inserisci:
npm init
Questo creerà un file chiamato package.json che contiene la descrizione del tuo progetto, le dipendenze e altro. Quindi, aggiungi la dipendenza del pacchetto mqtt:
npm install mqtt --save
Ora, crea un file chiamato index.js e incolla il seguente codice, sostituendo la variabile hostname con il nome host del tuo Raspberry Pi (se differisce dal raspberrypi predefinito):
var mqtt = require('mqtt');
var hostname = "mqtt://raspberrypi.local"; var client = mqtt.connect(hostname); client.on('connect', function () { console.log("[Snips Log] Connected to MQTT broker " + hostname); client.subscribe('hermes/#'); }); client.on('message', function (topic, message) { if (topic === "hermes/asr/startListening") { onListeningStateChanged(true); } else if (topic === "hermes/asr/stopListening") { onListeningStateChanged(false); } else if (topic.match(/hermes\/hotword\/.+\/detected/g) !== null) { onHotwordDetected() } else if (topic.match(/hermes\ /intent\/.+/g) !== null) { onIntentDetected(JSON.parse(message)); } }); function onIntentDetected(intent) { console.log("[Snips Log] Intento rilevato: " + JSON.stringify(intent)); } function onHotwordDetected() { console.log("[Snips Log] Hotword rilevata"); } function onListeningStateChanged(ascolto) { console.log("[Snips Log] " + (ascolto ? "Start": "Stop") + "ascolto"); }
Esegui questo codice usando Node:
nodo index.js
Dovresti vedere un messaggio di connessione riuscita al broker Snips MQTT. Come prima, esegui un'interazione vocale con il tuo Raspberry Pi:
Ehi Snips, che tempo fa a Chennai?
Dovresti vedere i log in aggiornamento:
[Snips Log] Connesso al broker MQTT mqtt://raspberrypi.local
[Snips Log] Hotword rilevata [Snips Log] Avvia ascolto [Snips Log] Interrompi ascolto [Snips Log] Intento rilevato: {"sessionId":"c84b5aa5-3f14-4218-975e-8872b9217933", "customData":null, "siteId ": "default", "input":"che tempo fa a Chennai", "intent":{"intentName":"searchWeatherForecast", "probability":0.73845243}, "slots":[{"rawValue":" chennai", "value":{"kind":"Custom", "value":"Chennai"}, "range":{"start":44, "end":53}, "entity":"locality", "slotName":"forecast_locality"}]}
Passaggio 12: risoluzione dei problemi
Elimina l'assistente precedente, se presente
$ sudo rm -rf /usr/share/snips/assistant/
Per cambiare la directory nell'Assistente
cd /var/lib/snips/skills/
Per clonare il contenuto del repository in locale
git clone
Per eseguire lo script setup.sh
./setup.sh
Attiva l'ambiente virtuale
fonte venv/bin/activate
Esegui il codice azione
./action-.py
Per dare il permesso allo script Python
chmod +x azione-.py
Passaggio 13: allegato
- Avevo usato un involucro classificato IP per questo progetto
- Innanzitutto, ho realizzato i fori necessari per montare i circuiti e gli slot per il cavo di alimentazione e il cavo HDMI.
- Quindi ho posizionato tutto il Raspberry Pi all'interno del contenitore e l'ho avvitato saldamente.
- Ho fatto una piccola apertura per l'altoparlante e il microfono e l'ho coperta usando un piccolo pezzo di foglio acrilico.
- Collega saldamente l'altoparlante al cappello ReSpeaker.
- Infine, tutte le viti sono montate saldamente e il cavo di alimentazione viene inserito tramite uno slot.
- Ecco come appare finalmente l'IA:D
Passaggio 14: funzionamento dell'IA
Puoi trovare i dati che vengono monitorati usando Snips-watch
Ora è l'ora dello spettacolo. Ho iniziato a creare con Simple Greetings AI. Dai un'occhiata al suo funzionamento.
Il Trainer AI è stato programmato per parole limitate. Questo è estendibile con piccole modifiche. Questo aiuta gli Studenti a memorizzare il significato più velocemente rispetto al metodo tradizionale.
Gentile attenzione: questo progetto è formato per circa 25 parole. Può essere ulteriormente ampliato apportando piccole modifiche al codice d'azione.
Puoi trovare gli script di azione sul mio repository Github allegato.
Repo del progetto per Greetings AI -
Repo del progetto per Trainer AI -
Link alla mia applicazione:
L'intera configurazione costa circa $ 115 che possono essere acquistati da SNIPS e questa soluzione è molto economica ed efficace rispetto ai metodi tradizionali. Circa più di 100.000 test sono stati effettuati in India e questo prodotto sarà il miglior integratore per chi prende GRE.
Metti un pollice in su se ti è stato davvero d'aiuto e segui il mio canale per progetti interessanti.:) Condividi questo video se ti va. Felice di esserti iscritto: https://console.snips.ai/store/en/skill_xBKlxnE5K… Grazie per aver letto!
Consigliato:
Generatore Turbo Trainer: 6 passaggi
Turbo Trainer Generator: Generare elettricità con la potenza dei pedali mi ha sempre affascinato. Ecco la mia opinione
Trainer per fluidi idraulici: 9 passaggi
Istruttore di fluidi idraulici: questi sono i passaggi per utilizzare in modo sicuro ed efficace un trainer idraulico
Progetto aereo RC Trainer: 7 passaggi
Progetto aereo RC Trainer: Ciao! io sono Berk Akguc, studio ingegneria meccanica all'Università di Çukurova, ho un fratello, è uno studente di scuola superiore. Abbiamo realizzato il progetto dell'aereo RC nella nostra piccola officina in questa estate, abbiamo usato alcuni software per capire la dinamica e il disegno di
Luces De Navidad Con Pixeles (Christmas Lights Pixeles) Español - English: 18 Steps (con immagini)
Luces De Navidad Con Pixeles (Christmas Lights Pixeles) Español - English: EspañolQue es Vixen Lights?Vixen Lights è un software di DIY (hagalo usted mismo) secuencias de lucis. L'ultimo versión 3.x se rediseño completamente para soportar píxeles RGB inteligentes.Lo puedes descargar en la siguiente liga http://www.vixenl
Alexa Voice Assistant su Raspberry Pi Zero Docking Hub: 6 passaggi (con immagini)
Assistente vocale Alexa su hub di aggancio Raspberry Pi Zero: per creare un elegante assistente vocale Alexa su un Pi Zero W con meno cavi e dongle USB, utilizzo un hub di aggancio Raspberry Pi Zero di Makerspot. Questo hub docking ha un codec audio integrato che può ospitare un microfono e un altoparlante tramite il suo audio da 3,5 mm