import streamlit as st from gtts import gTTS from io import BytesIO import base64 # Function to convert text to speech def text_to_speech(text): tts = gTTS(text) audio_buffer = BytesIO() tts.write_to_fp(audio_buffer) audio_buffer.seek(0) return audio_buffer # Function to set download link for audio file def get_audio_download_link(buffer, filename="audio.mp3"): buffer.seek(0) b64_data = base64.b64encode(buffer.read()).decode() href = f'Download audio file' return href # Create Streamlit application st.title('Text to Speech Converter') # Input for text from user user_input_text = st.text_area("Enter the text you want to convert to speech:") if st.button('Convert'): if user_input_text: # Call function to convert text to speech audio_buffer = text_to_speech(user_input_text) # Display audio player and download link st.audio(audio_buffer, format="audio/mp3", start_time=0) st.markdown(get_audio_download_link(audio_buffer), unsafe_allow_html=True) else: st.warning('Please input some text to convert.')