Meny
Är gratis
checka in
den huvudsakliga  /  Multimedia / Marvel Jarvis - Personlig assistent för IOS-enheter. Typle - Voice Control Computer Virtual Jarvis

Marvel Jarvis - Personlig assistent för IOS-enheter. Typle - Voice Control Computer Virtual Jarvis


Under lång tid lämnade jag inte tanken på mitt "Jarvis" och förvaltningen av tekniken i rösthuset. Och slutligen nådde händerna skapandet av detta mirakel. Jag behövde inte tänka på "hjärnorna" under en lång tid, Raspberry Pi är lämplig.

Så järn:

  • Raspberry Pi 3 Modell B
  • USB-logitechkamera

Försäljning

Vår assistent kommer att arbeta med principen om Alexa / Hub:
  1. Aktivera offline på ett visst ord
  2. Känna igen ett kommando i molnet
  3. Kör kommandot
  4. Rapportera om att arbeta eller informera begäran om information
Därför att Min kamera stöds från lådan, du behövde inte röra med drivrutinerna, så vi går omedelbart till programdelen.

Offline aktivering

Aktivering kommer att inträffa med CMU-sfinx, och allt skulle vara bra, men erkännandet är mycket långsamt från lådan, mer än 10 sekunder, vilket inte är absolut lämpligt, för att lösa problemet du behöver för att rensa ordlistan från onödiga ord.

Installera allt du behöver:

Pip3 Installera talrecognition Pip3 Installera Pocketsfinx
Ytterligare

Sudo nano /usr/local/lib/python3.4/dist-packages/speech_recognition/pocketsphinx-data/en-us /Pronounciation-Dictionary.dict
Vi tar bort allt utom Jarvis vi behöver:

Jarvis JH AA R v ah s
Nu erkänner Pocketsfinx ganska snabbt.

Taligenkänning

Först var det en idé att använda Google-tjänsten, och dess stöd är i talrecognition. Men som det visade sig, tar Google pengar för detta och fungerar inte med Phys. personer.

Fördelen med Yandex ger också ett sådant tillfälle, gratis och extremt enkelt.

Vi registrerar oss, vi får nyckeln API. Allt arbete kan vara curl'om.

Curl-X Post -h "Innehållstyp: Audio / X-WAV" --Data-Binary "@File" "https://asr.yandex.net/asr_xml?uuid\u003dya_uid&key\u003dyf_api_key&topic\u003dqueries»

Syntes av tal

Här hjälper Yandex oss igen. Vi skickar texten som svar på att få en fil med syntetiserad text.

Curl "https://ttts.voictech.yandex.net/generate ?format\u003dwav&lang\u003dru-ru&speaker\u003dzahar&motion\u003dgood&key\u003dya_api_key" -g --data-urlencode "Text \u003d Text"\u003e Fil

Jarvis

Vi samlar alla tillsammans och får ett sådant skript.

#! / Usr / Bin / Env Python # - * - Kodning: UTF-8 - * - Import OS Import Peale_Recognition som SR från XML.DOM Import minidom import sys import slumpmässig r \u003d sr.recognizer () ya_uuid \u003d "" ya_api_key \u003d "" # Os.System ("Echo" Assist + UT ZAP + Town "| Festival --TTS --Language English") def konvertera_ya_asr_to_key (): xmldoc \u003d minidom.parse ("./ asr_answer.xml") itemlist \u003d xmldoc.geteLementbyteName ("Variant") Om Len (artikellista)\u003e 0: retur itemlist.firstchild.noDevalue annan: retur falsk def Jarvis_on (): med sr.wavfile ("sänd.wav") som källa: Audio \u003d R.Record (källa) Försök: t \u003d r.recognize_spinx (ljud) Skriv ut (t) utom Lookuperror: Skriv ut ("kunde inte förstå ljud") retur t \u003d\u003d ("Jarvis") def Jarvis_Say (fras): OS.System ("Curl" https: //tts.voictech.yandex.net/generate? Format\u003dwav&lang\u003dru-rub&speaker\u003dzahar&motion\u003dgood&key \u003d "" -g --data-urlencode "text \u003d" + fras + ""\u003e jarvis_speech.wav) OS.System ("aplay jarvis_speech.wav") def Jarvis_say_Good (): fraser \u003d ["redo", "gjort", "Lyssna "," Ha "," Något annat? ",] Randitem \u003d Random.Choice (fraser) Jarvis_Say (Randitem) Försök: Medan sant: OS.System (" ARecord -B --buffer-Time \u003d 1000000 -F DAT-R 16000 -D 3-DUGHW: 1.0 SEND.WAV ") Om Jarvis_ON (): OS.System (" APlay JARVIS_ON.WAV ") OS.SYSTEM (" ARECORD-B --BUfER-TIME \u003d 1000000 - F DAT -R 16000 -D 3 -D PLUGHW: 1.0 SEND.WAV ") OS.SYSTEM (" CURL -X Post -H "Innehållstyp: Audio / X-WAV" --Data-Binary "@send .wav" "https: //asr.yandex.net/asr_xml?uuid\u003d"+ya_uuid + "k + ya_uuid +" & tangent \u003d "k + ya_api_key +" & ämne \u003d frågor "\u003e asr_answer.xml") command_key \u003d convert_ya_asr_to_key () om (kommando_key): om () Command_Key i ['key_word', 'key_word1', 'key_word2 "]): OS.System (' ') Jarvis_Say_Good () Fortsätt utom undantag: Jarvis_Say (" Något gick fel ")
Vad händer här. Kör en oändlig slinga, ARecord'om skriv tre sekunder och skicka sfinx till erkännande om ordet "Jarvis" finns i filen

