Spaces:
Sleeping
Sleeping
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") | |