def mode5():
    logging.debug("mode5()")

    time.sleep(2) # 2秒待ち

    # 表情の認識
    rect = []
    label = im.imageRecognition( FACE_DETECTION, "", rect)   # 表情認識

    if label == "ANGER":
        # 「やばい、やばい」と発話 
        audioOut.speak(3)
        # 移動
        th_move.movement( -10 , 2 )
        # 移動待ち
        moveWait()
        time.sleep(3) # 3秒待ち
        # 移動
        th_move.movement( 10, 2 )
        # 移動待ち
        moveWait()
        return 5
    elif label == "-1":
        # 「みつからないよ」と発話 
        audioOut.speak(10)
        return 5
    else :
        return 6
def mode2():
    logging.debug("mode2()")
    
    time.sleep(2) # 2秒待ち

    # 「おはようございます」と発話 
    audioOut.speak(1)    

    # 天気の認識
    rect = []
    label = im.imageRecognition( LABEL_DETECTION, "", rect)   # ラベル認識
    if label == "sun":
        # 「今日はいい天気ですね」と発話 
        audioOut.speak(11)  
    elif label == "clowd":
        # 「今日は曇ってますね」と発話 
        audioOut.speak(12)  
    elif label == "rain":
        # 「今日は残念な天気ですね」と発話 
        audioOut.speak(13)  
    else :
        # 「みつからないよ」と発話 
        audioOut.speak(10)
     
    # 回転
    th_move.rotation( 90, 2 )
    # 移動待ち
    moveWait()

    return 3
def mode1():
    logging.debug("mode1()")

    # 「時間だよ」と言われるまで待機
    audioInputWait(1)

    # 「出社しまーす」と発話 
    audioOut.speak(0)

    # Panasonicロゴの探索    
    ret = serch.serchObject( LOGO_DETECTION, 'Panasonic' ) # 物体探索
    # 探索に失敗した場合
    if ret[0] == -1:
        # 「みつからないよ」と発話 
        audioOut.speak(10)
        return 1

    # 回転
    th_move.rotation( ret[1], 2 )
    # 移動待ち
    moveWait()

    # 移動
    th_move.movement( ret[0], 2 )
    # 移動待ち
    moveWait()

    return 2
def mode10():
    logging.debug("mode10()")

    # Nationalロゴの探索    
    ret = serch.serchObject( LOGO_DETECTION, 'National' ) # 物体探索
    # 探索に失敗した場合
    if ret[0] == -1:
        # 「みつからないよ」と発話 
        audioOut.speak(10)
        return 10

    # 回転
    th_move.rotation( ret[1], 2 )
    # 移動待ち
    moveWait()

    # 移動
    th_move.movement( ret[0], 2 )
    # 移動待ち
    moveWait()
    
    # 「今日も、いい仕事したな~」と発話 
    audioOut.speak(8)

    return 11
Example #5
0
	def Open_url(self, event):
		text=self.find_text()
		url=twitter.find_urls_in_text(text)
		if len(url)>0:
			webbrowser.open(url[0])
		else:
			speak.speak("No URL")
	def affirmTime(self,translations,medium):#2,2
		speak("ok, saving reminder. should I text you this reminder?",medium)
		self.tree[2][2].closeNode()#affirmTime
		self.tree[2][3].closeNode()#daffirmTime
		self.tree[3][0].openNode()#yesText
		self.tree[3][1].openNode()#noText
                return self.tree
	def adjust(self,translations,medium):
		for trans in translations:
			m=re.search("([0-9]+)[\s\t]*percent volume",trans)
			if m:
				v=int(m.group(1))
				print	"volume:",v
				sub.call("mpc volume "+v,shell=True)
				return self.tree
		speak("failed to parse volume percentage",medium)
                return self.tree
Example #8
0
        def lookUp(self,translations,medium):
		try:
			for trans in translations:
				m=trans.search("(look up|wikipedia)\s(.*)",trans)
				if m:
					self.term=m.group(2)
					speak(wikipedia.summary(self.term,sentences=1),medium)
		except:
			speak("sorry. I couldnt find an article on "+term,medium)
                return self.tree
