File size: 1,566 Bytes
fc694c9
 
 
 
eb917b1
64a9db7
4291007
f817344
95e8115
eb917b1
 
 
 
 
9033ce8
 
fc694c9
 
eb917b1
d51591b
eb917b1
 
0761894
d51591b
 
 
 
 
 
 
 
 
 
 
 
0761894
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
#https://huggingface.co/spaces/gianb/PDF_Summarized_TTS

# Here are the imports

import gradio as gr
import PyPDF2
import pdfplumber
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
import io

#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 summarize_and_speech(pdf_file):

    pdf_bytes_io = io.BytesIO(pdf_file)
    pdf_reader = PyPDF2.PdfReader(pdf_bytes_io)
    abstract_text = pdf_reader.pages[0].extract_text()
    summary = summarization(abstract_text, max_length=13, min_length=10)[0]['summary_text']
    print(summary)

    # Use a text-to-speech model to generate audio
    synthesiser = pipeline("text-to-speech", model='facebook/mms-tts-eng')
    tts_output = synthesiser(summary)
    audio_data = tts_output[0]["audio"]

    return summary, audio_data


iface = gr.Interface(
    fn= summarize_and_speech,
    inputs=gr.File(label="Upload PDF", type="binary"),
    outputs=[gr.Textbox(label="Abstract Summary:"), gr.Audio(type="filepath", 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()