Exemplo n.º 1
0
def main():
    while 1:
        retry_game = True
        button = False
        recog = kws_test()
        print(recog)
        msg = '종료'
        say_exit = msg
        if recog == 200:
            time.sleep(0.8)
            while 1:
                if retry_game:
                    print("Speech Recognize Start.....\n")
                    gt2vs.getText2VoiceStream("검색하고자 하는 가수명을 말씀하세요.",
                                              "./say_singer.wav")
                    play_file("./say_singer.wav")
                    text = gv2t.getVoice2Text()
                    if (text == '' or text == '종료'):
                        gt2vs.getText2VoiceStream(
                            "유튜브 동영상 프로그램을 종료합니다. 감사합니다.", "./yt_end.wav")
                        play_file("./yt_end.wav")

                        break

                    if (say_exit in text):
                        break
                    target_url = search_ytmov(text)  #searching youtube movie
                    exec_browser(
                        target_url,
                        text)  #Playing most viewed youtube music video
                    time.sleep(2)
        else:
            print('Not_play_now ...')
Exemplo n.º 2
0
def main():

    KWSID = ['기가지니', '지니야', '친구야', '자기야']
    while 1:
        recog = kws.test(KWSID[0])
        if recog == 200:
            GPIO.output(31, GPIO.HIGH)
            print('KWS Dectected ...\n Start STT...')
            text = gv2t.getVoice2Text()
            print('Recognized Text: ' + text)
            if text.find("노래 틀어줘") >= 0 or text.find(
                    "노래 들려줘") >= 0 or text.find("노래") >= 0:
                split_text = text.split(" ")
                serach_text = split_text[split_text.index("노래") - 1]
                output_file = "search_text.wav"
                tts.getText2VoiceStream("유튜브에서 " + serach_text + "노래를 재생합니다.",
                                        output_file)
                MS.play_file(output_file)

                result_url = youtube_search(serach_text + "노래")
                play_with_url(result_url)

            time.sleep(2)
            GPIO.output(31, GPIO.LOW)

        else:
            print('KWS Not Dectected ...')
Exemplo n.º 3
0
def exec_browser(youtube_url, title):
    already_off = 0
    gt2vs.getText2VoiceStream("가장 조회수가 많은 " + title + "의 동영상을 재생합니다.",
                              "./yt_result.wav")
    play_file("./yt_result.wav")
    driver = webdriver.Chrome("/usr/lib/chromium-browser/chromedriver")
    driver.maximize_window()
    driver.get(youtube_url)
    driver.switch_to.frame(0)
    player_status = driver.execute_script(
        "return document.getElementById('movie_player').getPlayerState()")
    fullscreen_elem = driver.find_element_by_xpath(
        "//div[@class='ytp-right-controls']/button[@class='ytp-fullscreen-button ytp-button']"
    )
    print(player_status)
    time.sleep(3)
    fullscreen_elem.click()
    while player_status != 0:
        player_status = driver.execute_script(
            "return document.getElementById('movie_player').getPlayerState()")
        time.sleep(2)
        text = gv2t.getVoice2Text()
        if (text == '종료'):
            already_off = 1
            driver.quit()
            gt2vs.getText2VoiceStream("유튜브 동영상 재생을 종료합니다. 감사합니다.",
                                      "./yt_end.wav")
            play_file("./yt_end.wav")
            print('Youtube movie End.')
            break

    if (already_off == 0):
        print('Youtube movie End.')
        driver.quit()
Exemplo n.º 4
0
def main():
    KWSID = ['친구야']
    while 1:
        recog = kws.test(KWSID[0])
        if recog == 200:
            print('kws Dectected ..\n Start STT...')
            text = gv2t.getVoice2Text()
            print('Recognized Text: ' + text)
            tts.getText2VoiceStream(checkCommand(text), "result_TTS.wav")
            MS.play_file("result_TTS.wav")
            time.sleep(1)
        else:
            print('KWS Not Dectected _')
Exemplo n.º 5
0
def main():
    #Example7 KWS+STT

    KWSID = ['기가지니', '지니야', '친구야', '자기야']
    while 1:
        recog = kws.test(KWSID[0])
        if recog == 200:
            print('KWS Dectected ...\n Start STT...')
            text = gv2t.getVoice2Text()
            print('Recognized Text: ' + text)
            time.sleep(2)
        else:
            print('KWS Not Dectected ...')
def main():  #Example7 KWS+STT
    KWSID = ['기가지니', '지니야', '친구야', '자기야']
    while 1:
        recog = kws.test(KWSID[0])
        if recog == 200:
            print('KWS Dectected …\n Start STT…')
            text = gv2t.getVoice2Text()
            print('Recognized Text: ' + text)
            tts.getText2VoiceStream(checkCommand(text), "result_TTS.wav")
            MS.play_file("result_TTS.wav")
            time.sleep(2)
        else:
            print('KWS Not Dectected …')
