INHOUDSOPGAWE:
- Stap 1: Verhaal
- Stap 2: Bou van hardeware
- Stap 3: Aan die gang met SNIPS
- Stap 4: Koppelvlak met Snips AI (basiese projek)
- Stap 5: Interfacing met Snips AI (Project AI)
- Stap 6: Skep app en voornemens
- Stap 7: Brand Raspbian op die SD -kaart
- Stap 8: Installeer die Snips -platform
- Stap 9: Stel die hardeware op
- Stap 10: Die invoer van AI -model uit die konsole
- Stap 11: Hanterings- en aksiekode
- Stap 12: Probleemoplossing
- Stap 13: Omhulsel
- Stap 14: Werking van die AI
Video: Persoonlike Engelse afrigter - AI Voice Assistant: 15 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Hierdie projek sal studente help wat voorberei op enige taalkundige eksamen, waar hulle opgelei kan word deur interaksie met Snips AI.
Stap 1: Verhaal
Waarom het ons dit gebou?
Uit my persoonlike ervaring het ek gesien hoe baie mense voorberei op die verskillende taaltoetse, soos GRE, TOEFL, IELTS. Hulle het 'n persoon nodig om hulle te help om die woorde te memoriseer en te verstaan. As 'n persoon vir so 'n eksamen voorberei, benodig hy 'n persoon om te kyk of hy 'n fout maak. Met hierdie oplossing kan ons mannekrag verminder deur 'n stemassistent in diens te neem.
Stap 2: Bou van hardeware
Eerstens wil ek SNIPS en SEEED bedank vir die ondersteuning van hierdie projek met die ongelooflike Snips Voice Interaction Development Kit (Base Kit).
U kan die Snips Voice Interaction Base Kit koop vir $ 115 en Snips Voice Interaction Satellite Kit vir $ 85
Stap 3: Aan die gang met SNIPS
Voordat ons begin, gaan ons na wat u benodig.
- Framboos Pi 3B/B+ (aanbeveel) of Pi 2 model B (ondersteun).
- Mikro-USB-kabel en mikro-USB-kragadapter vir Raspberry Pi.
- Micro SD -kaart (minimum 8 GB) - 'n Bedryfstelsel is nodig om aan die gang te kom. U kan Raspbian Stretch aflaai en die gidse vir Mac OS, Linux en Windows gebruik op die Raspberry Pi -webwerf.
- 'N USB -sleutelbord en muis en 'n eksterne HDMI -monitor - ons beveel ook aan dat u 'n USB -sleutelbord en muis en 'n HDMI -monitor byderhand het.
- Internetverbinding (Ethernet of WiFi)
Snips Voice Interaction Base Kit
Die Snips Voice Interaction Development Kits stel gebruikers in staat om hul ontwikkeling van stemkoppelvlakke vinnig te begin en die Snips AI Voice Platform maklik met hardeware te integreer. Snitte loop op die toestel, wat beteken dat al u stemopdragte en data plaaslik verwerk word, eerder as om na die wolk gestuur te word. Hierdie verwerking op die toestel lei tot 'n heeltemal veilige vanlyn stemassistent wat u persoonlike data privaat hou, soos dit hoort.
Met die Voice Interaction Base Kit kan u die hele Snips AI Voice Platform bestuur. Aangedryf deur 'n Raspberry Pi 3 Model B+ en die ReSpeaker 2-Mics Pi HAT, kan dit dien as 'n slim huisluidspreker in u huis. Saam met die kit kom 'n luidspreker, 'n Grove - Temperatuur- en humiditeitssensor (SHT31), 'n Grove - relais en 'n pennetjiebord om dit aan 'n muur te hang of 'n lekker stand te maak.
Maar dit is nie al nie! Die Voice Interaction Satellite Kit sal u basisstasie uitbrei om elke kamer van u huis te bereik en u toelaat om met die hardeware te kommunikeer, gebaseer op waar u u opdragte uitreik!
Hierdie kit bevat 'n Raspberry Pi3 B+ -bord, ReSpeaker 2 -Mics Pi HAT, Grove - Relay, Grove - Temperatuur- en humiditeitsensor (SHT31), luidspreker 6 Ohm 2W, MicroSD -kaart, kragadapter met mikro -USB -aansluiting, Grove -kabel x 2, akriel basis paneel.
Monteringsstappe: (Inhoud van SNIPS) Die volgende prentjie is 'n oorsig van die monteeronderdele.
Hier word die monteerdele op die basispaneel gemonteer.
Dan word al die elektroniese onderdele op die bord gemonteer.
Monteer daarna die akriel beskermende omslag bo -op die Grove -relais.
Hierdie twee dele word gebruik om die kit in 'n tafelstaander te maak.
Uiteindelik is u gereed om met Snips te speel.
Die kit bied twee maniere om dit te plaas. Dit kan óf op 'n horisontale oppervlak soos 'n staander geplaas word, óf met drade of draad aan 'n muur gehang word. Wees versigtig met die relais as die stel aan is, aangesien die werkspanning hoog sal wees.
OPMERKING: ons het ook 'n Snips Voice Interaction Satellite Kit met 'n Raspberry Pi zero in plaas van Raspberry Pi 3B+
Stap 4: Koppelvlak met Snips AI (basiese projek)
- Skakel die kit met die standaard kragadapter in die kit, of gebruik 'n 5V-2A DC-adapter met 'n mikro-USB-aansluiting.
- Die volgende stap is die installering van die Snips -assistent in die Raspberry Pi. Om u opstellingstyd te bespaar, is die MicroSD -kaart in die kit geflits met die volledige funksionele stelselbeeld, wat beteken dat die Snips -assistent gereed is vir u snellerwoorde.
- Ons raai u sterk aan om die stap-vir-stap installasiegids te bestudeer deur: https://docs.snips.ai/getting-started/quick-start… te besoek en die sam-instrument in die opdragreël te leer.
- Skakel die assistent in deur 'Hey-snips' te sê en volg die opdrag:
U kan die video van die voorbeeld wat vooraf geïnstalleer is, in die Snips Voice Interaction-basisstel hieronder vind.
Stap 5: Interfacing met Snips AI (Project AI)
Dit is dus hoe dit werk. Eerstens gebruik ons die hotword om Snips -erkenning te begin. Dit verstaan die sin met behulp van Snips NLU en bepaal die bedoeling. Gebruik dan die bedoeling en trek die gleuwe onderskeidelik uit. Met die aksiekode programmeer ons die AI -reaksie met die onderskeie slots.
Stap 6: Skep app en voornemens
- Skep 'n assistent. In my geval het ek 'n assistent geskep met die naam JARVIS en met 'n hotword JARVIS.
- Skep 'n pasgemaakte toepassing, of vir beginners, gebruik die toepassing uit die biblioteek.
- Ek het 'n toepassing met die naam Words geskep
- Skep 'n voorneme en begin met die opleiding van die AI. Dit speel 'n belangrike rol om u AI robuust te maak. Oefen dit met al die moontlike insette.
- Skep 'n gleuf om die woorde te identifiseer. Plaas die gleuf by die verwagte frase van die sin. Vir my voorbeeld is givenword die slotnaam en dit word met blou gemerk.
- Sodra dit klaar is, is u pasgemaakte ASR gereed. Probeer met die insette. Ons kan die antwoord regs onder die assistent vind. Dit gee u die onttrekking van rou waarde, bedoelingnaam en die gleuf.
- Definieer gleuwe met meer voorbeelde soos hieronder gegee
- Ten slotte, implementeer u assistent om u persoonlike AI te ervaar.
Stap 7: Brand Raspbian op die SD -kaart
Raspbian is die Linux -verspreiding van keuse wat op die Raspberry Pi gebruik word. In hierdie gids gebruik ons die Lite -weergawe, maar die lessenaarweergawe (wat 'n grafiese omgewing bied) kan ook gebruik word.
- Laai Etcher af en installeer dit.
- Koppel 'n SD -kaartleser met die SD -kaart binne.
- Maak Etcher oop en kies uit u hardeskyf die Raspberry Pi.img- of.zip -lêer wat u op die SD -kaart wil skryf
- Kies die SD -kaart waarop u die prent wil skryf.
- Gaan u keuses na en klik op 'Flits!' om data na die SD -kaart te begin skryf
Koppel die toestel aan u netwerk
- Aktiveer SSH -toegang deur leë lêer ssh by te voeg, weer geplaas by die wortel van die opstartvolume op u SD -kaart.
- Plaas die SD -kaart in die Raspberry Pi. Dit sal binne ongeveer 20 sekondes begin. U behoort nou SSH -toegang tot u Raspberry Pi te hê. Die gasheernaam is standaard raspberrypi.local. Open 'n terminale venster op u rekenaar en tik die volgende:
Die standaard wagwoord is framboos
Stap 8: Installeer die Snips -platform
As u dit nog nie gedoen het nie, installeer die Sam Command Line Interface op u rekenaar. Maak 'n terminale venster oop en voer in:
sudo npm install -g snips -samor npm install -g snips -sam // Windows
Vind u Raspberry Pi op die netwerk deur die volgende te gebruik:
sam toestelle
Maak vervolgens 'n verbinding met die toestel. U sal die gebruikersnaam en wagwoord van die toestel gevra word (standaard is onderskeidelik pi en framboos):
sam verbind
Ons is nou gereed om die Snips -platform op die Raspberry Pi te installeer. Voer die opdrag in:
sam init
Stap 9: Stel die hardeware op
Sam bied 'n paar opdragte om hardeware -komponente maklik op te stel en te konfigureer. In hierdie afdeling stel ons 'n luidspreker en 'n mikrofoon op. Afhangende van u opstelling, moet 'n paar aangepaste konfigurasies gedoen word.
sam opstelling klank
Toets die spreker
Om te kyk of die luidspreker werk, hardloop
sam toets spreker
As alles goed werk, moet u 'n stem op u luidspreker hoor wat 'n paar woorde sê. Stel die mikrofoon op U kan seker maak dat u mikrofoon werk:
sam toets mikrofoon
Gestel jy het 'n luidspreker, as jy duidelik kan hoor wat jy nou net gesê het, kan jy verder gaan sonder 'n verdere mikrofoonopstelling.
As u tevrede is dat u hardeware -opstelling werk, is u gereed om na die volgende stap te gaan, waar u u eerste assistent sal implementeer.
Stap 10: Die invoer van AI -model uit die konsole
Sodra u u assistent uit die vorige stappe geskep het, meld u by die konsole aan vanaf die terminale venster deur te hardloop:
sam login
U sal gevra word om u Snips Console -geloofsbriewe in te voer.
Installeer vervolgens die assistent:
sam installeer assistent
As u verskeie assistente in die konsole geskep het, word u gevra om uit die lys te kies watter een u wil installeer.
Stap 11: Hanterings- en aksiekode
Om die Raspberry Pi te kan reageer, moet ons 'n hanteerderkode skryf. Dit is 'n kode wat uitgevoer word wanneer 'n sekere gebeurtenis op die Snips -platform plaasvind, soos wanneer opset opgespoor is.
U het verskillende metodes om Handler te skep, afhangende van die funksionering.
Skep 'n gids op u rekenaar waarop u die hanteerderkode wil stoor. Verander in die terminale venster na die gids en voer in:
npm init
Dit skep 'n lêer met die naam package.json wat die beskrywing van u projek, afhanklikhede en meer bevat. Voeg vervolgens die mqtt -pakketafhanklikheid by:
npm installeer mqtt --save
Skep nou 'n lêer genaamd index.js en plak die volgende kode en vervang die veranderlike van die gasheernaam met die gasheernaam van u Raspberry Pi (as dit verskil van die standaard raspberrypi):
var mqtt = vereis ('mqtt');
var gasheernaam = "mqtt: //raspberrypi.local"; var kliënt = mqtt.connect (gasheernaam); client.on ('connect', function () {console.log ("[Snips Log] gekoppel aan MQTT makelaar" + gasheernaam); client.subscribe ('hermes/#');}); client.on ('boodskap', funksie (onderwerp, boodskap) {if (topic === "hermes/asr/startListening") {onListeningStateChanged (true);} anders as (topic === "hermes/asr/stopListening") {onListeningStateChanged (false);} anders as (topic.match (/hermes \/hotword / /.+ \/detect/g)! == null) {onHotwordDetected ()} anders if (topic.match (/hermes / /intent\/.+/g)! == null) {onIntentDetected (JSON.parse (boodskap));}}); funksie onIntentDetected (bedoeling) {console.log ("[Snips Log] Voorneme opgespoor:" + JSON.stringify (bedoeling)); } funksie onHotwordDetected () {console.log ("[Snips Log] Hotword bespeur"); } funksie onListeningStateChanged (luister) {console.log ("[Snips Log]" + (luister? "Start": "Stop") + "luister"); }
Begin hierdie kode met behulp van Node:
node index.js
U moet 'n boodskap sien van 'n suksesvolle verbinding met die Snips MQTT -makelaar. Soos voorheen, voer 'n steminteraksie met u Raspberry Pi uit:
Hey Snips, wat is die weer in Chennai
U moet die logboeke sien opdateer:
[Snips Log] Gekoppel aan MQTT makelaar mqtt: //raspberrypi.local
[Snips Log] Hotword bespeur [Snips Log] Begin luister [Snips Log] Stop luister [Snips Log] Voorneme bespeur: {"sessionId": "c84b5aa5-3f14-4218-975e-8872b9217933", "customData": null, "siteId ":" default "," input ":" wat is die weer in chennai "," intention ": {" intentionName ":" searchWeatherForecast "," probability ": 0.73845243}," slots ": [{" rawValue ":" chennai "," value ": {" kind ":" Custom "," value ":" Chennai "}," range ": {" start ": 44," end ": 53}," entity ":" locality ", "slotName": "forecast_locality"}]}
Stap 12: Probleemoplossing
Vee die vorige assistent uit as daar een is
$ sudo rm -rf/usr/share/snips/assistent/
Om die gids na die assistent te verander
cd/var/lib/snips/skills/
Om die inhoud van die repo na die plaaslike te kloneer
git kloon
Om setup.sh -script uit te voer
./setup.sh
Aktiveer die virtuele omgewing
bron venv/bin/aktiveer
Begin die aksiekode
./aksie-.py
Om toestemming te verleen aan die Python Script
chmod +x aksie-.py
Stap 13: Omhulsel
- Ek het 'n IP -omhulsel vir hierdie projek gebruik
- Eerstens het ek die nodige gate gemaak om die stroombane en gleuwe vir die netsnoer en die HDMI -kabel te monteer.
- Toe plaas ek al die Raspberry Pi in die omhulsel en skroef dit stewig vas.
- Ek het 'n klein opening vir die luidspreker en die mikrofoon gemaak en dit bedek met 'n klein stukkie akrielvel.
- Koppel die luidspreker stewig aan die ReSpeaker -hoed.
- Uiteindelik is al die skroewe stewig gemonteer en die kragkabel word deur 'n gleuf ingesteek.
- So lyk die AI uiteindelik: D
Stap 14: Werking van die AI
U kan die data vind wat gemonitor word met behulp van Snips-watch
Nou is dit vertoontyd. Ek het begin met Simple greetings AI. Kyk of dit funksioneer.
Die Trainer AI is vir beperkte woorde geprogrammeer. Dit kan uitgebrei word met min wysigings. Dit help die studente om die betekenis vinniger te onthou as die tradisionele metode.
Aandag: hierdie projek is ongeveer 25 woorde lank opgelei. Dit kan verder uitgebrei word deur klein aksies in die aksiekode aan te pas.
U kan die aksieskripte op my Github -bewaarplek vind.
Project Repo for Greetings AI-https://github.com/Rahul24-06/Greetings_Assistant-TTS
Project Repo for AI AI-https://github.com/Rahul24-06/Personal-English-Trainer---TTS
Skakel na my aansoek:
Die hele opstelling kos ongeveer $ 115 wat by SNIPS gekoop kan word, en hierdie oplossing is baie goedkoop en effektief in vergelyking met die tradisionele metodes. Ongeveer meer as 100 000 toetse is in Indië gedoen en hierdie produk sal die beste aanvulling vir GRE -takers wees.
Duim vas as dit jou werklik gehelp het, en volg my kanaal vir interessante projekte.:) Deel hierdie video as jy wil. Gelukkig dat u ingeteken is: https://console.snips.ai/store/en/skill_xBKlxnE5K… Dankie dat u gelees het!
Aanbeveel:
DIY binnenshuise fiets -afrigter: 5 stappe
DIY binnenshuise fiets -afrigter: inleiding Hierdie projek het begin as 'n eenvoudige aanpassing van 'n Schwinn IC Elite binnefiets wat 'n eenvoudige skroef en viltblokkies gebruik vir die weerstandsinstellings. Die probleem wat ek wou oplos, was dat die steek van die skroef te groot was, dus die reikwydte
Engelse kroegligte deur veseloptika te buig, aangesteek met 'n LED: 4 stappe
Engelse kroegligte deur veseloptika te buig, verlig met 'n LED: kom ons sê dat u 'n vesel wil laat pas by die vorm van 'n huis om Kersfeesligte daarop te sit. Of miskien wil u teen 'n buitemuur kom en 'n reghoekige buiging na die vesel hê. Wel, u kan dit baie maklik doen
Gebruik Python om nie-Engelse sleutelborduitlegte te leer: 8 stappe
Gebruik Python om nie-Engelse sleutelborduitlegte te leer: Hallo, ek is Julien! Ek is 'n rekenaarwetenskapstudent en vandag gaan ek jou wys hoe jy Python kan gebruik om jouself die sleutelborduitleg van 'n nie-Engelse taal te leer. Baie taalleer vind deesdae aanlyn plaas, en een ding kan mense reageer
Eenvoudige Taranis X9D+ draadlose afrigter met die invoer van die SBUS -ontvanger: 9 stappe
Eenvoudige Taranis X9D+ draadlose afrigter met behulp van SBUS-ontvangerinvoer: Die doel van hierdie projek is om 'n FrSky X-Lite-sender aan te sluit op 'n FrSky X9D+ -sender in 'n TRAINER-opset met 'n goedkoop SBUS-ontvanger (12 $). Deur die twee op hierdie manier aan mekaar te koppel, is dit moontlik dat 'n instrukteurvlieënier die
Onsigbare honde -afrigter: 9 stappe
Onsigbare honde -afrigter: let op! Reactive Blocks is nie meer beskikbaar nie, sodat u hierdie instruksies nie kan voltooi nie: met 'n druksensor, LED en luidspreker kan u u Pi verander in 'n onsigbare hondetrainer wat u hond oplei om van die bank af te klim. As die hond op die