Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import PyPDF2 | |
| from transformers import pipeline | |
| from gtts import gTTS | |
| # Function to read the PDF and extract text | |
| def extract_text_from_pdf(pdf_file): | |
| pdf_reader = PyPDF2.PdfReader(pdf_file) | |
| text = "" | |
| for page_num in range(len(pdf_reader.pages)): | |
| text += pdf_reader.pages[page_num].extract_text() | |
| return text | |
| # Function to generate discussion points | |
| def generate_discussion_points(text): | |
| summarizer = pipeline('summarization') | |
| summary = summarizer(text, max_length=600, min_length=300, do_sample=False) | |
| return summary[0]['summary_text'] | |
| # Function to convert text to speech | |
| def text_to_speech(text): | |
| tts = gTTS(text=text, lang='en') | |
| tts.save("discussion_points.mp3") | |
| # Streamlit app | |
| st.title("PDF Discussion Points Generator") | |
| uploaded_file = st.file_uploader("Upload a PDF file", type=["pdf"]) | |
| if uploaded_file is not None: | |
| text = extract_text_from_pdf(uploaded_file) | |
| discussion_points = generate_discussion_points(text) | |
| st.subheader("Generated Discussion Points") | |
| st.write(discussion_points) | |
| text_to_speech(discussion_points) | |
| audio_file = open("discussion_points.mp3", "rb") | |
| audio_bytes = audio_file.read() | |
| st.audio(audio_bytes, format='audio/mp3') | |