Ջարվիսը համակարգչի վրա ռուսերեն. Տեսակ - համակարգչային ձայնային կառավարում

Օգտատերերի մեծամասնությունը գիտի, որ Siri համակարգը համարվում է ամենահայտնի անձնական օգնականը և հարց ու պատասխանի տեխնոլոգիան iOS սարքերում: Բարեբախտաբար, շուկայում հասանելի է ոչ միայն Siri համակարգը: Այսպիսով, Marvel-ի ստեղծած գիտաֆանտաստիկայի և կոմիքսների սիրահարներին առաջարկվում է անձնական օգնական ՋԱՐՎԻՍ «Երկաթե մարդը» ֆիլմից։

Եթե ​​սարքի տերը տեսել է «Երկաթե մարդը» ֆիլմը, ապա հավանաբար ճանաչում է Թոնի Սթարքի սպասավորին, ում անունը Ջարվիս է։ Հետևաբար, օգտատերը կկարողանա դիմել վիրտուալ ծառայողի օգնությանը սեփական շարժական սարքի վրա։ Բացի այդ, JARVIS ծրագիրը յուրահատուկ մշակում է, որն օգտագործում է Ջարվիսի կերպարի ձայնն ու կերպարը:

JARVIS կոմունալ ծրագիրը սկսվում է նշված գործիքն օգտագործելու և կառավարելու սովորական ձայնային հրահանգներով: Կարգավորման ավարտին օգտատերը պետք է նշի իր սեռը (որպեսզի վիրտուալ օգնականը կարողանա ճիշտ կապ հաստատել սարքի սեփականատիրոջ հետ): Բացի այդ, այստեղ դուք պետք է սահմանեք չափման միավորը հիմնական ջերմաստիճանի պայմանների համար (մասնավորապես, աստիճաններ Քելվին, Ֆարենհեյթ կամ, իհարկե, Ցելսիուս):


Հրահանգների մանրամասն ցանկը կարելի է գտնել՝ դիպչելով էկրանի վերին անկյունում գտնվող պատկերակին: Միևնույն ժամանակ, բոլոր հրամանները պետք է անպայման սկսվեն «Ջարվիս» բուժումից և սովորաբար պարունակեն մեկ բառ (օրինակ՝ «Ջարվիս, եղանակի կանխատեսում»): Նաև JARVIS-ը կարող է ծանուցել սարքի սեփականատիրոջը ապագա հանդիպումների մասին և ցուցադրել ընթացիկ ժամը։ Ծրագրում կարող եք նաև ստեղծել մի շարք աուդիո հիշեցումներ:

Կարևոր է նշել, որ JARVIS կոմունալ ծրագիրը լրացուցիչ հնարավորություններ է տալիս օպտիկական սկավառակների սեփականատերերին Iron Man ֆիլմի բլոկբաստերով: Օրինակ՝ օգտատերը կարող է հեշտությամբ կառավարել համապատասխան ֆիլմի նվագարկումը այս վիրտուալ սպասարկողի օգնությամբ։