Exemplo n.º 7
0
def main():
    global btn_status
    GPIO.add_event_detect(29, GPIO.FALLING, callback=callback, bouncetime=10)
    while True:
        if (btn_status == True):
            # CHANGE THIS to something you want your machine learning model to classify
            data = STT.getVoice2Text()
            demo = classify(data)

            label = demo["class_name"]
            confidence = demo["confidence"]
            print(label)

            if (label == 'google'):
                MS.play_file("../../Desktop/mp3/google.wav")
                btn_status = False
            if (label == 'weather'):
                MS.play_file("../../Desktop/mp3/weather.wav")
                btn_status = False
            if (label == 'rain'):
                MS.play_file("../../Desktop/mp3/rain.wav")
                btn_status = False
            if (label == 'dust'):
                MS.play_file("../../Desktop/mp3/dust.wav")
                btn_status = False
            if (label == 'date'):
                MS.play_file("../../Desktop/mp3/date.wav")
                btn_status = False
            if (label == 'time'):
                MS.play_file("../../Desktop/mp3/time.wav")
                btn_status = False
            if (label == 'music'):
                MS.play_file("../../Desktop/mp3/music.wav")
                btn_status = False
            if (label == 'pre'):
                MS.play_file("../../Desktop/mp3/pre.wav")
                btn_status = False
            if (label == 'stop'):
                MS.play_file("../../Desktop/mp3/stop.wav")
                btn_status = False
            if (label == 'up'):
                MS.play_file("../../Desktop/mp3/up.wav")
                btn_status = False
            if (label == 'down'):
                MS.play_file("../../Desktop/mp3/down.wav")
                btn_status = False
Exemplo n.º 8
0
def main():
    global wc_dict
    make_dict()
    #find_capital_quiz()

    while 1:
        retry_game = True
        button = False
        recog = kws_test()
        say_exit = '종료'
        say_retry = '재실행'
        say_retry2 = '네'
        say_retry3 = '그래'

        if recog == 200:
            gt2vt.getText2VoiceStream(
                "지금부터 나라수도 맞추기 게임을 시작합니다. 게임 중지를 원하시면 종료라고 말씀해 주세요.",
                "./cc_opening.wav")
            gt2vt.play_file("./cc_opening.wav")
            time.sleep(0.8)
            while 1:
                if retry_game:
                    find_capital_quiz()
                    gt2vt.getText2VoiceStream("나라수도 맞추기 게임을 다시 시작할까요?",
                                              "./stc_thanku.wav")
                    gt2vt.play_file("./stc_thanku.wav")
                    text = gv2t.getVoice2Text()
                    if (say_exit in text):
                        print("게임을 종료합니다.")
                        gt2vt.getText2VoiceStream("감사합니다", "./thanku.wav")
                        gt2vt.play_file("./stc_thanku.wav")
                        break
                    elif (say_retry in text or say_retry2 in text
                          or say_retry3 in text):
                        gt2vt.getText2VoiceStream("나라수도 맞추기 게임을 다시 시작합니다.",
                                                  "./cc_regame.wav")
                        gt2vt.play_file("./cc_regame.wav")
                        retry_game = True
                    else:
                        gt2vt.getText2VoiceStream("감사합니다", "./thanku.wav")
                        gt2vt.play_file("./thanku.wav")
                        break
        else:
            print('Not play now ...')
Exemplo n.º 9
0
def main():
	setup()
	while 1:
		retry_game = True
		button = False
		recog=kws_test()
		say_exit = '종료'.decode('utf-8')
		if recog == 200:
			gt2vt.getText2VoiceStream("안녕하세요 영리한 휴지통입니다","./stc_opening.wav")
			gt2vt.play_file("./stc_opening.wav")
			time.sleep(0.8)
			while 1:
				if retry_game:
					text = gv2t.getVoice2Text()
					control_action(text)
					if(say_exit in text):
						gt2vt.getText2VoiceStream("감사합니다","./stc_thanku.wav")
						gt2vt.play_file("./stc_opening.wav")
						break
		else:
			print('Not play now ...')
Exemplo n.º 10
0
def main():  #Example7 KWS+STT
    KWSID = ['기가지니', '지니야', '친구야', '자기야']
    global but_commu
    but_commu = 0
    gs_call()
    while 1:
        if but_commu == 0:
            time.sleep(5)
            recog1 = kws.test(KWSID[0])
            if recog1 == 200:
                print('KWS Dectected …\n Start STT…')
                text = gv2t.getVoice2Text()
                print('Recognized Text: ' + text)
                tts.getText2VoiceStream(checkCommand(text), "result_TTS.wav")
                MS.play_file("result_TTS.wav")
                time.sleep(2)

            else:
                print('KWS Not Dectected …')

        if but_commu == 1:
            recog2 = kws.btn_test(KWSID[0])
            if recog2 == 200:
                print('KWS Dectected ...\n Start STT...')
                text = dss.queryByVoice()
                tts_result = tts.getText2VoiceStream(text, "result_mesg.wav")
                if text == '':
                    print('질의한 내용이 없습니다.')
                    but_commu = 0
                elif tts_result == 500:
                    print("TTS 동작 에러입니다.\n")
                    but_commu = 0
                    break
                else:
                    MS.play_file("result_mesg.wav")
                    but_commu = 0
                    time.sleep(2)
            else:
                print('KWS Not Dectected ...')
