import gradio as gr from gtts import gTTS import PyPDF2 from tqdm import tqdm def pdf_to_audio(pdf_file,x,y): whole = '' pdfreader = PyPDF2.PdfReader(pdf_file) pages = pdfreader.pages for num in tqdm(range(int(x), int(y))): Page = pdfreader.pages[num] text = Page.extract_text() whole += text myobj = gTTS(text=whole, lang='en',tld='co.in', slow=False) myobj.save("test.wav") return 'test.wav',whole gr.Interface(fn=pdf_to_audio,inputs = [gr.inputs.File(label="Book PDF"),gr.inputs.Slider(label="Start Page"),gr.inputs.Slider(label="End Page")], outputs = ['audio', gr.Textbox(label="Text")], title="Book Reader", description = ' Upload your book, select the start page and end page using slider according to the number of pages you want to read, Attention keep end page greater than start page always' ).launch()