Skip to content

gabrielchua/open-notebooklm

 
 

Repository files navigation

title emoji colorFrom colorTo sdk sdk_version app_file pinned short_description
Open NotebookLM
🎙️
purple
red
gradio
5.0.1
app.py
false
Personalised Podcasts For All - Available in 13 Languages

Open NotebookLM

Overview

This project is inspired by the NotebookLM tool, and implements it with open-source LLMs and text-to-speech models. This tool processes the content of a PDF, generates a natural dialogue suitable for an audio podcast, and outputs it as an MP3 file.

Built with:

Features

  • Convert PDF to Podcast: Upload a PDF and convert its content into a podcast dialogue.
  • Engaging Dialogue: The generated dialogue is designed to be informative and entertaining.
  • User-friendly Interface: Simple interface using Gradio for easy interaction.

Installation

To set up the project, follow these steps:

  1. Clone the repository:

    git clone https://github.com/gabrielchua/open-notebooklm.git
    cd open-notebooklm
  2. Create a virtual environment and activate it:

    python -m venv .venv
    source .venv/bin/activate
  3. Install the required packages:

    pip install -r requirements.txt

Usage

  1. Set up API Key(s): For this project, I am using LLama 3.1 405B hosted on Fireworks API as its JSON Mode supports passing a pydantic object. So, please set the API key as the FIREWORKS_API_KEY environment variable

  2. Run the application:

    python app.py

    This will launch a Gradio interface in your web browser.

  3. Upload a PDF: Upload the PDF document you want to convert into a podcast.

  4. Generate Audio: Click the button to start the conversion process. The output will be an MP3 file containing the podcast dialogue.

Acknowledgements

This project is forked from knowsuchagency/pdf-to-podcast

License

This project is licensed under the Apache 2.0 License. See the LICENSE file for more information.

Languages

  • Python 100.0%