Solshine's picture
Update app.py
0b298e3 verified
raw history blame
No virus
1.34 kB
import streamlit as st
from gtts import gTTS
from io import BytesIO
from PyPDF2 import PdfReader
st.image('OIG3 (4).jpeg', caption='Your host on this PDF-to-Speech adventure!')
x = st.slider('Select the number of pages you wish to transcribe')
uploaded_file = st.file_uploader("Choose a file", "pdf")
if uploaded_file is not None:
# creating a pdf reader object
reader = PdfReader(uploaded_file)
# printing number of pages in pdf file
X = len(reader.pages)
print(X)
i = 0
while i <= X and i <= x:
# getting a specific page from the pdf file
page = reader.pages[i]
# extracting text from page
text = page.extract_text()
print("Created text of page", i )
sound_file = BytesIO()
tts = gTTS(text, lang='en')
tts.write_to_fp(sound_file)
st.audio(sound_file)
print("Read aloud", i, "pages of", X, "total pages.")
i = i + 1
st.write("πŸŽ‰ That's the whole PDF! Have an awesome day! πŸŽ‰")
prompt = st.chat_input("Copy/Paste or type in text to have read aloud")
if prompt:
st.write(prompt)
with st.popover("✨ Open your text-to-speech from text input ✨"):
sound_file = BytesIO()
tts = gTTS(prompt, lang='en')
tts.write_to_fp(sound_file)
st.audio(sound_file)