Spaces:
Sleeping
Sleeping
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'<a href="data:audio/mp3;base64,{b64_data}" download="{filename}">Download audio file</a>' | |
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.') | |