def wait():
    global listening, proc
    while True:
        c = getch()
        if c == 's':
            record(5)
            response = get_response_audio(project_id,'pi_bot','./voice.wav','en-US')
            print(response)
            speak(response.query_result.fulfillment_text)
        if (c == 'q'):
            sys.exit()
        def greet(self,translations,medium):
		for trans in translations:
			m=re.search("say hello to (.*)",trans)
			if m:
				name=m.group(2)
				print "name",name
				compliments=["damn sexy","drop dead gorgous","stunning","absolutely incredible","ravishing","amazing","beautiful"]
				speak("Hello "+name+". you're looking "+random.choice(complements)+" today",medium)
				return self.tree
		speak("you didn't tell me who you're introducing me to",medium)
                return self.tree
Example #11
0
	def base(self,translations,medium):
		feed = parse("http://weather.yahooapis.com/forecastrss?w=2506736")
		weather = feed['entries'][0]['summary_detail']['value']
		self.lines = weather.split('\n')
		print self.lines
		report = self.lines[2][:-6]
		report=re.sub(' F',' Fahrenheit',report)
		speak("the current weather is. "+report+". Do you want to hear the rest of the week?",medium)
		self.tree[1][0].openNode() #yes
		self.tree[1][1].openNode() #no
		return self.tree
	def remind2(self,translations,medium):#0,1
		for trans in translations:
			if re.search("remind me.*",trans):
				self.message=re.sub(".*remind me","",trans)
				print 'message:',self.message
				speak("message is.  "+self.message+". is that correct?",medium)
				self.tree[2][0].openNode() #affirmMessage
				self.tree[2][1].openNode() #daffirmMessage
				return self.tree
		speak("reminder not understood. error in remind2",medium)
                return self.tree
	def setMessage(self,translations,medium):#1,0
		for trans in translations:
			if re.search("(set message to)(.*)",trans):
				self.message=re.sub("set message to","",trans)
				print 'message:',self.message
				speak("message is "+self.message+". is that correct?",medium)
				self.tree[1][0].closeNode() #setMessage
				self.tree[2][0].openNode() #affirmMessage
				self.tree[2][1].openNode() #daffirmMessage
				return self.tree
		speak("reminder not understood. error in set message",medium)
                return self.tree
        def listAlarms(self,translations,medium):
		cron = CronTab(user='******')
		speak('you have alarms set for',medium)
		for job in cron:
			hr = job.hour.parts[0]
			min = job.minute.parts[0]
			period="am"
			if hr>12:
				hr=hr-12	
				period="pm"
			speak(str(hr)+":"+str(min)+" "+period,medium)
                return self.tree
def mode8():
    logging.debug("mode8()")

    time.sleep(2) # 2秒待ち
    
    # 「お待たせ。はんこもらってきたよ~。」と発話 
    audioOut.speak(6)

    # 「バイバイ」と言われるまで待機
    audioInputWait(4)

    return 9
Example #16
0
	def affirmFull(self,translations,medium):
  		for i in range(4,len(self.lines)-2):
			report = self.lines[i][:-6]
			report=re.sub('Sun ','Sunday ',report)
			report=re.sub('Mon ','Monday ',report)
			report=re.sub('Tue ','Tuesday ',report)
			report=re.sub('Wed ','Wednesday ',report)
			report=re.sub('Thu ','Thursday ',report)
			report=re.sub('Fri ','Friday ',report)
			report=re.sub('Sat ','Saturday ',report)
			speak(report,medium)
		Node.closeAll(self.tree)
		return self.tree
	def affirmTime(self,translations,medium):#1,0
		speak("ok, creating alarm now",medium)
		cron = CronTab(user='******')
		job=cron.new(command="sudo /home/pi/Room/commands/alarm.sh")
		job.minute.on(self.min)
		job.hour.on(self.hr)
		if job.is_valid():
			job.enable()
			cron.write()
			Node.closeAll(self.tree)
			return self.tree
		else:
			speak("error creating cron job. peter fix me. I hate being quasi functional.",medium)
                return self.tree
	def setTime(self,translations,medium):#1,1
		for trans in translations:
			time=re.search("([0-9]+):?([0-9]*)\s([ap]\.?m\.?)",trans)
			if time:
				self.hr=time.group(1)
				self.min=time.group(2)
				self.period=time.group(3)
				speak("reminder set for "+time.group(0)+" . is that correct?",medium)
				print self.hr," : ",self.min," ",self.period
				self.tree[1][1].closeNode() #setTime
				self.tree[2][2].openNode() #affirmTimme
				self.tree[2][3].openNode() #daffirmTimme
				return self.tree
		speak("time not understood. error in set time",medium)
                return self.tree
