dzianisBY's picture
Update app.py
c4dd85d verified
raw
history blame
1.74 kB
import gradio as gr
from deep_translator import GoogleTranslator
from gtts import gTTS
import os
def translate_and_speak(text: str, target_lang: str = "ru") -> str:
"""Переводит текст на выбранный язык и озвучивает его.
Args:
text: Входной текст.
target_lang: Целевой язык (по умолчанию - русский).
Returns:
Путь к аудиофайлу для воспроизведения.
"""
try:
translated_text = GoogleTranslator(source="auto", target=target_lang).translate(text)
tts = gTTS(translated_text, lang=target_lang)
filename = "translated_speech.mp3"
tts.save(filename)
return filename # Возвращаем путь к файлу
except Exception as e:
return f"Ошибка: {str(e)}"
# Создание интерфейса Gradio
def generate_audio(text, language):
audio_path = translate_and_speak(text, language)
return audio_path
lang_options = {
"Русский": "ru",
"Английский": "en",
"Французский": "fr",
"Немецкий": "de",
"Испанский": "es"
}
gr.Interface(
fn=generate_audio,
inputs=[
gr.Textbox(label="Введите текст"),
gr.Dropdown(choices=list(lang_options.keys()), value="Русский", label="Выберите язык перевода")
],
outputs=gr.Audio(label="Озвученный перевод"),
title="Переводчик с озвучкой",
description="Введите текст, выберите язык, и получите аудиофайл с переводом."
).launch()