Spaces:
Running
Running
File size: 1,953 Bytes
fc694c9 eb917b1 64a9db7 f817344 95e8115 eb917b1 815bf2f 9033ce8 fc694c9 8a04506 d51591b eb917b1 8a04506 eb917b1 8a04506 0761894 8a04506 d51591b 2f305be e7ff45b c755122 d51591b e7ff45b 0761894 eb917b1 8a04506 eb917b1 b19be27 eb917b1 8a04506 eb917b1 d51591b |
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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
#https://huggingface.co/spaces/gianb/PDF_Summarized_TTS
# Here are the imports
import gradio as gr
import PyPDF2
from transformers import pipeline, AutoProcessor, AutoModel, AutoTokenizer
from PyPDF2 import PdfReader
import torch
import soundfile as sf
from IPython.display import Audio
from datasets import load_dataset
from pdfminer.high_level import extract_pages, extract_text
from io import BytesIO
#Here is the code
summarization = pipeline('summarization', model='pszemraj/long-t5-tglobal-base-16384-book-summary')
synthesiser = pipeline("text-to-speech", model='facebook/mms-tts-eng')
def abstract_extract(uploaded_file):
pdf_bytes = BytesIO(uploaded_file)
pdf_reader = PyPDF2.PdfReader(pdf_bytes)
abstract = ""
for page_number in range(len(pdf_reader.pages)):
text = pdf_reader.pages[page_number].extract_text()
if "abstract" in text.lower():
start_index = text.lower().find("abstract")
end_index = text.lower().find("introduction")
abstract = text[start_index:end_index]
break
return abstract
def summarize_and_speech(pdf_file):
abstract_text = abstract_extract(pdf_file)
summary = summarization(abstract_text, max_length=15, min_length=10)[0]['summary_text']
tts_output = synthesiser(summary)
audio_data = tts_output["audio"][0]
with BytesIO() as buffer:
sf.write(buffer, audio_data, 16000, format='wav')
audio_bytes = buffer.getvalue()
return summary, audio_bytes
iface = gr.Interface(
fn=summarize_and_speech,
inputs=gr.File(label="Upload PDF", type="binary"),
outputs=[gr.Textbox(label="Abstract Summary:"), gr.Audio(label="Summary Speech")],
live=True,
title="Abstract Research Paper Summarizer",
description="Upload a Research Paper PDF File. The model will generate a one line summary of the Abstract section and a speech audio."
)
iface.launch() |