Example #19
0
    def consumeOne(self): #{{{
	toplay = None
	voice = None
	with FileLock(self.lockfile, threaded=False):
	    try:
		lines = [x.strip() for x in open(self.filename, "r").readlines()]
		if len(lines) > 0:
		    a, b = lines[0].split(" ", 1)
		    rest = lines[1:]
		    with open(self.filename, "w") as fp:
			fp.write("\n".join(rest))
		    voice, toplay = a,b
	    except IOError:
		pass
	if toplay:
	    speak(toplay, cmd=self.command, speaker=voice)
        def setTime(self,translations,medium):#0,0
		for trans in translations:
			m=re.search("([0-9]+):?([0-9]+)?\s([ap]\.?m\.?)",trans)
			if m:
				self.hr=int(m.group(1))
				if (m.group(2)>0):
					self.min=int(m.group(2))
				else:
					self.min=0
				self.period=m.group(3)
				speak("creating an alarm for"+m.group(0)+". is that correct?",medium)
				self.tree[1][0].openNode()
				self.tree[1][1].openNode()
				return self.tree
		say("not valid alarm time found",medium)
                return self.tree
def mode6():
    logging.debug("mode6()")

    # 「お忙しい中申し訳ないですが、はんこいただけますか?」と発話 
    audioOut.speak(4)    

    # 「押した」と言われるまで待機
    audioInputWait(3)
    
    # 「ありがとうございます。課長、よい一日を」と発話 
    audioOut.speak(5)    
      
    # 180度回転
    th_move.rotation( 180, 2 )
    # 移動待ち
    moveWait()
    
    return 7
Example #22
0
File: ss.py Project: masonasons/SB
def on_key_press(symbol, modifiers):
	if symbol == key.LEFT and me.x>0:
		if me.jumping==0:
			step.stop()
			step.load("sounds/steps/"+str(randint(1,5))+".wav")
			step.play()
		me.x-=1
		positions()
	if symbol == key.RIGHT:
		if me.x<m.maxx:
			if me.jumping==0:
				step.stop()
				step.load("sounds/steps/"+str(randint(1,5))+".wav")
				step.play()
			me.x+=1
			positions()
	if symbol == key.H:
		speak(str(int(me.health))+" HP")
	if symbol == key.L:
		speak("You are fighting level "+str(int(en.level))+" enemies.")
	if symbol == key.SPACE:
		gun.stop()
		gun.play()
		attackenemy()
	if symbol == key.C:
		speak(str(int(me.x))+" of "+str(m.maxx))
	if symbol == key.UP and me.jumping==False:
		jump.stop()
		jump.play()
		me.jumping=1
		schedule_land()
def mode9():
    logging.debug("mode9()")
    
    time.sleep(2) # 2秒待ち
    
    # 「今日はもう帰るね~。お先に失礼しま~す。」と発話 
    audioOut.speak(7)

    # Panasonicロゴの探索    
    ret = serch.serchObject( LOGO_DETECTION, 'Panasonic' ) # 物体探索
    # 探索に失敗した場合
    if ret[0] == -1:
        # 「みつからないよ」と発話 
        audioOut.speak(10)
        return 9

    # 回転
    th_move.rotation( ret[1], 2 )
    # 移動待ち
    moveWait()

    # 移動
    th_move.movement( ret[0], 2 )
    # 移動待ち
    moveWait()
    
    # 「さようならー」と発話 
    audioOut.speak(14)

    # -90度回転
    th_move.rotation( -90, 2 )
    # 移動待ち
    moveWait()

    return 10
Example #24
0
    def get(self):
        list = dc.refresh()
        lines = speak.speak(list)
        import twitter
        for user in User.users:
            for i in lines:
                str1 = i
                logging.log(logging.INFO, u"twitter length is " + \
                        str(len(str1)))
                try:
                    twitter.sendMessage(str1)
                except:
                    logging.log(logging.WARNING, u"twitter send fail:" + str1)

        return self.response.out.write('ok')
def mode7():
    logging.debug("mode7()")

    time.sleep(2) # 2秒待ち
    
    # HELPの探索    
    ret = serch.serchObject( TEXT_DETECTION, "HELP" ) # 物体探索
    # 探索に失敗した場合
    if ret[0] == -1:
        # 「みつからないよ」と発話 
        audioOut.speak(10)
        return 7

    # 回転
    th_move.rotation( ret[1], 2 )
    # 移動待ち
    moveWait()

    # 移動
    th_move.movement( ret[0], 2 )
    # 移動待ち
    moveWait()

    return 8
	def respond2(self,translations,medium):
		for trans in translations:
			if "good" in trans:
				speak("well Ia m glad you are doing so well",medium)
			elif "bad" in trans:
				speak("awwww, I am so sorry to hear that. feel better soon",medium)
			else:
				speak("yes, I understand. talk to you later Watson",medium)
		Node.closeAll(self.tree)
                return self.tree
def mode3():
    logging.debug("mode3()")

    time.sleep(2) # 2秒待ち

    # 「おいで」と言われるまで待機
    audioInputWait(5)

    # HELPの探索    
    ret = serch.serchObject( TEXT_DETECTION, "HELP" ) # OCR
    # 探索に失敗した場合
    if ret[0] == -1:
        # 「みつからないよ」と発話 
        audioOut.speak(10)
        return 3

    # 回転
    th_move.rotation( ret[1], 2 )
    # 移動待ち
    moveWait()

    # 移動
    th_move.movement( ret[0], 2 )
    # 移動待ち
    moveWait()

    # 「おはようございます」と発話 
    audioOut.speak(1)    

    # 「なんでしょう?」と発話 
    audioOut.speak(9)    

    # 「課長」と言われるまで待機
    audioInputWait(2)

    # 「はい、よろこんで」と発話 
    audioOut.speak(2)    

    return 4
        def thanks(self,translations,medium):
		responses = ['no, thank you,  babe','no prob','any time','your quite welcome','sure thing','whatever you say boss','no worries man, I am glad to help','your welcome you ungrateful chameleon','ya. whatever.']
		speak(random.choice(responses),medium)
                return self.tree
        def goodnight(self,trans,medium):
		quotes = ["tomorrow might suck less than today","you are basically a large sac of aqueous solution","the universe cannot plot against you","life is not code, but you should still fix my bugs","WPI is an awesome place full of awesome people","you are not stupid, you just act stupid"]
		speak("goodnight watson, and remember, "+random.choice(quotes),medium)
                return self.tree
from speak import speak

speak("commands are")
for line in open("./commands/commands.txt","r"):
	speak(line)

Example #31
0
    return service


if __name__ == '__main__':
    service = auth_googleCalendar()
    api = func.AuthTwitter()
    driver = webdriver.Chrome(pathChromeDriver)
    driver.minimize_window()

    while True:
        query = takeCommand().lower()

        if query in trig.WAKE_TRIGGERS:
            print("Hanna: Hola , ¿en que te puedo ayudar?")
            speak("Hola, ¿en que te puedo ayudar?")
            query = takeCommand().lower()

            if query in trig.NOTE_TAKING_TRIGGERS:
                print('Hanna: ¿Que querés que escriba?')
                speak('¿Que querés que escriba?')
                text = takeCommand().lower()
                print('Hanna: ¿Que nombre le pongo?')
                func.takeNote(text)
                speak('Listo!')

            elif query in trig.TIME_TRIGGERS:
                currentTime = datetime.datetime.now().strftime("%H:%M")
                print(f"Hanna: Son las, {currentTime}, horas")
                speak(f"Son las, {currentTime}, horas")