Օգտակար տեղեկատվությունԵթե ​​ձեր վիրտուալ օգնականին հարց տաք՝ գնեմ BMW 740 (http://www.bmw-avtoport.ru/auto/7/), ապա նրա պատասխանը հարյուր տոկոս հավանականությամբ դրական կլինի։ Ի դեպ, դուք կարող եք գնել BMW 7 Series հենց հիմա ձեզ համար առավել շահավետ պայմաններով: Դրա համար անհրաժեշտ է միայն այցելել www.bmw-avtoport.ru կայքը:

Այսօր կխոսենք մեր ելույթի մասին։ Կցանկանայիք կառավարել համակարգիչը ձայնով, առանց մատների օգնության? Եվ, ինչպես ասում են, մտքի ուժով։ Ճիշտ է, մտքի ուժով չենք կառավարելու համակարգիչը, բայց ձայնի ուժով դա միանգամայն իրական է։

Մուտքագրեք ծրագիր- Սա ձայնի միջոցով համակարգիչը կառավարելու լավագույն ծրագրերից մեկն է: Այս ծրագրի մեկնաբանություններում գտնվող կայքերում կարծիքները համընկնում են:

Ճիշտ է, դա իր թերություններն ունի։ Բայց դրա մասին ավելի ուշ: Ի դեպ, եթե ձեզ հետաքրքրում է, կարդացեք իմ կարծիքը:

Ծրագիրը կարող եք ներբեռնել այստեղ՝ http://freesoft.ru/type

Ինչպե՞ս օգտագործել այն: Նախ, եկեք գործարկենք այն և տեսնենք հիմնական կառավարման կոճակները.

Ծրագիրը ողջունում է մեզ և անմիջապես հուշում է, թե ինչպես օգտագործել Type: Սկզբում կսեղմենք «ավելացնել» կոճակը և կգրենք, օրինակ՝ «բաց» բառը։ Դա անելու համար խոսափողի մեջ ասեք այս բառը.

Այնուհետև սեղմեք ավելացնել: Այսպիսով, մենք մեր ձայնով պահպանեցինք «Բաց» բառը ծրագրում։ Դուք կարող եք ցանկացած այլ բառ խոսել խոսափողի մեջ: Գլխավորը չշփոթվելն է։

Հաջորդ քայլը հրամաններ ավելացնելն է: Դա անելու համար անցեք այս կետին.

Այնուհետև մենք նշում ենք մեզ անհրաժեշտ ապրանքի կողքին գտնվող վանդակը.

Ընտրեք ծրագիր, ծրագիր կամ գործողություն և սեղմեք կարմիր ձայնագրման կոճակը: Եթե ​​համակարգիչը ընդունեց մեր ձայնը, սեղմեք «Ավելացնել».

Եվ հիմա մեր պրոֆիլում տեսանելի կլինի մեկ ձայնային հրաման։ Այս դեպքում, 7-Zip-ը բացողը.

Եվ հիմա, սեղմելով վերջնական կոճակը «սկսիր խոսել»

ասում ենք «բաց Seven Zip» արտահայտությունը։ Իմ դեպքում ամեն ինչ կստացվի։ Եվ կբացվի 7-zip ծրագիրը։ Հիշեք այս արտահայտությունը. Sim sim-ը բաց է: Ահա մոտավորապես նույն բանը.

Ծրագիրը միշտ չէ, որ ճիշտ է աշխատում: Այժմ հզոր ռուսաց լեզուն ամբողջությամբ չի ուսումնասիրվել լեզվաբան ծրագրավորողների կողմից... Բայց այնուամենայնիվ, հաճելի է, երբ համակարգիչը ենթարկվում է քեզ։

Հետևաբար, փորձարկման և սովորական հետաքրքրասիրության համար Typle ծրագիրը 100% հարմար է:

Այս տեսանյութում կարող եք տեսնել առաջին ձայնային շարժիչների ստեղծման պատմությունը և էլի ինչի վրա պետք է աշխատենք.

Ծրագրի այլ անալոգների այնպիսի սարսափելի անուններ կան, ինչպիսիք են Gorynych, Perpetuum, Dictograph, Voice Commander: Բայց բոլորն էլ «այն մեկը չեն»։ Արժանի հաղորդման քննադատությունը մի անցեք։

Այս ծրագիրը յուրացնելու համար ինձնից պահանջվեց 5 րոպե: Սա բավականին երկար ժամանակ է (հիմնականում, ես նման ծրագրերը հասկանում եմ 1-2 րոպեում): Հարցերի դեպքում գրեք։ Կհանդիպենք շուտով, ընկերներ :)!


Երկար ժամանակ իմ «Ջարվիսի» և տան սարքավորումները ձայնով կառավարելու միտքը չէր հեռանում։ Եվ վերջապես ձեռքերը հասան այս հրաշքի ստեղծմանը։ Ես ստիպված չէի երկար մտածել «ուղեղների» մասին, Raspberry Pi-ն հիանալի տեղավորվում է:

Այսպիսով, երկաթ.

  • Raspberry pi 3 մոդել բ
  • logitech USB տեսախցիկ

Իրականացում

Մեր օգնականը կաշխատի Alexa/Hub սկզբունքով.
  1. Ակտիվացրեք անցանց կոնկրետ բառի համար
  2. Ճանաչեք թիմը ամպի մեջ
  3. Գործարկել հրամանը
  4. Զեկուցել կատարված աշխատանքի մասին կամ զեկուցել պահանջվող տեղեկատվության մասին
