Spaces:
Sleeping
Sleeping
Upload 2 files
Browse files- app.py +25 -0
- 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
|