본문 바로가기

대학교 과제/[마프] 과제

[마프] 6, 7주차 과제: 얼굴 검출과 자동 음성 번역기 보고서

반응형

[6주차 과제]

1. [1차시] “얼굴 검출” 프로그램을 수행하여 본인의 얼굴을 검출한 화면을 캡쳐하여 제출하시오.

알수없는 카메라의 오류로 인해 본인의 얼굴을 검출하는 소스코드를 대신 올립니다ㅠㅠ

2. [3차시] “실시간 음성 기반 STT” 프로그램 코드를 캡쳐하여 첨부하시오.

실시간 음성 기반 STT 프로그램 코드 입니다.

[7주차 과제]

주제

'자동 음성 번역기'를 라즈베리 파이로 만들어 한국어 인사말을 헝가리어로 번역 해보자.

 

목표

마이크를 통해 한국어로 '안녕하세요'를 하면 헝가리어로 번역이 되어 음성으로 출력이 되어야 한다.

 

사용 물품(부품)

라즈베리파이 4B, 마이크, 스피커

 

실험 과정

소스코드를 실행하여, 음성 번역기 프로그램이 화면이 나오게 합니다.

헝가리어로 번역을 진행하는 버튼인 'hu' 버튼을 누르면 프로그램이 실행되고, '안녕하세요'를 말하면 헝가리어로 번역이 되어 음성으로 출력이 됩니다.

 

실험 코드

import speech_recognition as sr
from googletrans import Translator
import os
import tkinter as tk

def STT(src_lang):
    r = sr.Recognizer()
    
    with sr.Microphone() as source:
        print("Sat something")
        audio = r.listen(source)
        
    try:
        word = r.recognize_google(audio, language=src_lang)
        print(word)
        return word
    except sr.UnknownValueError:
        print("could not understand audio")
    except sr.RequestError as e:
        print("{0}". formet(e))

def TR(word, src_lang, dest_lang):
    trans = Translator()
    
    tr_result = trans.translate(word, src = src_lang, dest =dest_lang)
    return tr_result.text

def espeak(msg):
    os.system("espeak '{}'".format(msg))

def STTRTTS(src_lang, dest_lang):
    word = STT(src_lang)
    tr_word = TR(word, src_lang, dest_lang)
    print(tr_word)
    espeak(tr_word)
    return tr_word

def tr_en():
    tr_word = STTRTTS('ko', 'en')
    label['text'] = tr_word
    
def tr_hu():
    tr_word = STTRTTS('ko', 'hu')
    label['text'] = tr_word
    
def tr_fr():
    tr_word = STTRTTS('ko', 'fr')
    label['text'] = tr_word

window = tk.Tk()

label = tk.Label(window, text = ' ')
label.pack()

button = tk.Button(window, text = 'en', command = tr_en)
button.pack()

button = tk.Button(window, text = 'hu', command = tr_hu)
button.pack()

button = tk.Button(window, text = 'fr', command = tr_fr)
button.pack()


window.mainloop()

 

결과 사진 및 동작 설명

오디오와 마이크가 동시에 안되서 다급한 제 모습이 너무나 웃깁니다.

분석 및 토의

라즈베리 파이는 참 모든게 될 수 있고, 제 모든 것들을 화나게 만듭니다.

많은 패키지를 사용하는 거에 있어서 너무나 즐거웠고 카메라가 싫어지는 실험이였습니다.

"마이크, 스피커 최고..."

반응형