Որովհետեւ իմ տեսախցիկը ապահովված է առանց տուփի, ես ստիպված չէի խառնվել վարորդների հետ, այնպես որ մենք անմիջապես կանցնենք ծրագրային մասին:

Անցանց ակտիվացում

Ակտիվացումը տեղի կունենա CMU Sphinx-ի միջոցով, և ամեն ինչ լավ կլիներ, բայց տուփից դուրս ճանաչումը շատ դանդաղ է, ավելի քան 10 վայրկյան, ինչը բացարձակապես հարմար չէ, խնդիրը լուծելու համար անհրաժեշտ է մաքրել բառարանը ավելորդ բառերից:

Տեղադրելով այն ամենը, ինչ ձեզ հարկավոր է.

pip3 install SpeechRecognition pip3 install pocketsphinx
Հետագա

sudo nano /usr/local/lib/python3.4/dist-packages/speech_recognition/pocketsphinx-data/en-US /pronounciation-dictionary.dict
հեռացնել ամեն ինչ, բացի Jarvis-ից, որը մեզ անհրաժեշտ է.

Jarvis JH AA R V AH S
Այժմ pocketsphinx-ը բավականին արագ է ճանաչում:

Խոսքի ճանաչում

Սկզբում միտք կար օգտվել Google ծառայությունից, բացի այդ, դրա աջակցությունը SpeechRecognition-ում է։ Բայց ինչպես պարզվեց, Google-ը դրա համար գումար է վերցնում և չի աշխատում ֆիզիկականի հետ։ անձինք.

Բարեբախտաբար, Yandex-ը նույնպես տալիս է նման հնարավորություն՝ անվճար և չափազանց պարզ։

Գրանցվեք, ստացեք API KEY: Բոլոր աշխատանքները կարելի է կատարել 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"

խոսքի սինթեզ

Այստեղ Yandex-ը մեզ նորից կօգնի։ Մենք ի պատասխան ուղարկում ենք տեքստ, ստանում ենք սինթեզված տեքստով ֆայլ

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" > ֆայլ

Ջարվիս

Մենք հավաքում ենք ամեն ինչ և ստանում նման սցենար։

#! /usr/bin/env python # -*-coding:utf-8-*- ներմուծել os ներմուծել խոսքի_ճանաչում որպես sr xml.dom ներմուծում minidom ներմուծում sys ներմուծում պատահական r = sr.Recognizer() ya_uuid = "" ya_api_key = "" # os.system("echo "Assist+ent za+en" |փառատոն --tts --լեզու ռուսերեն") def convert_ya_asr_to_key(): xmldoc = minidom.parse("./asr_answer.xml") itemlist = xmldoc.getElementsByTagName («տարբերակ») if len(itemlist) > 0. return itemlist.firstChild.nodeValue else. return False def jarvis_on(): sr.WavFile(«send.wav») որպես աղբյուր՝ audio = r.record (աղբյուր) փորձել՝ t = r.recognize_sphinx(audio) print(t) բացառությամբ Lookup-ի Սխալ՝ տպել ("Չհաջողվեց հասկանալ աուդիո") վերադարձ t == ("jarvis") def jarvis_say(արտահայտություն): 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=" + phrase + "" > jarvis_speech.wav" ) os.system("aplay jarvis_speech.wav") def jarvis_say_good(): արտահայտություններ = ["Կատարված", "Կատարված է", "Այո" ", "Այո", "Ուրիշ բան կա՞", ] randitem = random.choice(արտահայտություններ) 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("record -B --buffer-time=1000000 - f dat -r 16000 -d 3 -D plughw:1,0 send.wav") os.system("curl -X POST -H "Content-Type. 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 ['key_word", 'key_word1', 'key_word2"]): os.system('') jarvis_say_good() շարունակել բացառությամբ Բացառության. jarvis_say ("Սխալ առաջացավ")
Ինչ է այստեղ կատարվում. Մենք սկսում ենք անսահման օղակ, arecord'om-ը գրում է երեք վայրկյան և ուղարկում է սֆինքսը ճանաչման համար, եթե ֆայլում հայտնվում է «jarvis» բառը:

Եթե ​​jarvis_on():
մենք նվագարկում ենք նախապես գրանցված ակտիվացման ծանուցման ֆայլը:

