Inhoudsopgave:
- Stap 1: Verhaal
- Stap 2: Hardware bouwen
- Stap 3: Aan de slag met SNIPS
- Stap 4: Interfacing met Snips AI (basisproject)
- Stap 5: Interfacing met Snips AI (Project AI)
- Stap 6: App en intenties maken
- Stap 7: Brand Raspbian op de SD-kaart
- Stap 8: Installeer het Snips-platform
- Stap 9: Configureer de hardware
- Stap 10: AI-model importeren vanuit de console
- Stap 11: Handler & actiecode
- Stap 12: Problemen oplossen
- Stap 13: Behuizing
- Stap 14: Werking van de AI
Video: Persoonlijke Engelse Trainer - AI Voice Assistant - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Dit project zal de studenten helpen die zich voorbereiden op een taalkundig examen, waar ze kunnen worden getraind door interactie met Snips AI.
Stap 1: Verhaal
Waarom hebben we dit gebouwd?
Vanuit mijn persoonlijke ervaring heb ik veel mensen gezien die zich voorbereiden op de verschillende taaltests zoals GRE, TOEFL, IELTS. Ze hebben iemand nodig die hen helpt bij het onthouden en begrijpen van de woorden. Over het algemeen hebben mensen, wanneer ze zich op dergelijke examens voorbereidt, een persoon nodig om te controleren en te corrigeren als ze een fout maken. Met deze oplossing kunnen we mankracht verminderen door een spraakassistent in te zetten.
Stap 2: Hardware bouwen
Allereerst wil ik SNIPS en SEEED bedanken voor het ondersteunen van dit project met de geweldige Snips Voice Interaction Development Kit (Base Kit), ik voelde me echt informatief bij het gebruik van dit bord en in staat om enkele van de complexe projecten te realiseren die in een PCB waren geïntegreerd.
U kunt de Snips Voice Interaction Base Kit kopen voor $115 en Snips Voice Interaction Satellite Kit voor $85
Stap 3: Aan de slag met SNIPS
Laten we, voordat we beginnen, bekijken wat u nodig heeft.
- Raspberry Pi 3B/B+ (aanbevolen) of Pi 2 Model B (ondersteund).
- Micro-USB-kabel & Micro-USB-voedingsadapter voor Raspberry Pi.
- Micro SD-kaart (minimaal 8 GB) - Een besturingssysteem is vereist om aan de slag te gaan. U kunt Raspbian Stretch downloaden en de handleidingen voor Mac OS, Linux en Windows gebruiken op de Raspberry Pi-website.
- Een USB-toetsenbord en -muis en een externe HDMI-monitor - we raden ook aan om een USB-toetsenbord en -muis en een HDMI-monitor bij de hand te hebben.
- Internetverbinding (ethernet of wifi)
Snips basiskit voor spraakinteractie
Met de Snips Voice Interaction Development Kits kunnen gebruikers een vliegende start maken met de ontwikkeling van spraakinterfaces en het Snips AI Voice Platform eenvoudig integreren met hardware. Snips worden op het apparaat uitgevoerd, wat betekent dat al uw spraakopdrachten en gegevens lokaal worden verwerkt in plaats van naar de cloud te worden verzonden. Deze verwerking op het apparaat resulteert in een volledig veilige offline spraakassistent die uw persoonlijke gegevens privé houdt, zoals het hoort.
Met de Voice Interaction Base Kit kun je het hele Snips AI Voice Platform gebruiken. Aangedreven door een Raspberry Pi 3 Model B+ en de ReSpeaker 2-Mics Pi HAT, kan hij fungeren als uw slimme thuisluidspreker. Samen met de kit wordt een luidspreker, een Grove - Temperatuur- en vochtigheidssensor (SHT31), een Grove - Relais en een ophangbord geleverd om hem aan een muur te hangen of een handige standaard te maken.
Maar dat is niet alles! De Voice Interaction Satellite Kit breidt uw basisstation uit om elke kamer van uw huis te bereiken en stelt u in staat om te communiceren met de hardware op basis van waar u uw opdrachten geeft!
Deze kit bevat een Raspberry Pi3 B+ board, ReSpeaker 2-Mics Pi HAT, Grove - Relay, Grove - Temperatuur- en vochtigheidssensor (SHT31), Speaker 6 Ohm 2W, MicroSD-kaart, Stroomadapter met Micro USB-connector, Grove-kabel x 2, Acrylbasis paneel.
Montagestappen: (Inhoud van SNIPS) De volgende afbeelding is het overzicht van de montagedelen.
Hier worden de montagedelen op het basispaneel gemonteerd.
Vervolgens worden alle elektronische onderdelen op het bord gemonteerd.
Monteer daarna de Acryl Beschermhoes bovenop het Grove -Relais.
Deze 2 onderdelen worden gebruikt om van de Kit een tafelstandaard te maken.
Eindelijk ben je klaar om met Snips te spelen.
De kit biedt twee manieren van plaatsing. Het kan op een horizontaal oppervlak worden geplaatst, zoals een standaard, of kan aan een muur worden gehangen met behulp van draden of draad. Wees voorzichtig met het relais wanneer de kit is ingeschakeld, aangezien de werkspanning hoog zal zijn.
OPMERKING: we hebben ook een Snips Voice Interaction Satellite Kit met een Raspberry Pi-nul in plaats van Raspberry Pi 3B+
Stap 4: Interfacing met Snips AI (basisproject)
- Voorzie de kit van stroom met de standaard voedingsadapter in de kit of gebruik een 5V-2A DC-adapter met een Micro USB-connector.
- De volgende stap is het installeren van de Snips-assistent in de Raspberry Pi. Om uw installatietijd te besparen, is de MicroSD-kaart in de kit geflitst met de volledig functionele systeemafbeelding, wat betekent dat de Snips-assistent klaar is voor uw triggerwoorden.
- We raden u ten zeerste aan om de stapsgewijze installatiehandleiding te bestuderen door naar: https://docs.snips.ai/getting-started/quick-start… te gaan en de sam-tool in de opdrachtregel te leren.
- Activeer de assistent door "Hey-snips" te zeggen en volg het commando:
Hieronder vindt u de video van het voorbeeld dat vooraf is geïnstalleerd in de Snips Voice Interaction-basiskit.
Stap 5: Interfacing met Snips AI (Project AI)
Dit is dus hoe het werkt. Eerst gebruiken we het hotword om Snips-herkenning te starten. Het begrijpt de zin met Snips NLU en bepaalt de bedoeling. Gebruik vervolgens de intentie om de slots respectievelijk uit te pakken. Met de actiecode programmeren we de AI-reactie met respect voor de slots.
Stap 6: App en intenties maken
- Maak een assistent aan. In mijn geval had ik een assistent gemaakt met de naam JARVIS en met een hotword JARVIS.
- Maak een aangepaste applicatie of gebruik voor beginners de applicatie uit de bibliotheek.
- Ik had een applicatie gemaakt met de naam Words
- Creëer een intentie en begin met het trainen van de AI. Dit speelt een grote rol bij het robuust maken van uw AI. Train het met alle mogelijke inputs.
- Maak een slot om de woorden te identificeren. Plaats de sleuf op de verwachte zin van de zin. Voor mijn voorbeeld is het gegeven woord de naam van de slot en is deze gemarkeerd met blauw.
- Als het klaar is, is uw aangepaste ASR klaar. Probeer het met de ingangen. De reactie vinden we rechts van je, onder de assistent. Dit geeft u de extractie van de onbewerkte waarde, de naam van de intentie en het slot.
- Definieer slots met meer voorbeelden zoals hieronder weergegeven:
- Implementeer ten slotte uw assistent om uw gepersonaliseerde AI te ervaren.
Stap 7: Brand Raspbian op de SD-kaart
Raspbian is de Linux-distributie naar keuze die draait op de Raspberry Pi. In deze handleiding gebruiken we de Lite-versie, maar de Desktop-versie (die wordt geleverd met een grafische omgeving) kan ook worden gebruikt.
- Download Etcher en installeer het.
- Sluit een SD-kaartlezer aan met de SD-kaart erin.
- Open Etcher en selecteer op uw harde schijf het Raspberry Pi.img- of.zip-bestand dat u naar de SD-kaart wilt schrijven
- Selecteer de SD-kaart waarnaar u uw afbeelding wilt schrijven.
- Controleer uw selecties en klik op 'Flash!' om te beginnen met het schrijven van gegevens naar de SD-kaart
Verbind het apparaat met je netwerk
- Schakel SSH-toegang in door lege bestands-ssh toe te voegen, opnieuw geplaatst in de root van het opstartvolume op uw SD-kaart.
- Plaats de SD-kaart in de Raspberry Pi. Het zal in ongeveer 20 seconden opstarten. Je zou nu SSH-toegang moeten hebben tot je Raspberry Pi. Standaard is de hostnaam raspberrypi.local. Open op uw computer een terminalvenster en typ het volgende:
Het standaardwachtwoord is framboos
Stap 8: Installeer het Snips-platform
Installeer de Sam Command Line Interface op je computer als je dat nog niet hebt gedaan. Open een terminalvenster en voer in:
sudo npm install -g snips-samor npm install -g snips-sam //Windows
Vind uw Raspberry Pi op het netwerk door het volgende uit te voeren:
dezelfde apparaten
Breng vervolgens een verbinding met het apparaat tot stand. U wordt gevraagd om de gebruikersnaam en het wachtwoord van het apparaat (standaard is respectievelijk pi en raspberry):
saam verbinden
We zijn nu klaar om het Snips-platform op de Raspberry Pi te installeren. Voer de opdracht in:
sam init
Stap 9: Configureer de hardware
Sam biedt enkele opdrachten om hardwarecomponenten eenvoudig in te stellen en te configureren. In deze sectie zullen we een luidspreker en een microfoon instellen. Afhankelijk van uw opstelling, moet er een aangepaste configuratie worden uitgevoerd.
sam setup audio
Test de luidspreker
Om te controleren of de luidspreker werkt, voert u
sam test spreker
Als alles goed werkt, zou je op je luidspreker een stem moeten horen die een paar woorden zegt. Configureer de microfoon U kunt controleren of uw microfoon werkt:
sam test microfoon
Ervan uitgaande dat je een luidspreker hebt, als je duidelijk kunt horen wat je zojuist hebt gezegd, kun je verder gaan zonder verdere microfoonconfiguratie.
Zodra u zeker weet dat uw hardware-installatie werkt, bent u klaar om door te gaan naar de volgende stap, waar u uw eerste assistent gaat inzetten.
Stap 10: AI-model importeren vanuit de console
Nadat u uw assistent uit de vorige stappen hebt gemaakt, logt u in op de console vanuit het terminalvenster door het volgende uit te voeren:
sam login
U wordt gevraagd om uw Snips Console-inloggegevens in te voeren.
Installeer vervolgens de assistent:
sam installatie assistent
Als u meerdere assistenten in de console hebt gemaakt, wordt u uit een lijst gevraagd te kiezen welke u wilt installeren.
Stap 11: Handler & actiecode
Om de Raspberry Pi te laten reageren, moeten we een handlercode schrijven. Dit is een code die wordt uitgevoerd wanneer een bepaalde gebeurtenis plaatsvindt op het Snips-platform, bijvoorbeeld wanneer intentie is gedetecteerd.
Je hebt verschillende methoden om Handler te maken, afhankelijk van de werking.
Maak op uw computer een map aan waarin u uw handlercode wilt opslaan. Ga vanuit het terminalvenster naar die map en voer het volgende in:
npm init
Hiermee wordt een bestand met de naam package.json gemaakt dat de beschrijving, afhankelijkheden en meer van uw project bevat. Voeg vervolgens de mqtt-pakketafhankelijkheid toe:
npm installeer mqtt --save
Maak nu een bestand met de naam index.js en plak de volgende code, waarbij u de hostnaamvariabele vervangt door de hostnaam van uw Raspberry Pi (als deze verschilt van de standaard raspberrypi):
var mqtt = vereisen('mqtt');
var hostnaam = "mqtt://raspberrypi.local"; var client = mqtt.connect(hostnaam); client.on('connect', function () { console.log("[Snips Log] Verbonden met MQTT broker " + hostnaam); 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(bericht)); } }); function onIntentDetected(intent) { console.log("[Snips Log] Intent gedetecteerd: " + JSON.stringify(intent)); } functie onHotwordDetected() { console.log("[Snips Log] Hotword gedetecteerd"); } function onListeningStateChanged(luisteren) { console.log("[Snips Log] " + (luisteren ? "Start": "Stop") + "luisteren"); }
Voer deze code uit met Node:
knooppunt index.js
U zou een bericht moeten zien van een succesvolle verbinding met de Snips MQTT-makelaar. Voer zoals eerder een spraakinteractie uit met uw Raspberry Pi:
Hey Snips, wat voor weer is het in Chennai
U zou de logboeken moeten zien bijwerken:
[Snips Log] Verbonden met MQTT-makelaar mqtt://raspberrypi.local
[Snips Log] Hotword gedetecteerd [Snips Log] Begin met luisteren [Snips Log] Stop met luisteren [Snips Log] Intentie gedetecteerd: {"sessionId":"c84b5aa5-3f14-4218-975e-8872b9217933", "customData":null, "siteId ": "default", "input":"wat is het weer in Chennai", "intent":{"intentName":"searchWeatherForecast", "probability":0.73845243}, "slots":[{"rawValue":" chennai", "value":{"kind":"Aangepast", "value":"Chennai"}, "range":{"start":44, "end":53}, "entity":"locality", "slotName":"forecast_locality"}]}
Stap 12: Problemen oplossen
Verwijder de vorige assistent als die er is
$ sudo rm -rf /usr/share/snips/assistent/
De directory wijzigen in de Assistent
cd /var/lib/snips/skills/
De inhoud van de repo naar lokaal klonen
git kloon
Setup.sh-script uitvoeren
./setup.sh
Activeer virtuele omgeving
bron venv/bin/activate
Voer de actiecode uit
./action-.py
Toestemming geven aan het Python-script
chmod +x action-.py
Stap 13: Behuizing
- Ik had een IP-geclassificeerde behuizing gebruikt voor dit project
- Eerst heb ik de nodige gaten gemaakt om de circuits en sleuven voor het netsnoer en de HDMI-kabel te monteren.
- Toen plaatste ik alle Raspberry Pi in de behuizing en schroefde deze stevig vast.
- Ik maakte een kleine opening voor de luidspreker en de microfoon en bedekte het met een klein stukje acrylplaat.
- Sluit de luidspreker stevig aan op de ReSpeaker-hoed.
- Ten slotte zijn alle schroeven stevig gemonteerd en wordt de stroomkabel via een gleuf ingebracht.
- Zo ziet de AI er uiteindelijk uit:D
Stap 14: Werking van de AI
U kunt de gegevens vinden die worden gecontroleerd met behulp van Snips-watch
Nu is het showtime. Ik begon te maken met Eenvoudige groeten AI. Kijk eens naar de werking ervan.
De Trainer AI is geprogrammeerd voor beperkte woorden. Deze is met kleine aanpassingen uitbreidbaar. Dit helpt de studenten om de betekenis sneller te onthouden dan de traditionele methode.
Vriendelijke aandacht: dit project is ongeveer 25 woorden getraind. Het kan verder worden uitgebreid door kleine aanpassingen in de actiecode aan te brengen.
U kunt de Action-scripts op mijn Github-repository bijgevoegd vinden.
Project Repo voor Groeten AI -
Projectrepo voor Trainer AI -
Link naar Mijn applicatie:
De hele installatie kost ongeveer $ 115, die kan worden gekocht bij SNIPS en deze oplossing is erg goedkoop en effectief in vergelijking met de traditionele methoden. In India zijn ongeveer meer dan 100.000 tests gedaan en dit product zal de beste aanvulling zijn voor GRE-gebruikers.
Geef een duim omhoog als het je echt heeft geholpen en volg mijn kanaal voor interessante projecten.:) Deel deze video als je wilt. Leuk dat je geabonneerd bent: https://console.snips.ai/store/en/skill_xBKlxnE5K… Bedankt voor het lezen!
Aanbevolen:
Een persoonlijke activiteitenlogger bouwen: 6 stappen
Bouw een persoonlijke activiteitenlogboek: mijn vriend uit Londen, Paul, wilde een manier vinden om zijn eten, activiteit en locatie in één dashboard bij te houden. Toen kwam hij op het idee om een eenvoudig webformulier te maken dat gegevens naar een dashboard zou sturen. Hij zou zowel het webformulier als een
Python gebruiken om niet-Engelse toetsenbordindelingen te leren: 8 stappen
Python gebruiken om niet-Engelse toetsenbordindelingen te leren: Hallo, ik ben Julien! Ik ben een student computerwetenschappen en vandaag ga ik je laten zien hoe je Python kunt gebruiken om jezelf de toetsenbordindeling van een niet-Engelse taal aan te leren. Veel talen leren tegenwoordig online, en één ding kunnen mensen begrijpen
DIY persoonlijke weerstationmonitor: 6 stappen
DIY Personal Weather Station Monitor: DarkSky,,Onze API-service voor bestaande klanten verandert vandaag niet, maar we accepteren geen nieuwe aanmeldingen meer. De API blijft werken tot eind 2021.https://blog.darksky.net/Personal Weather Station Monitor geeft uw we
PROYECTO PERSOONLIJKE TUTORIAL: 5 stappen
PROYECTO PERSOONLIJKE TUTORIAL: Este proyecto consistent en elegir un tema libre, y crear un producto de la onderzoeken de este tema. La investigación, planeación, acción y reflexión del proyecto son escritas en un informe, y todo el registro de
Persoonlijke meteoroloog: 5 stappen
Persoonlijke meteoroloog: heb je je ooit afgevraagd of en wanneer je meteoroloog de waarheid spreekt? Wil je een discrete, goedkope en snelle manier om je eigen meteoroloog te zijn… en misschien een klein project? Zoek niet verder! Dit simplistische apparaat houdt de weersomstandigheden bij