Exemplo n.º 11
0
def find_capital_quiz():
    global wc_dict
    num_country = len(wc_dict)
    comment_exit = '종료'

    for i in range(num_country):
        country, capital = random.choice(list(wc_dict.items()))
        print(country + "는 어디에 수도인가?")
        gt2vt.getText2VoiceStream(country + "는 어디에 수도입니까?", "./question.wav")
        gt2vt.play_file("./question.wav")

        text = gv2t.getVoice2Text()
        print(text + '\n')
        if (comment_exit in text):
            gameover = True
            break
        elif (wc_dict[country] == text):
            print("정답입니다.")
            gt2vt.getText2VoiceStream("정답입니다.", "./right_answer.wav")
            gt2vt.play_file("./right_answer.wav")
            time.sleep(2)
        elif text == "":
            print("아직 답변을 듣지 못하였습니다. 3초의 시간을 더 드립니다.")
            gt2vt.getText2VoiceStream("아직 답변을 듣지 못하였습니다. 3초의 시간을 더 드립니다.",
                                      "./waits_3sec.wav")
            gt2vt.play_file("./waits_3sec.wav")
            gt2vt.getText2VoiceStream("3초", "./cn_sec.wav")
            gt2vt.play_file("./cn_sec.wav")
            time.sleep(0.8)
            gt2vt.getText2VoiceStream("2초", "./cn_sec.wav")
            gt2vt.play_file("./cn_sec.wav")
            time.sleep(0.8)
            gt2vt.getText2VoiceStream("1초", "./cn_sec.wav")
            gt2vt.play_file("./cn_sec.wav")
            time.sleep(0.8)
            gt2vt.getText2VoiceStream("이제 말씀하세요", "./say_answer.wav")
            gt2vt.play_file("./say_answer.wav")

            text2 = gv2t.getVoice2Text()
            if (wc_dict[country] == text2):
                print("정답입니다.")
                gt2vt.getText2VoiceStream("정답입니다.", "./right_answer.wav")
                gt2vt.play_file("./right_answer.wav")
                time.sleep(3)
            else:
                print("오답입니다.")
                gt2vt.getText2VoiceStream(
                    "틀렸습니다. 정답은 " + country + "의 수도는 " + capital + "입니다.",
                    "./wrong_answer.wav")
                gt2vt.play_file("./wrong_answer.wav")
                time.sleep(3)

        else:
            print("오답입니다.")
            gt2vt.getText2VoiceStream(
                "틀렸습니다. 정답은 " + country + "의 수도는 " + capital + "입니다.",
                "./wrong_answer.wav")
            gt2vt.play_file("./wrong_answer.wav")
            time.sleep(3)

        del wc_dict[country]
        gt2vt.getText2VoiceStream("다음 문제를 진행하도록 하겠습니다.", "./next_quiz.wav")
        gt2vt.play_file("./next_quiz.wav")

    if gameover == True:
        make_dict()
        gt2vt.getText2VoiceStream("게임을 종료합니다.", "./game_end.wav")
        gt2vt.play_file("./game_end.wav")
Exemplo n.º 12
0
     "******************************날짜************************************")
 print("5. 오늘 몇일이야? 6. 지금 몇 시야?")
 print(
     "******************************음악************************************")
 print("7. 음악 틀어줘 8. 다음 곡 재생 9. 이전 곡 재생 10. 노래 꺼 ")
 print(
     "******************************볼륨************************************")
 print("11. 볼륨 높여줘 12. 볼륨 줄여줘")
 print(
     "******************************종료************************************")
 print("프로그램 종료를 하실려면 ctrl + c 누르세요")
 a = int(input())
 data = ""
 if a == 1:
     # CALL STT
     data = STT.getVoice2Text()
     with conn.cursor() as cursor:
         sql1 = 'select * from google where name = %s'
         cursor.execute(sql1, (data))
         rows = cursor.fetchall()
         if rows == ():
             #SQL insert into giga
             sql = 'insert into google(name) values (%s)'
             cursor.execute(sql, (data))
             # DATA SAVE
             conn.commit()
             conn.close()
             # Exception handling (data = null)
             if cursor.rowcount == 0:
                 print("데이터를 입력하지 못했어요")
     continue