import streamlit as st # Импортируем библиотеку Streamlit для создания веб-приложения from gtts import gTTS # Импортируем Google Text-to-Speech для преобразования текста в речь from io import BytesIO # Импортируем BytesIO для работы с аудио-данными в памяти # Функция для преобразования текста в речь на русском языке def say_text(text, lang='ru'): tts = gTTS(text=text, lang=lang, slow=False) # Создаём объект gTTS с текстом и языком fp = BytesIO() # Используем BytesIO как буфер для аудиофайла tts.write_to_fp(fp) # Записываем аудио в буфер fp.seek(0) # Перемещаем указатель в начало файла return fp.getvalue() # Возвращаем аудиоданные в виде байтов st.title('Текст в речь на русском языке') # Заголовок веб-приложения text = st.text_area("Введите текст") # Поле для ввода текста пользователем # Кнопка для запуска процесса преобразования текста в речь if st.button('Произнести'): if text: # Проверяем, что текст был введён speech_audio = say_text(text) # Преобразуем текст в аудио st.audio(speech_audio, format='audio/mp3', start_time=0) # Воспроизводим аудио в веб-приложении st.snow() else: # Если текст не был введён, выводим сообщение st.write("Пожалуйста, введите текст.") # Просим пользователя ввести текст st.error("Oups")