[python] 파이썬을 활용한 자동 음성 번역 시스템 구현
소개
이번 프로젝트에서는 파이썬을 사용하여 자동 음성 번역 시스템을 구현해 보았습니다. 해당 시스템은 사용자의 음성 입력을 인식하고, 선택된 언어로 번역하여 음성으로 출력하는 기능을 제공합니다. 이를 통해 사용자는 언어 장벽을 넘어 쉽게 소통할 수 있는 환경을 만들 수 있습니다.
사용된 기술
이 프로젝트에서는 다음과 같은 기술이 사용되었습니다:
- 파이썬 프로그래밍 언어
- 음성 인식을 위한
SpeechRecognition
라이브러리 - 언어 번역을 위한
googletrans
라이브러리 - 음성 출력을 위한
gTTS
라이브러리
구현
음성 입력
음성 입력 기능은 SpeechRecognition
라이브러리를 사용하여 구현되었습니다. 사용자의 음성을 인식하고 텍스트로 변환하여 다음 단계로 전달하는 역할을 합니다.
import speech_recognition as sr
def recognize_speech():
recognizer = sr.Recognizer()
with sr.Microphone() as source:
print("말씀해주세요...")
audio = recognizer.listen(source)
try:
text = recognizer.recognize_google(audio, language='ko-KR')
return text
except sr.UnknownValueError:
print("죄송합니다, 음성을 인식할 수 없습니다.")
return ""
except sr.RequestError:
print("죄송합니다, 서비스에 접근할 수 없습니다.")
return ""
번역
언어 번역 기능은 googletrans
라이브러리를 활용하여 구현되었습니다. 사용자의 입력된 텍스트를 선택된 언어로 번역합니다.
from googletrans import Translator
def translate_text(text, target_language):
translator = Translator()
translation = translator.translate(text, dest=target_language)
return translation.text
음성 출력
번역된 텍스트를 음성으로 출력하는 기능은 gTTS
라이브러리를 활용하여 구현되었습니다.
from gtts import gTTS
import os
def speak_text(text, lang):
tts = gTTS(text, lang=lang)
tts.save("output.mp3")
os.system("mpg123 output.mp3")
결론
이러한 방식으로 음성 입력을 텍스트로 변환하고, 해당 텍스트를 선택된 언어로 번역한 후 음성으로 출력하는 자동 음성 번역 시스템을 구현할 수 있습니다. 이를 활용하면 언어 장벽을 극복하고 다양한 언어를 사용하는 사람들 간의 원활한 커뮤니케이션을 도울 수 있습니다.
참고 문헌
- SpeechRecognition 라이브러리: https://github.com/Uberi/speech_recognition
- googletrans 라이브러리: https://pypi.org/project/googletrans/
- gTTS 라이브러리: https://pypi.org/project/gTTS/