TextToSpeech / app.py
EliSafina's picture
Upload 2 files
bb70dbf verified
raw
history blame
1.95 kB
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")