파이썬 강좌(초급)/(실습)실시간 번역기 만들기

(실습)파이썬 실시간 자동 번역기 만들기 - 1.구글 STT(Speech-To-Text)로 음성->텍스트로 변환하기

파기차차 2024. 4. 2. 08:14
728x90
반응형
SMALL

ㅁ 개요

 

O 프로그램 소개

 

 

 - 이번 글은 이전글((실습)파이썬 실시간 자동 번역기 만들기 - 0. 소개)에 이은 2번째 글로 구글의 음성인식 모듈 설치하여 음성을 텍스트로 변환하는 방법에 대하여 살펴보겠습니다.

 

 

 

 

O 완성된 프로그램 실행 화면

 

 

 - 최종 완성된 프로그램의 결과화면은 아래와 같습니다.

 

 

1.소스코드를 실행하면 아래와 같이 동작합니다.

1)음성으로 '안녕하세요'라고 말하였습니다.

2)그럼 음성->텍스트로 변환 후 '안녕하세요'라는 글자를 보여줍니다.

 

 

 

샘플 동영상 보기

 

 

 

 

 


 

ㅁ 세부 내용

 

O 완성된 소스

 

 

소스 : 1.get_audio.py

 

 

 

O 소스 실행

 
 - 소스파일 다운로드 후 cmd, 파워쉘 또는 vscode 등에서 아래와 같이 실행하시기 바랍니다.
 
 > python 1.get_audio.py

 

 


 

O 주요 내용

 

아래 소스에 대해 간략히 설명하면 다음과 같습니다.

(대부분의 자세한 설명은 주석을 참고 부탁드립니다.)

 

line 1 : 구글 음성인식 모듈을 임포트 합니다.

(모듈 관련 에러 발생 시 pip install SpeechRecognition 과 pip install pyaudio로 관련 모듈을 설치해 줍니다.)

 

get_audio() 함수 호출 후 음성인식 객체(r객체)를 만들고, 음성은 마이크로 입력받도록(sr.Microphone()) 하고 있습니다.

"say something"문구 이후에 한국어 음성으로 말하면 r객체의 listen()함수가 말을 입력받고 audio변수에 할당합니다. 다시 r객체의 recognize_google()함수가 입력받은 말이 한국어가 맞는지 체크 후 said 변수에 저장한 다음 print()로 출력합니다.

*라인별 자세한 설명은 주석을 참고해 주시기 바랍니다.

 

 

 

 

 


 

ㅁ 정리

 

O 우리가 배운 내용

 
 - 오늘 우리는 구글의 음성인식 모듈 설치하여 음성을 텍스트로 변환하는 방법에 대하여 살펴보았습니다.

 

 - 오늘 우리가 배운 내용 중 가장 중요한 부분을 꼽으라면 아래와 같습니다.

r= sr.Recogniger() 객체 생성 후 마이크로 음성을 입력 받을 수 있도록 sr.Microphone()를 사용해 주었습니다.

그리고 r.recognize_google(audio, language="ko-KR")으로 음성이 한국어인지를 체크해 주었습니다.

def get_audio():
    r = sr.Recognizer() # 구글 음성인식 모듈 클래스로 인스턴스(객체) 생성
    with sr.Microphone() as source: # 구글 음성인식 모듈 중 음성입력을 마크로 받겠다
        print("say something")
        audio = r.listen(source) # 구글의 음성인식모듈이 리슨하고 있다가 음성 입력을 받아서 변수에 저장
        said = " "

        try:
            said = r.recognize_google(audio, language="ko-KR") # 음성이 한국어임을 인식하고 said변수에 저장
            print("Your speech thinks like: ", said) # 음성이 무엇인지 출력
        except Exception as e:
            print("Exception: " + str(e))
   
    return said

 

 

- 다음 시간에는 음성->텍스트로 변환된 한글을 구글 번역 모듈을 사용하여 영어로 바꾸는 방법에 대하여 설명합니다.

 
 
 

 

728x90
반응형
LIST