EliSafina commited on
Commit
bb70dbf
1 Parent(s): 9289668

Upload 2 files

Browse files
Files changed (2) hide show
  1. app.py +25 -0
  2. requirements.txt +3 -0
app.py ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st # Импортируем библиотеку Streamlit для создания веб-приложения
2
+ from gtts import gTTS # Импортируем Google Text-to-Speech для преобразования текста в речь
3
+ from io import BytesIO # Импортируем BytesIO для работы с аудио-данными в памяти
4
+
5
+ # Функция для преобразования текста в речь на русском языке
6
+ def say_text(text, lang='ru'):
7
+ tts = gTTS(text=text, lang=lang, slow=False) # Создаём объект gTTS с текстом и языком
8
+ fp = BytesIO() # Используем BytesIO как буфер для аудиофайла
9
+ tts.write_to_fp(fp) # Записываем аудио в буфер
10
+ fp.seek(0) # Перемещаем указатель в начало файла
11
+ return fp.getvalue() # Возвращаем аудиоданные в виде байтов
12
+
13
+ st.title('Текст в речь на русском языке') # Заголовок веб-приложения
14
+
15
+ text = st.text_area("Введите текст") # Поле для ввода текста пользователем
16
+
17
+ # Кнопка для запуска процесса преобразования текста в речь
18
+ if st.button('Произнести'):
19
+ if text: # Проверяем, что текст был введён
20
+ speech_audio = say_text(text) # Преобразуем текст в аудио
21
+ st.audio(speech_audio, format='audio/mp3', start_time=0) # Воспроизводим аудио в веб-приложении
22
+ st.snow()
23
+ else: # Если текст не был введён, выводим сообщение
24
+ st.write("Пожалуйста, введите текст.") # Просим пользователя ввести текст
25
+ st.error("Oups")
requirements.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ st
2
+ gTTS
3
+ BytesIO