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()