Skip to content

jack-jackhui/myNotebookLm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyNoteBookLm

MyNoteBookLm is an open-source, AI-powered notebook & podcast application inspired by Google’s NotebookLM. This project provides a fully customizable and privacy-focused tool for note-taking, knowledge management, and professional podcast generation.

Features

  • Open Source & Privacy-Focused: Run locally or on your own server. Your data, your rules.
  • Smart Knowledge Management:
    • Multi-Source Input: Upload PDF, Word (Docx), Text, and PowerPoint (PPTX) files.
    • URL & YouTube Integration: Extract content from web articles or YouTube transcripts.
    • Direct Text Input: Paste and process content directly in the UI.
  • Advanced Podcast Generation:
    • Conversational Scripts: Automatically transforms notes into engaging dialogues between two hosts.
    • Customizable Hosts: Configure host names (e.g., "Jack" and "Corr") to personalize the experience.
    • Episode Length Control: Choose from Auto, 5min, 15min, or 30min target durations.
    • Script Editor: Preview, edit, and download transcripts (TXT/Markdown) before audio generation.
    • Parallel TTS Synthesis: High-speed audio generation with configurable concurrency and retry logic.
    • Custom Intro/Outro: Upload your own MP3/WAV files for professional branding.
  • Session History: Save and reload previous sessions, including scripts, audio, and settings.
  • Flexible AI Integrations:
    • LLM Support: Microsoft Azure OpenAI (default), OpenAI, DeepSeek, and local LLMs via Ollama.
    • TTS Support: Azure Text-to-Speech, OpenAI TTS, ElevenLabs, Edge TTS, and Spark TTS.
  • SEO Optimized: Built-in meta tags, Open Graph support, and structured data for web deployments.
  • Robust Architecture: Multi-stage Docker builds, health checks, and comprehensive error handling.

Sample Podcast

Podcast: AI Unchained

Listen to an example podcast created entirely with the MyNoteBookLm app.

Podcast Cover:

Podcast Cover

Podcast Link: Click here to listen

Online Usage 🚀

Try the live version without any setup:

Getting Started

Prerequisites

  • Python 3.9+
  • Docker (optional, for containerized deployment)
  • API Keys for your chosen LLM and TTS providers.

Setup

1. Clone the Repository

git clone https://github.com/jack-jackhui/MyNoteBookLm.git
cd MyNoteBookLm

2. Install Dependencies

pip install -r requirements.txt

3. Configuration

The project uses a unified configuration system via settings.py.

A. Create a .env file:

# LLM
AZURE_OPENAI_API_KEY=your_key
AZURE_OPENAI_ENDPOINT=https://your-endpoint.openai.azure.com/
AZURE_OPENAI_MODEL_NAME=gpt-4o

# TTS
AZURE_TTS_API_KEY=your_key
AZURE_TTS_REGION=eastus

# Podcast Defaults
HOST_1_NAME=Jack
HOST_2_NAME=Corr

B. (Optional) Customize config.yaml: Edit config.yaml to adjust paths, output directories, and advanced extraction settings.

4. Run the Application

Web Interface (Recommended):

streamlit run webui.py

CLI Version:

python main.py --generate-podcast

Docker Deployment

The repository includes a production-ready Dockerfile.

docker build -t mynotebooklm .
docker run -p 8501:8501 --env-file .env mynotebooklm

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Acknowledgements

  • Inspired by Google’s NotebookLM.
  • References code from Podcastfy.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

MyNoteBookLm is an exciting new open-source application that combines the power of artificial intelligence with the functionality of a notebook and podcast generator. With a focus on customization and privacy, it offers users a unique platform for note-taking, knowledge management, and podcast creation.

Topics

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages