import speech_recognition as sr
from time import sleep
import numpy as np
from pyjuni.robodog import *
from pyjuni.deflib import *
from pyjuni.jkeyevent import *

recognizer = sr.Recognizer()

def recog():
    with sr.Microphone() as source:
        try:
            audio = recognizer.listen(source)
            text = recognizer.recognize_google(audio, language='ko-KR')
            return text
        except sr.UnknownValueError:
            print("UnknownValueError")
        except sr.RequestError as e:
            print(f"Google API Request Fail: {e}")


if __name__ == "__main__":
    robodog = RoboDog()
    jkey = JKeyEvent()  

    robodog.Open()

    while not jkey.isKeyEscPressed():
        msg = recog()
        if msg == None:
            continue

        print("msg : ", msg)
        if msg == "앞으로":
            robodog.move(50)
        elif msg == "뒤로":
            robodog.move(-50)
        elif msg == "멈춰":
            robodog.move(0)
        elif msg == "쉬어":
            robodog.gesture(0)
        sleep(0.1)    

    robodog.Close()