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:
  1. Offline aktiválása egy adott szóhoz
  2. Ismerjen fel egy csapatot a felhőben
  3. Futtassa a parancsot
  4. Beszámol az elvégzett munkáról, vagy jelentse a kért információkat
Mert a kamerám már gyárilag támogatott, nem kellett az illesztőprogramokkal bajlódnom, így rögtön a szoftveres részre térünk.

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 kapunk

Curl "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ásomra

Philips Hue

Telepítés

pip 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 mpg123
Hozzá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
Címkék hozzáadása
Betöltés...Betöltés...