File size: 1,252 Bytes
2ce9600
60ab783
263d442
d04894f
2ce9600
 
263d442
2ce9600
 
263d442
2ce9600
569b020
 
 
 
47a10c9
 
 
 
 
569b020
47a10c9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
569b020
2ce9600
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
import streamlit as st
from gtts import gTTS
import os

# Streamlit app UI
st.title("Text-to-Audio App")
st.text("This app converts your text input into audio using TTS.")

# User input
text_input = st.text_area("Enter some text:")

if st.button("Generate Audio"):
    if not text_input.strip():
        st.error("Please enter some text!")
    else:
        try:
            # Generate speech using gTTS
            tts = gTTS(text=text_input, lang="en")
            audio_file = "output.wav"
            tts.save(audio_file)

            # Check if file exists
            if os.path.exists(audio_file):
                # Play audio in app
                st.audio(audio_file, format="audio/wav")
                st.success("Audio generated successfully!")

                # Provide download option
                with open(audio_file, "rb") as f:
                    st.download_button(
                        label="Download Audio",
                        data=f.read(),
                        file_name="output.wav",
                        mime="audio/wav",
                    )
            else:
                st.error("Audio file could not be generated.")
        except Exception as e:
            st.error(f"An error occurred: {e}")