Om Jarvis_on ():
Vi förlorar i förväg inspelad aktivering alert-fil.

Vi skriver igen 3 sekunder och skickar Yandex, jag får vårt team som svar. Därefter utföra åtgärder baserat på kommandot.

På detta faktiskt allting. Prestationscenarier kan komma med en bra uppsättning.

Användningsfall.

Nu några exempel på verklig användning

Philips Hue.

Installera

Pip installera Phue.
Installera statisk IP:

Springa:

#! / Usr / Bin / Python Import Sys från Phue Import Bridge B \u003d bro ("192.168.0.100") # Ange Bridge IP här. #Of Running för första gången, tryck på knappen på bro och kör med B.Connect () obekväma # b.connect () utskrift (b.get_scene ())
Vi skriver ut ID för de önskade systemen, formuläret "470D4C3C8-on-0"

Slutversionen av skriptet:

#! / Usr / Bin / Python Import Sys från Phue Import Bridge B \u003d bro ("192.168.0.100") # Ange Bridge IP här. #Om kör för första gången, tryck på knappen på bro och kör med B.Connect () obekväma # B.Connect () om (sysS.ARGV \u003d\u003d "OFF"): B.Set_light (, "ON", FALSE) Annars: b.ActiveVate_Scene (1, sys.argv)
Lägg till i Jarvis:

Om (Command_Key i ["Light", "Slå på ljus", "Light"]): OS.System ("Python3 /Home/pi/smarthome/hue/hue.py a1167aa91-on-0") Jarvis_say_good () Fortsätt Om (Command_Key i ["Light", "Mute Light"]): OS.System ("python3 /Home/pi/smarthome/hue/hue.py ac637e2f0-on-0") Jarvis_say_Good () Fortsätt om (kommando_key i [ "Stäng av ljuset", "Stäng av ljuset"]): OS.System ("python3 /home/pi/smarthome/hue/hue.py" Off ") Jarvis_say_Good () Fortsätt

LG TV.

Vi tar skriptet härifrån. Efter den första starten och in i konjugeringskoden ändras inte koden, så att du kan klippa den här delen från skriptet och lämna endast kontrollen.

Lägg till i Jarvis:

# 1 - Power # 24 - Volune_Up # 25 - Volume_down # 400 - 3D_VIDEO IF (Command_key i ["TWN TWC", "Stäng av TV: n"]): OS.System ("Python3 / Home / Pi / SmartHome / TV / TV2. PY 1 ") JARVIS_SAY_GOOD () Fortsätt om (Command_Key i ['Lägg till volymer," Louder "]): OS.System (" Python3 /Home/pi/smarthome/tv/tv2.py 24 ") Jarvis_say_Good () Fortsätta

Radio

Sudo apt-få installera mpg123
Lägg till i Jarvis:

Om (Command_key i [Nyheter "," Stäng av nyheter "," Vad händer "]: OS.System ('MPG123 URL) Fortsätt
Du kan fortfarande lägga hembrygga och hantera allt via Siri, om du inte avslutar Jarvis.

När det gäller kvaliteten på taligenkänning, inte Alexa självklart, men på ett avstånd av 5 meter andelen trovärdiga ingredienser. Huvudproblemet är ett tal från TV-talarna spelas in med kommandona och stör med erkännande.

Det är allt tack.

Taggar:

  • raspberry Pi
  • pytonorm
Lägg till taggar

De flesta användare vet att SIRI-systemet anses vara den mest populära personliga assistenten och ifrågasättande tekniken på iOS-prylar. Lyckligtvis är inte bara Siri-systemet tillgängligt på marknaden. Så, fans av fiktion och serier som skapats av Marvel, erbjuds en personlig assistent Jarvis från filmen "Iron Man".

Om ägaren till enheten såg filmen "Iron Man", är det säkert känt för Butler Tony Stark, vars namn är Jarvis. Följaktligen kommer användaren att kunna tillgripa hjälp av en virtuell tjänare på sin egen bärbara apparat. Dessutom är Jarvis-programmet en unik utveckling som tillämpar röst och bilden av Jarvis-karaktär.

Operationen av Jarvis-verktyget börjar med konventionella ljudinstruktioner för att använda och hantera det angivna verktyget. I slutet av inställningen måste användaren ange dess kön (så att den virtuella assistenten kan åtkomst till enhetens ägare korrekt. Dessutom måste det ställa in en måttenhet av de viktigaste temperaturförhållandena (i synnerhet grader i Kelvin, Fahrenheit eller, naturligtvis, Celsius).


Du kan bekanta dig med en detaljerad lista med instruktioner, vidröra ikonerna placerade i det övre hörnet av displayen. Samtidigt måste alla lag säkert börja med överklagandet "Jarvis" och brukar innehålla ett ord (till exempel "Jarvis, väderprognos"). Jarvis vet också hur man meddelar enhetens ägare av framtida möten och visa den aktuella tiden. En mängd olika ljudnamn kan skapas i programmet.

Det är viktigt att notera att ägarna optiska skivor Med en KinoBlokbster "Iron Man" Utility Jarvis tillhandahåller ytterligare egenskaper. Till exempel kan användaren enkelt hantera uppspelningen av motsvarande film med hjälp av den här virtuella butleren.


Hjälpsam information: Om du frågar din virtuella assistentfråga: Är det värt att köpa en BMW 740 (http://www.bmw-avtoport.ru/auto/7/), då är hans svar med hundra procent sannolikhet att vara bekräftande! Förresten kan du köpa BMW sjunde serien just nu på de mest lönsamma förutsättningarna för dig själv! Allt du behöver göra för det här är att besöka webbplatsen www.bmw-avtoport.ru.

Idag talar vi om vårt tal. Jag skulle gärna vilja kör en datorröst, utan hjälp av dina fingertoppar? Och som de säger, - tankens styrka! Det är sant att vi inte klarar av datorn med tankegången, men det är väldigt realistiskt.

Skrivprogram - Detta är ett av de bästa programmen för att hantera en dator genom röst. På webbplatser i kommentarerna till detta program konvergerar åsikterna.

Sant Det finns dina brister. Men mer på det senare. Förresten, om du är intresserad av - läs min recension.

Du kan ladda ner programmet här: http://freesoft.ru/yly

Hur man använder det? I början, starta den och se huvudkontrollknapparna:

Programmet välkomnar oss och omedelbart ger oss uppmaningar hur man använder skriven. I början klickar du på knappen Lägg till och skriv ett ord, till exempel "öppet". För att göra detta, säg detta ord i mikrofonen:

Klicka sedan på Lägg till. Så vi har sparat ordet "öppet" i programmet. Du kan prata i mikrofonen något annat ord. Det viktigaste är att inte bli förvirrad.

Nästa steg kommer att lägga till kommandon. För att göra detta, låt oss gå till denna punkt:

Sedan satte vi ett fält mitt emot det objektet som vi behöver:

Välj programmet, applikationen eller åtgärden och klicka på den röda inspelningsknappen. Om datorn uppfattar vår röst klickar du på "Lägg till":

Och nu kommer ett röstteam att vara synligt i vår profil. I det här fallet, den som öppnar 7-zip:

Och nu genom att klicka på den slutliga knappen "Starta Talk"

vi talar frasen "öppen sperma zip". I mitt fall kommer allt att fungera. Och 7-zip-programmet öppnas. Kom ihåg en sådan fras: Sim Sim Open? Det här är något ungefär detsamma.

Programmet fungerar inte alltid tillräckligt. Nu är det mäktiga ryska språket inte helt studerat av språkliga programmerare ... men fortfarande trevligt när datorn lyssnar på dig.

Därför, för testning och banal nyfikenhet, kommer Typle-programmet att passa 100%.

I den här videon kan du se historien om skapandet av de första röstmotorerna och vad mer ska vi arbeta med:

Det finns sådana hemska namn på andra analoger av programmet, som GoryNych, Perpetuum, Dotograph, Voice Commander. Men de är alla "inte det." Kritisera inte ett anständigt program.

Jag gick i 5 minuter för att behärska detta program. Det här är ganska lång tid (främst i sådana program förstår jag 1-2 minuter). Om frågor uppstår - skriv. Fram till snart möten, vänner :)!