Skip to content

Drop in a paper. Get summaries, highlights, margin notes, searchable embeddings, and a full audio walkthrough. Fully offline, fully yours.

License

Notifications You must be signed in to change notification settings

JrGkOG/HearYourPaper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

HearYourPaper

Drop in a paper. Get summaries, highlights, margin notes, searchable embeddings, and a full audio walkthrough. Fully offline, fully yours.

Features

  • Process PDFs from local path or URL.
  • High-level summary of the entire paper using Gemini.
  • Paragraph-by-paragraph walkthrough:
    • Narration of each paragraph.
    • Explanation of each paragraph (using Gemini with Ollama fallback).
  • Visual Highlighting: The current paragraph is highlighted on the page.
  • Full Video Output: Generates a single MP4 video combining audio and visuals.
  • Offline-first: Core functionality works offline. Gemini API is used when available for higher quality explanations.

Project Structure

hearyourpaper/
β”œβ”€β”€ main.py
β”œβ”€β”€ cli/
β”‚   └── process.py
β”œβ”€β”€ core/
β”‚   β”œβ”€β”€ config.py
β”‚   β”œβ”€β”€ fetch_pdf.py
β”‚   β”œβ”€β”€ pdf_parser.py
β”‚   β”œβ”€β”€ explainer.py
β”‚   β”œβ”€β”€ llm_gemini.py
β”‚   β”œβ”€β”€ llm_ollama.py
β”‚   β”œβ”€β”€ tts.py
β”‚   β”œβ”€β”€ highlight.py
β”‚   β”œβ”€β”€ video_builder.py
β”‚   β”œβ”€β”€ pipeline.py
β”‚   └── utils.py
β”œβ”€β”€ storage/
β”‚   β”œβ”€β”€ raw/
β”‚   β”œβ”€β”€ parsed/
β”‚   β”œβ”€β”€ text/
β”‚   β”œβ”€β”€ audio/
β”‚   β”œβ”€β”€ frames/
β”‚   └── video/
β”œβ”€β”€ config.yaml
β”œβ”€β”€ LICENSE
└── README.md

Usage

python3 main.py <PATH_TO_PDF_OR_URL>
# example:
python3 main.py https://arxiv.org/pdf/2401.10166

About

Drop in a paper. Get summaries, highlights, margin notes, searchable embeddings, and a full audio walkthrough. Fully offline, fully yours.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages