퀵포스팅/제미나이2.0 ai api로 할 수 있는 것들

제미나이 2.0 ai api로 할 수 있는 것들 - 5.실시간 번역

파기차차 2024. 12. 22. 16:47
728x90
반응형
SMALL

 

 

1. 아래와 같이 코딩 후 실행합니다.

>아래 주석(while문)을 풀고 실행시 마이크에 대고 한국어로 얘기할 수 있습니다.

 

import google.generativeai as genai
import speech_recognition as sr
from gtts import gTTS
import os
from config import *

genai.configure(api_key=API_KEY)
# model = genai.GenerativeModel("gemini-1.5-flash")
model = genai.GenerativeModel("gemini-2.0-flash-exp")


def translate_text(text, target_language):
    response = model.generate_content(f"Translate the following text to {target_language}: {text}")
    return response.text

def speech_to_text():
    recognizer = sr.Recognizer()
    with sr.Microphone() as source:
        print("말씀해주세요...")
        audio = recognizer.listen(source)
    try:
        text = recognizer.recognize_google(audio)
        return text
    except sr.UnknownValueError:
        print("음성을 인식할 수 없습니다.")
        return None

def text_to_speech(text, language):
    tts = gTTS(text=text, lang=language)
    tts.save("output.mp3")
    os.system("output.mp3")  # 또는 다른 오디오 플레이어 사용

# 메인 실행 부분
if __name__ == "__main__":
    source_language = "kr"  # 한국어
    target_language = "en"  # 영어


    input_text = '나는 당신을 사랑합니다.'
    if input_text:
        print(f"인식된 텍스트: {input_text}")
        translated_text = translate_text(input_text, target_language)
        print(f"번역된 텍스트: {translated_text}")
        text_to_speech(translated_text, target_language)

    # while True:
    #     input_text = speech_to_text()
    #     # input_text = '나는 당신을 사랑합니다.'
    #     if input_text:
    #         print(f"인식된 텍스트: {input_text}")
    #         translated_text = translate_text(input_text, target_language)
    #         print(f"번역된 텍스트: {translated_text}")
    #         text_to_speech(translated_text, target_language)

 

 

 

 

 

2.아래와 같이 응답결과를 얻을 수  있습니다.

>실시간 음성 번역 시 speech_recognition 이 모듈이 정상적으로 작동하지 않을 수 있습니다. 이런 경우 다른 모듈을 사용해야 합니다.

 

728x90
반응형
LIST