Jarvis datorā krievu. Tips - datora balss vadība

Lielākā daļa lietotāju zina, ka Siri sistēma tiek uzskatīta par populārāko personīgo asistentu un jautājumu un atbilžu tehnoloģiju iOS sīkrīkos. Par laimi, tirgū ir pieejama ne tikai Siri sistēma. Tātad Marvel radītās zinātniskās fantastikas un komiksu cienītājiem tiek piedāvāts personīgais asistents JARVIS no filmas "Dzelzs vīrs".

Ja ierīces īpašnieks ir redzējis filmu "Dzelzs vīrs", tad viņš droši vien pazīst Tonija Stārka sulaini, kuru sauc Džārviss. Līdz ar to lietotājs savā pārnēsājamajā ierīcē varēs ķerties pie virtuālā kalpa palīdzības. Turklāt JARVIS programma ir unikāla attīstība, kas izmanto Jarvis varoņa balsi un tēlu.

JARVIS utilīta sākas ar parastajām audio instrukcijām norādītā rīka lietošanai un pārvaldīšanai. Iestatīšanas beigās lietotājam būs jānorāda savs dzimums (lai virtuālais palīgs varētu pareizi sazināties ar ierīces īpašnieku). Turklāt šeit jums būs jāiestata mērvienība galvenajiem temperatūras apstākļiem (jo īpaši Kelvina, Fārenheita grādi vai, protams, Celsija).


Detalizētu norādījumu sarakstu var atrast, pieskaroties ikonai, kas atrodas displeja augšējā stūrī. Tajā pašā laikā visām komandām obligāti jāsākas ar apstrādi "Jarvis" un parasti jāsatur viens vārds (piemēram, "Jarvis, laika prognoze"). Tāpat JARVIS var informēt ierīces īpašnieku par turpmākajām sanāksmēm un parādīt pašreizējo laiku. Programmā var izveidot arī dažādus audio atgādinājumus.

Ir svarīgi atzīmēt, ka JARVIS utilīta nodrošina papildu iespējas optisko disku īpašniekiem ar filmas Iron Man grāvēju. Piemēram, lietotājs ar šī virtuālā sulaiņa palīdzību var viegli kontrolēt atbilstošās filmas atskaņošanu.


Noderīga informācija: ja uzdodat savam virtuālajam asistentam jautājumu: vai man vajadzētu pirkt BMW 740 (http://www.bmw-avtoport.ru/auto/7/), tad viņa atbilde ar simtprocentīgu varbūtību būs apstiprinoša! Starp citu, 7.sērijas BMW vari iegādāties jau tagad ar sev izdevīgākajiem nosacījumiem! Lai to izdarītu, jums tikai jāapmeklē vietne www.bmw-avtoport.ru.

Šodien mēs runāsim par mūsu runu. Vai tu gribētu kontrolēt datoru ar balsi, bez pirkstu palīdzības? Un, kā saka, ar domu spēku! Tiesa, ar domu spēku datoru nesavaldīsim, bet ar balss spēku tas ir pavisam reāli.

Ierakstiet programmu- Šī ir viena no labākajām programmatūrām datora vadīšanai, izmantojot balsi. Vietnēs šīs programmas komentāros viedokļi saplūst.

Tiesa, tam ir savi trūkumi. Bet vairāk par to vēlāk. Starp citu, ja jūs interesē, izlasiet manu pārskatu.

Programmu var lejupielādēt šeit: http://freesoft.ru/type

Kā to izmantot? Vispirms palaidīsim to un apskatīsim galvenās vadības pogas:

Programma mūs sveicina un nekavējoties sniedz ieteikumus, kā lietot Type. Sākumā nospiedīsim pogu “pievienot” un pierakstīsim vārdu, piemēram, “atvērt”. Lai to izdarītu, pasakiet mikrofonā šo vārdu:

Pēc tam noklikšķiniet uz pievienot. Tātad mēs ar balsi programmā saglabājām vārdu “Atvērt”. Jūs varat runāt jebkuru citu vārdu mikrofonā. Galvenais neapjukt.

Nākamais solis ir pievienot komandas. Lai to izdarītu, dodieties uz šo punktu:

Pēc tam atzīmējam izvēles rūtiņu blakus vajadzīgajam vienumam:

Izvēlieties programmu, lietojumprogrammu vai darbību un noklikšķiniet uz sarkanās ierakstīšanas pogas. Ja dators pieņēma mūsu balsi, noklikšķiniet uz "Pievienot":

Un tagad viena balss komanda būs redzama mūsu profilā. Šajā gadījumā tas, kas atver 7-Zip:

Un tagad, nospiežot pēdējo pogu "sāciet runāt"

mēs sakām frāzi "atvērt Seven Zip". Manā gadījumā viss darbosies. Un tiks atvērta 7-zip programma. Atcerieties šo frāzi: Sim sim atvērts? Šeit ir kaut kas par to pašu.

Programma ne vienmēr darbojas pareizi. Tagad vareno krievu valodu lingvisti programmētāji līdz galam nav apguvuši... Bet tomēr patīkami, kad dators tev paklausa.

Tāpēc testēšanai un banālai zinātkārei programma Typle ir 100% piemērota.

Šajā video varat redzēt pirmo balss dzinēju izveides vēsturi un pie kā vēl jāstrādā:

Ir tādi briesmīgi citu programmas analogu nosaukumi kā Gorynych, Perpetuum, Dictograph, Voice Commander. Bet visi no tiem ir "nav tas viens". Neizturiet kritiku par cienīgu programmu.

Man vajadzēja 5 minūtes, lai apgūtu šo programmu. Tas ir diezgan ilgs laiks (pārsvarā es saprotu šādas programmas 1-2 minūtēs). Ja ir kādi jautājumi - rakstiet. Uz drīzu tikšanos, draugi :)!


Ilgu laiku nepameta doma par manu “Džārvisu” un ar balsi vadīt iekārtu mājā. Un visbeidzot, rokas sasniedza šī brīnuma radīšanu. Man nebija ilgi jādomā par “smadzenēm”, Raspberry Pi der lieliski.

Tātad dzelzs:

  • Raspberry pi 3 modelis b
  • Logitech usb kamera

Īstenošana

Mūsu palīgs strādās pēc Alexa/Hub principa:
  1. Konkrētam vārdam aktivizējiet bezsaistē
  2. Atpazīstiet komandu mākonī
  3. Palaist komandu
  4. Ziņo par paveikto vai ziņo pieprasīto informāciju
Jo mana kamera tiek atbalstīta jau no komplektācijas, man nebija jājaucas ar draiveriem, tāpēc mēs pāriesim tieši uz programmatūras daļu.

Aktivizēšana bezsaistē

Aktivizēšana notiks, izmantojot CMU Sphinx, un viss būtu kārtībā, bet out of the box atpazīšana notiek ļoti lēni, vairāk nekā 10 sekundes, kas absolūti nav piemērots, lai atrisinātu problēmu, jums ir jāiztīra vārdnīca no nevajadzīgiem vārdiem.

Instalējiet visu nepieciešamo:

pip3 instalēt SpeechRecognition pip3 instalēt pocketsphinx
Tālāk

sudo nano /usr/local/lib/python3.4/dist-packages/speech_recognition/pocketsphinx-data/en-US /pronounciation-dictionary.dict
noņemiet visu, izņemot mums nepieciešamo Jarvis:

Džārviss JH AA R V AH S
Tagad kabatas sfinkss atpazīst diezgan ātri.

Runas atpazīšana

Sākumā bija doma izmantot Google servisu, turklāt tā atbalsts ir SpeechRecognition. Bet, kā izrādījās, Google par to ņem naudu un nedarbojas ar fizisko. personām.

Par laimi, Yandex nodrošina arī šādu iespēju, bez maksas un ārkārtīgi vienkāršu.

Reģistrējieties, iegūstiet API KEY. Visu darbu var veikt ar curl'om.

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"

runas sintēze

Šeit Yandex mums atkal palīdzēs. Mēs nosūtām tekstu atbildē, mēs saņemam failu ar sintezētu tekstu

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" > fails

Džārviss

Mēs visu savācam kopā un iegūstam šādu scenāriju.

