File size: 945 Bytes
c6a6aba
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import subprocess

subprocess.run(["pip", "install", "PyPDF2", "transformers", "bark", "gradio"])

import PyPDF2
from transformers import pipeline
from bark import SAMPLE_RATE, generate_audio, preload_models
import gradio as gr

def summarize_and_convert_to_audio(pdf_path, abstract_page):
    with open(pdf_path, 'rb') as file:
        pdf_reader = PyPDF2.PdfReader(file)
        
        # Get the abstract page text
        abstract_page_text = pdf_reader.pages[abstract_page - 1].extract_text()

    summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
    summary = summarizer(abstract_page_text, max_length=20, min_length=20)

    preload_models()

    text = summary[0]['summary_text']
    audio_array = generate_audio(text)

    return Audio(audio_array, rate=SAMPLE_RATE)

iface = gr.Interface(
    fn=summarize_and_convert_to_audio,
    inputs=["file", "number"],
    outputs="audio",
    live=True
)

iface.launch()