Local-NotebookLM: An Open-Source Local Version of NotebookLM That Turns PDFs into Podcasts
What is Local-NotebookLM?
Local-NotebookLM is a localized AItool that can convert PDF documents into podcasts. It supports local language models (LLM) and text-to-speech (TTS) models, allowing users to generate podcasts in different styles and lengths based on their needs.

Local-NotebookLM Features
Intelligent Document Processing
Automatic Text Extraction: Extracts text from PDFs, automatically cleaning up formatting errors and redundant content.
Academic Paper Support: Supports processing academic papers that contain mathematical formulas.
Intelligent Chunk Processing: Supports large file processing, with a maximum of 100,000 characters, automatically chunked to optimize processing efficiency.
Multi-Mode Content Generation
Rich Output Formats: Supports 15 output formats, including podcasts, interviews, debates, lectures, and more.
Diverse Content Styles: Offers 8 content styles, covering professional, academic, casual, humorous, and more.
Flexible Content Length: Supports 4 content lengths, ranging from short (10 minutes) to long (100+ minutes).
Flexible Model Support
Multi-LLM Service Compatibility: Supports 6 LLM services, including OpenAI, Groq, and local models.
Configurable TTS Voice Roles: Supports host and guest dual-role dialogue, with customizable voice roles.
Local-First Design: Prioritizes the use of local resources to protect privacy while reducing usage costs.
All-Channel Usage
One-Click CLI Generation: Quickly generate content with simple commands.
Python API Integration: Supports Python API integration for developer convenience.
Web-Based Service: FastAPI-based web service for easy online operation.
Installation and Configuration
Installation Requirements: Requires Docker Desktop and Kokoro-FastAPI to be installed.
Installation Steps: Clone the project via Git, create and activate a virtual environment, then install the required Python packages.
Configuration File: A config.yaml file needs to be created for configuring the output directory, LLM provider, model name, voice cloning parameters, etc.
How to Use Local-NotebookLM
Environment Preparation: Depending on the LLM provider used, start the corresponding service or ensure the API key is available.
Run the Script: Convert a PDF file into a podcast by running the command python main.py input.pdf [options].
Optional Parameters: Users can specify the podcast's style, length, chunk size for text processing, and more.
Local-NotebookLM Processing Workflow
PDF Processing: Extract PDF text, clean it, and split it into processable chunks.
Script Generation: Generate a podcast script based on the specified style and length.
TTS Optimization: Optimize the script to improve the naturalness of speech synthesis.
Audio Generation: Convert text to speech and generate the final audio file.
FAQ
1. How does Local-NotebookLM generate podcasts?
Upload the PDF file to the tool.
Use the command line to run the script, specifying the podcast's style and length.
The tool will automatically process the text and generate the audio file
2. What is the difference between Local-NotebookLM and NotebookLM?
Local-NotebookLM is a localized tool that runs on a local machine, supporting local LLM and TTS models.
NotebookLM is a cloud-based tool primarily used for note management and document analysis, supporting AI-driven summaries, collaboration, and audio generation.
GitHub Repository:https://github.com/Goekdeniz-Guelmez/Local-NotebookLM
Script Planner Assistant▸
AI Apps
AI News 