Կրկին մենք ձայնագրում ենք 3 վայրկյան և ուղարկում ենք Yandex-ին, ի պատասխան ստանում ենք մեր հրամանը։ Հաջորդը, մենք հրամանի հիման վրա կատարում ենք գործողություններ:

Այսքանը: Դուք կարող եք հանդես գալ կատարման սցենարների մեծ բազմազանությամբ:

օգտագործման դեպքը

Հիմա իմ իրական օգտագործման որոշ օրինակներ

Philips Hue

Տեղադրեք

pip install phue
Hue հավելվածում սահմանեք ստատիկ IP.

Մենք գործարկում ենք.

#!/usr/bin/python ներմուծման sys-ը phue import-ից Bridge b = Bridge("192.168.0.100") # Այստեղ մուտքագրեք կամուրջի IP-ն: #Եթե առաջին անգամ եք աշխատում, սեղմեք կոճակը կամրջի վրա և գործարկեք b.connect() առանց մեկնաբանության #b.connect() print (b.get_scene())
Մենք դուրս ենք գրում ցանկալի սխեմաների ID-ները, օրինակ՝ «470d4c3c8-on-0»

Վերջնական սցենար.

#!/usr/bin/python ներմուծման sys-ը phue import-ից Bridge b = Bridge("192.168.0.100") # Այստեղ մուտքագրեք կամուրջի IP-ն: #Եթե առաջին անգամ եք աշխատում, սեղմեք կոճակը կամրջի վրա և գործարկեք b.connect() առանց մեկնաբանության #b.connect() if (sys.argv == "անջատված"): b.set_light("on", False) else՝ b.activate_scene(1,sys.argv)
Ավելացնել Jarvis-ին.

Եթե ​​(command_key in ["turn the light", "turn the light", "light"]): os.system("python3 /home/pi/smarthome/hue/hue.py a1167aa91-on-0") jarvis_say_good() շարունակեք, եթե (command_key in ["dim the lights", "dim the lights"]): os.system("python3 /home/pi/smarthome/hue/hue.py ac637e2f0-on-0") jarvis_say_good( ) շարունակել, եթե (command_key in ["lights off", "lights off"]): os.system("python3 /home/pi/smarthome/hue/hue.py "off"") jarvis_say_good() շարունակել

LG հեռուստացույց

Սցենարը վերցնում ենք այստեղից։ Առաջին գործարկումից և զուգակցման կոդը մուտքագրելուց հետո կոդը ինքնին չի փոխվում, այնպես որ կարող եք կտրել այս մասը սկրիպտից և թողնել միայն կառավարիչը:

Ավելացնել Jarvis-ին.

#1 - POWER #24 - VOLUNE_UP #25 - VOLUME_DOWN #400 - 3D_VIDEO if (command_key in ["turn off TV", "turn off TV"]): os.system ("python3 /home/pi/smarthome/TV/): tv2. py 1") jarvis_say_good() շարունակել, եթե (command_key ['բարձրացրեք ձայնը', "louder"]): os.system("python3 /home/pi/smarthome/TV/tv2.py 24") jarvis_say_good () շարունակել

Ռադիո

sudo apt-get տեղադրել mpg123
Ավելացնել Jarvis-ին.

Եթե ​​(command_key [«նորություններում», «անջատել լուրերը», «ինչ է կատարվում»]), os.system («mpg123 URL») շարունակեք
Դուք կարող եք նաև տեղադրել homebridge և ամեն ինչ կառավարել Siri-ի միջոցով, եթե չեք կարող բղավել Ջարվիսին:

Ինչ վերաբերում է խոսքի ճանաչման որակին, ապա ոչ թե Alexa-ն, իհարկե, այլ մինչև 5 մետր հեռավորության վրա, ճիշտ հարվածների տոկոսը պարկեշտ է։ Հիմնական խնդիրն այն է, որ հեռուստացույցից / բարձրախոսներից ելույթը ձայնագրվում է հրամանների հետ միասին և խանգարում է ճանաչմանը:

Այսքանը, շնորհակալություն:

Tags:

  • ազնվամորու պ
  • պիթոն
Ավելացնել պիտակներ
Բեռնվում է...Բեռնվում է...