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("Пожалуйста, введите текст.")