import streamlit as st
from gtts import gTTS
from io import BytesIO
st.markdown("""
""",
unsafe_allow_html=True
)
st.markdown("""
""", unsafe_allow_html=True)
st.markdown('
Текст в речь
', 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("Пожалуйста, введите текст.")