[python] 파이썬을 활용한 자동 음성 번역 시스템 구현

소개

이번 프로젝트에서는 파이썬을 사용하여 자동 음성 번역 시스템을 구현해 보았습니다. 해당 시스템은 사용자의 음성 입력을 인식하고, 선택된 언어로 번역하여 음성으로 출력하는 기능을 제공합니다. 이를 통해 사용자는 언어 장벽을 넘어 쉽게 소통할 수 있는 환경을 만들 수 있습니다.

사용된 기술

이 프로젝트에서는 다음과 같은 기술이 사용되었습니다:

구현

음성 입력

음성 입력 기능은 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")

결론

이러한 방식으로 음성 입력을 텍스트로 변환하고, 해당 텍스트를 선택된 언어로 번역한 후 음성으로 출력하는 자동 음성 번역 시스템을 구현할 수 있습니다. 이를 활용하면 언어 장벽을 극복하고 다양한 언어를 사용하는 사람들 간의 원활한 커뮤니케이션을 도울 수 있습니다.

참고 문헌