General Introduction
Open NotebookLM is an open source project designed to convert any PDF document into a podcast. The tool utilizes open source Large Language Model (LLM) and Text-to-Speech (TTS) models to process PDF content, generate natural dialog suitable for audio podcasts, and output to MP3 files. Inspired by the NotebookLM tool, the project uses technologies such as Llama 3.3 70B, Fireworks AI, MeloTTS, Bark and Jina Reader. Users can upload PDF documents through a simple interface to generate informative and interesting podcast conversations.
Function List
- PDF to Podcast: Upload a PDF document to convert its contents into a podcast conversation.
- Natural dialog generation: Generate informative conversations designed to be both educational and entertaining.
- user-friendly interface: Use Gradio to provide a simple interactive interface.
- Multi-language support: Podcast generation in 13 languages is supported.
Using Help
Installation process
- Cloning Warehouse:
git clone https://github.com/gabrielchua/open-notebooklm.git
cd open-notebooklm
- Create a virtual environment and activate it:
python -m venv .venv
source .venv/bin/activate
- Install the required packages:
pip install -r requirements.txt
Usage Process
- Set the API key:
- Setting the Fireworks API key as an environment variable
FIREWORKS_API_KEY
The
- Setting the Fireworks API key as an environment variable
- Run the application:
python app.py
This will launch the Gradio interface.
- Upload PDF:
- Upload the PDF document you wish to convert to a podcast in the interface.
- Generate audio:
- Click the button to start the conversion process and the output will be an MP3 file containing the podcast dialog.
Detailed function operation flow
- PDF Upload: Select and upload PDF files in the Gradio interface.
- Dialog generation: The system will automatically process PDF content to generate natural dialog.
- audio output: Click the Generate button and the system will output the podcast file in MP3 format.
- Multi-language support: Select the desired language in the settings and the system will generate the podcast in the appropriate language according to the selection.