#! /usr/bin/env python # -*-coding:utf-8-*- importēt os importēt runas_atpazīšanu kā sr no xml.dom importēt minidom importēt sys importēt nejauši r = sr.Recognizer() ya_uuid = "" ya_api_key = "" # os.system("echo "Assist+ent za+en" |festival --tts --language russian") def convert_ya_asr_to_key(): xmldoc = minidom.parse("./asr_answer.xml") itemlist = xmldoc.getElementsByTagName ("variants"), ja len(vienumu saraksts) > 0: return itemlist.firstChild.nodeValue else: return False def jarvis_on(): ar sr.WavFile("send.wav") kā avotu: audio = r.record(source) mēģiniet: t = r.recognize_sphinx(audio) print(t), izņemot LookupError: print("Nevarēja saprast audio") 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=" + fraze + "" > jarvis_speech.wav ) os.system("aplay jarvis_speech.wav") def jarvis_say_good(): phrases = ["Gatavs", "Gatavs", "Jā ", "Jā", "Vai ir vēl kas?", ] 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 "Satura veids: 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 ['key_word", "key_word1", "key_word2"]): os.system('') jarvis_say_good() turpināt, izņemot izņēmumu: jarvis_say("Kaut kas nogāja greizi")
Kas šeit notiek. Mēs sākam bezgalīgu cilpu, arecord’om ieraksta trīs sekundes un nosūta atpazīšanai sfinksu, ja failā ir vārds “jarvis”.

Ja jarvis_on():
mēs atskaņojam iepriekš ierakstītu aktivizācijas paziņojuma failu.

Atkal mēs ierakstām 3 sekundes un nosūtām to Yandex, atbildot uz mūsu komandu. Tālāk mēs veicam darbības, pamatojoties uz komandu.

Tas ir viss. Jūs varat izdomāt ļoti dažādus izpildes scenārijus.

izmantot gadījumu

Tagad daži manas reālās izmantošanas piemēri

Philips Hue

Uzstādīt

pip instalēt phue
Lietotnē Hue iestatiet statisku IP:

Mēs uzsākam:

#!/usr/bin/python import sys no phue import Bridge b = Bridge("192.168.0.100") # Šeit ievadiet tilta IP. #Ja darbojas pirmo reizi, nospiediet tilta pogu un palaidiet ar b.connect() bez komentāriem #b.connect() print (b.get_scene())
Mēs izrakstām vēlamo shēmu ID, piemēram, "470d4c3c8-on-0"

Galīgais skripts:

#!/usr/bin/python import sys no phue import Bridge b = Bridge("192.168.0.100") # Šeit ievadiet tilta IP. #Ja darbojas pirmo reizi, nospiediet tilta pogu un palaidiet ar b.connect() bez komentāriem #b.connect() if (sys.argv == "off"): b.set_light(,"on", False) cits: b.activate_scene(1,sys.argv)
Pievienot Džārvisam:

Ja (command_key in ["ieslēgt gaismu", "ieslēgt gaismu", "gaisma"]): os.system("python3 /home/pi/smarthome/hue/hue.py a1167aa91-on-0") jarvis_say_good() turpināt, ja (command_key in ["aptumšot apgaismojumu", "aptumšot gaismu"]): os.system("python3 /home/pi/smarthome/hue/hue.py ac637e2f0-on-0") jarvis_say_good( ) turpināt, ja (command_key in ["lights off", "lights off"]): os.system("python3 /home/pi/smarthome/hue/hue.py "off") jarvis_say_good() turpināt

LG televizors

Mēs ņemam skriptu no šejienes. Pēc pirmās palaišanas un savienošanas koda ievadīšanas pats kods nemainās, tāpēc varat izgriezt šo daļu no skripta un atstāt tikai kontroles daļu.

Pievienot Džārvisam:

#1 — SPĒKĀ #24 — SKAĻUMS_AUGŠĶINĀT #25 — SKAĻUMS_SAMAZINĀJUMS #400 — 3D_VIDEO, ja (command_taustiņš ["izslēgt televizoru", "izslēgt TV"]): os.system("python3 /home/pi/smarthome/TV/ tv2. py 1") jarvis_say_good() turpināt, ja (command_key in ['palielināt skaļumu', "skaļāk"]): os.system("python3 /home/pi/smarthome/TV/tv2.py 24") jarvis_say_good () Turpināt

Radio

sudo apt-get install mpg123
Pievienot Džārvisam:

If (command_key in ["ziņas", "izslēgt ziņas", "kas notiek"]): os.system('mpg123 URL') turpināt
Varat arī ievietot mājas tiltu un pārvaldīt visu, izmantojot Siri, ja nevarat kliegt Džārvisam.

Runājot par runas atpazīšanas kvalitāti, protams, nevis Alexa, bet attālumā līdz 5 metriem pareizo sitienu procentuālais daudzums ir pienācīgs. Galvenā problēma ir tā, ka runa no televizora / skaļruņiem tiek ierakstīta kopā ar komandām un traucē atpazīšanu.

Tas arī viss, paldies.

Tagi:

  • aveņu pi
  • pitons
Pievienojiet atzīmes
Notiek ielāde...Notiek ielāde...