Jarvis a számítógépen oroszul. Típus - számítógépes hangvezérlés
A legtöbb felhasználó tudja, hogy a Siri rendszert tartják a legnépszerűbb személyi asszisztensnek és kérdés-felelet technológiának az iOS kütyüin. Szerencsére nem csak a Siri rendszer érhető el a piacon. Tehát a Marvel által készített sci-fi és képregények rajongói személyi asszisztenst kínálnak, JARVIS a „Vasember” című filmből.
Ha a készülék tulajdonosa látta az Iron Man című filmet, akkor valószínűleg ismeri Tony Stark komornyikját, akinek a neve Jarvis. Következésképpen a felhasználó saját hordozható eszközén veheti igénybe a virtuális szolga segítségét. Ráadásul a JARVIS program egy egyedülálló fejlesztés, amely a Jarvis karakter hangját és képét használja fel.
A JARVIS segédprogram a szokásos hangutasításokkal kezdődik a megadott eszköz használatához és kezeléséhez. A beállítás végén a felhasználónak meg kell adnia a nemét (hogy a virtuális asszisztens megfelelően kapcsolatba léphessen az eszköz tulajdonosával). Ezenkívül itt be kell állítania a fő hőmérsékleti viszonyok mértékegységét (különösen Kelvin, Fahrenheit vagy természetesen Celsius fok).
Az utasítások részletes listája a kijelző felső sarkában található ikon megérintésével érhető el. Ugyanakkor minden parancsnak feltétlenül a „Jarvis” kezeléssel kell kezdődnie, és általában egy szót kell tartalmaznia (például „Jarvis, időjárás előrejelzés”). Ezenkívül a JARVIS értesítheti az eszköz tulajdonosát a jövőbeli találkozókról, és megjelenítheti az aktuális időt. A programban különféle hangos emlékeztetőket is létrehozhat.
Fontos megjegyezni, hogy a JARVIS segédprogram további szolgáltatásokat nyújt a Vasember kasszasikerrel rendelkező optikai lemezek tulajdonosainak. Például ennek a virtuális komornyiknak a segítségével a felhasználó egyszerűen vezérelheti a megfelelő film lejátszását.
Hasznos információk: ha feltesz egy kérdést a virtuális asszisztensnek: vegyek BMW 740-et (http://www.bmw-avtoport.ru/auto/7/), akkor száz százalékos valószínűséggel igenlő lesz a válasza! A 7-es BMW-t egyébként már most a legkedvezőbb feltételekkel vásárolhatja meg magának! Ehhez nem kell mást tennie, mint felkeresni a www.bmw-avtoport.ru oldalt.
Ma a beszédünkről fogunk beszélni. Szeretnél számítógép hangvezérlése, ujjak segítsége nélkül? És ahogy mondani szokás, a gondolat erejével! Igaz, nem a gondolat erejével fogjuk irányítani a számítógépet, de a hang erejével ez egészen valóságos.
Írja be a programot- Ez az egyik legjobb szoftver a számítógép hangon keresztüli vezérlésére. A programhoz fűzött megjegyzésekben szereplő webhelyeken a vélemények egybeesnek.
Igaz, vannak hiányosságai. De erről majd később. Egyébként, ha érdekel, olvasd el a véleményemet.
A programot innen töltheti le: http://freesoft.ru/type
Hogyan kell használni? Először futtassuk, és nézzük meg a fő vezérlőgombokat:
A program szívesen lát minket, és azonnal tippeket ad a Type használatához. Az elején megnyomjuk a „hozzáadás” gombot, és felírjuk a szót, például „megnyitás”. Ehhez mondja ki ezt a szót a mikrofonba:
Ezután kattintson a Hozzáadás gombra. Tehát a „Megnyitás” szót a hangunkkal mentettük el a programban. Bármilyen más szót bemondhat a mikrofonba. A lényeg, hogy ne keveredj össze.
A következő lépés a parancsok hozzáadása. Ehhez lépjen erre a pontra:
Ezután bejelöljük a szükséges elem melletti négyzetet:
Válasszon ki egy programot, alkalmazást vagy műveletet, és kattintson a piros rögzítés gombra. Ha a számítógép elfogadta a hangunkat, kattintson a "Hozzáadás" gombra:
És most egy hangutasítás lesz látható a profilunkban. Ebben az esetben az, amelyik megnyitja a 7-Zip-et:
És most, az utolsó gomb megnyomásával "kezdj el beszélni"
azt mondjuk, hogy "nyissa ki a Seven Zip-et". Az én esetemben minden működni fog. És megnyílik a 7-zip program. Emlékszel erre a mondatra: Sim sim nyitva? Itt van valami hasonlóról.
A program nem mindig működik megfelelően. Most a hatalmas orosz nyelvet még nem tanulmányozták teljesen a nyelvész programozók... De ennek ellenére jó, ha egy számítógép engedelmeskedik neked.
Ezért a teszteléshez és a banális kíváncsisághoz a Typle program 100% -ban alkalmas.
Ebben a videóban megtekintheti az első hangmotorok létrejöttének történetét és azt, hogy min kell még dolgoznunk:
A program más analógjainak olyan szörnyű nevei vannak, mint Gorynych, Perpetuum, Dictograph, Voice Commander. De mindegyik „nem az”. Ne engedje el a méltó program kritikáját.
5 percbe telt, mire elsajátítottam ezt a programot. Ez elég hosszú idő (többnyire 1-2 perc alatt megértem az ilyen programokat). Ha kérdése van - írjon. Hamarosan találkozunk, barátaim :)!
Sokáig nem hagyott nyugodni a „Jarvis” gondolata, és a házban lévő berendezés hangommal történő irányítása. És végül a kezek elérték ennek a csodának a létrejöttét. Nem kellett sokáig gondolkodnom az „agyon”, a Raspberry Pi tökéletesen passzol.
Szóval vas:
- Raspberry pi 3 modell b
- logitech usb kamera
Végrehajtás
Asszisztensünk az Alexa/Hub elv szerint fog dolgozni:- Offline aktiválása egy adott szóhoz
- Ismerjen fel egy csapatot a felhőben
- Futtassa a parancsot
- Beszámol az elvégzett munkáról, vagy jelentse a kért információkat
Offline aktiválás
Az aktiválás a CMU Sphinx segítségével fog megtörténni, és minden rendben is lenne, de az out of the box felismerés nagyon lassú, több mint 10 másodperc, ami egyáltalán nem alkalmas, a probléma megoldásához meg kell törölni a szótárt a felesleges szavaktól.Minden szükséges felszerelés telepítése:
pip3 install SpeechRecognition pip3 install pocketsphinx
További
sudo nano /usr/local/lib/python3.4/dist-packages/speech_recognition/pocketsphinx-data/en-US /pronounciation-dictionary.dict
távolítson el mindent, kivéve a Jarvist, amire szükségünk van:
Jarvis JH AA R V AH S
Most a pocketsfinx elég gyorsan felismeri.
Beszédfelismerés
Eleinte felmerült az ötlet a Google szolgáltatás használatára, emellett SpeechRecognitionben van a támogatása. De mint kiderült, a Google pénzt vesz fel ezért, és nem dolgozik fizikailag. személyek.Szerencsére a Yandex is biztosít ilyen lehetőséget, ingyenesen és rendkívül egyszerűen.
Regisztráljon, szerezze be az API KULCSOT. Minden munka elvégezhető curl'ommal.
Curl -X POST -H "Content-Type: audio/x-wav" --data-binary "@file" "https://asr.yandex.net/asr_xml?uuid=ya_uid&key=yf_api_key&topic=queries"
beszédszintézis
Itt a Yandex ismét segítségünkre lesz. Válaszként szöveget küldünk, szintetizált szöveget tartalmazó fájlt kapunkCurl "https://tts.voicetech.yandex.net/generate?format=wav&lang=ru-RU&speaker=zahar&emotion=good&key=ya_api_key" -G --data-urlencode "text=text" > fájl
Jarvis
Mindent összegyűjtünk, és kapunk egy ilyen forgatókönyvet.#! /usr/bin/env python # -*-coding:utf-8-*- import os beszédfelismerés importálása sr-ként xml.dom-ból import minidom import sys import véletlenszerű r = sr.Recognizer() ya_uuid = "" ya_api_key = "" # os.system("echo "Assist+ent za+en" |fesztivál --tts --language russian") def convert_ya_asr_to_key(): xmldoc = minidom.parse(./asr_answer.xml") itemlist = xmldoc.getElementsByTagName ("változat") if len(itemlist) > 0: return itemlist.firstChild.nodeValue else: return False def jarvis_on(): sr.WavFile("send.wav") mint forrás: audio = r.record(source) try: t = r.recognize_sphinx(audio) print(t) kivéve LookupError: print("Nem sikerült értelmezni a hangot") return t == ("jarvis") def jarvis_say(phrase): os.system("curl "https: //tts.voicetech.yandex.net/generate?format=wav&lang=ru-RU&speaker=zahar&emotion=good&key="+ya_api_key+"" -G --data-urlencode "text=" + kifejezés + "" > jarvis_speech.wav" ) os.system("aplay jarvis_speech.wav") def jarvis_say_good(): phrases = ["Kész", "Kész", "Igen ", "Igen", "Van még valami?", ] randitem = random.choice(phrases) jarvis_say(randitem) try: while True: os.system("arecord -B --buffer-time=1000000 -f dat -r 16000 -d 3 -D plughw:1,0 send.wav") if jarvis_on(): os.system("aplay jarvis_on.wav") os.system("arecord -B --buffer-time=1000000 - f dat -r 16000 -d 3 -D plughw:1,0 send.wav") os.system("curl -X POST -H "Tartalom típusa: audio/x-wav" --data-binary "@send .wav" "https://asr.yandex.net/asr_xml?uuid="+ya_uuid+"&key="+ya_api_key+"&topic=queries" > asr_answer.xml") command_key = convert_ya_asr_to_key() if (command_key): if ( command_key in ['kulcsszó", "kulcsszó1", "kulcsszó2"]): os.system('') jarvis_say_good() folytatódik, kivéve a Kivételt: jarvis_say("Valami hiba történt")
Mi folyik itt. Elindítunk egy végtelen ciklust, az arecord’om három másodpercet ír, és felismerésre küldi a szfinxet, ha a „jarvis” szó szerepel a fájlban
Ha jarvis_on():
lejátszunk egy előre rögzített aktiválási értesítési fájlt.
Ismét rögzítünk 3 másodpercet, és elküldjük a Yandexnek, válaszul megkapjuk a parancsot. Ezután a parancs alapján műveleteket hajtunk végre.
Ez minden. Nagyon sokféle végrehajtási forgatókönyvet találhat ki.
használati eset
Most néhány példa a valós felhasználásomraPhilips Hue
Telepítéspip install phue
A Hue alkalmazásban állítson be egy statikus IP-címet:
Elindítjuk:
#!/usr/bin/python import sys from phue import Bridge b = Bridge("192.168.0.100") # Ide írja be a híd IP-címét. #Ha először fut, nyomja meg a gombot a hídon, és futtassa a b.connect() megjegyzés nélkül #b.connect() print (b.get_scene())
Kiírjuk a kívánt sémák azonosítóit, például "470d4c3c8-on-0"
Végső forgatókönyv:
#!/usr/bin/python import sys from phue import Bridge b = Bridge("192.168.0.100") # Ide írja be a híd IP-címét. #Ha először fut, nyomja meg a gombot a hídon, és futtassa a b.connect() parancsot megjegyzés nélkül #b.connect() if (sys.argv == "off"): b.set_light(,"on", False) más: b.activate_scene(1,sys.argv)
Hozzáadás Jarvishoz:
If (command_key in ["kapcsolja be a lámpát", "kapcsolja fel a lámpát", "light"]): os.system("python3 /home/pi/smarthome/hue/hue.py a1167aa91-on-0") jarvis_say_good() folytassa, ha (command_key a ["fények tompítása", "fények elsötétítése"]-ben): os.system("python3 /home/pi/smarthome/hue/hue.py ac637e2f0-on-0") jarvis_say_good( ) folytassa if (command_key in ["lights off", "lights off"]): os.system("python3 /home/pi/smarthome/hue/hue.py "off") jarvis_say_good() folytatás
LG TV
Innen vesszük a forgatókönyvet. Az első indítás és a párosítási kód megadása után maga a kód nem változik, így ezt a részt kivághatjuk a szkriptből, és csak a vezérlőt hagyjuk meg.Hozzáadás Jarvishoz:
#1 - POWER #24 - VOLUNE_UP #25 - VOLUME_DOWN #400 - 3D_VIDEO if (command_key in ["kapcsolja ki a TV-t", "turn off TV"]): os.system("python3 /home/pi/smarthome/TV/ tv2. py 1") jarvis_say_good() folytassa if (command_key in ['hangosabb', "hangosabb"]): os.system("python3 /home/pi/smarthome/TV/tv2.py 24") jarvis_say_good () folytatni
Rádió
sudo apt-get install mpg123Hozzáadás Jarvishoz:
If (command_key in ["news", "turn off the news", "mi folyik itt"]): os.system('mpg123 URL') folytassa
A Homebridge-et is beállíthatja, és mindent Siri-n keresztül kezelhet, ha nem tud Jarvisnek kiabálni.
Ami a beszédfelismerés minőségét illeti, természetesen nem Alexa, de legfeljebb 5 méteres távolságban a helyes találatok aránya megfelelő. A fő probléma az, hogy a TV-ből / hangszórókból érkező beszédet a parancsokkal együtt rögzítik, és ez zavarja a felismerést.
Ez minden, köszönöm.
Címkék:
- Raspberry Pi
- piton