File size: 2,131 Bytes
81b1a06
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import streamlit as st
from gtts import gTTS
from io import BytesIO


st.markdown("""
    <style>
    .stApp {
        background-color: #003366;
        color: white; 
    }
 
    .stButton>button {
        color: black; 
        }
        .title-text {
        color: white; 
        }
        .title-text {
        color: white; 
        }
        .text_area{
        color: white; 
        }
        .st.selectbox{
        color: white; 
        }
         .corner-gif {
        position: fixed;
        bottom: 10px;
        right: 10px;
        width: 100px;
        height: auto;
        z-index: 9999;
    }
    </style>
    """,
    unsafe_allow_html=True
)
st.markdown("""
    <img class="corner-gif" src="https://i.gifer.com/PYn.gif">
""", unsafe_allow_html=True)
 
st.markdown('<h1 class="title-text">Текст в речь</h1>', unsafe_allow_html=True)



# Функция для преобразования текста в речь на выбранном языке
def say_text(text, lang='ru'):
    tts = gTTS(text=text, lang=lang, slow=False)
    fp = BytesIO()
    tts.write_to_fp(fp)
    fp.seek(0)
    return fp.getvalue()


text = st.text_area("Введите текст")  

# Выбор языка 
language = st.selectbox('Выберите язык', ('Русский', 'Английский','Японский','Немецкий', 'Французский'))

# Сопоставление выбранного языка с кодом языка для gTTS
languages_map = {'Русский': 'ru', 'Английский': 'en','Японский':'ja','Немецкий':'de', 'Французский': 'fr'}
selected_language = languages_map[language]

# Кнопка для запуска процесса преобразования текста в речь
if st.button('Произнести'):
    if text:
        speech_audio = say_text(text, lang=selected_language)  # Преобразуем текст в аудио на выбранном языке
        st.audio(speech_audio, format='audio/mp3', start_time=0)
    else:
        st.error("Пожалуйста, введите текст.")