Spaces:
Running
on
T4
Running
on
T4
title: Open NotebookLM | |
emoji: ποΈ | |
colorFrom: purple | |
colorTo: red | |
sdk: gradio | |
sdk_version: 5.0.1 | |
app_file: app.py | |
pinned: true | |
header: mini | |
short_description: 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: | |
- [Llama 3.1 405B π¦](https://huggingface.co/meta-llama/Llama-3.1-405B) via [Fireworks AI π](https://fireworks.ai/) and [Instructor π](https://github.com/instructor-ai/instructor) | |
- [MeloTTS π](https://huggingface.co/myshell-ai/MeloTTS-English) | |
- [Bark πΆ](https://huggingface.co/suno/bark) | |
- [Jina Reader π](https://jina.ai/reader/) | |
## 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:** | |
```bash | |
git clone https://github.com/gabrielchua/open-notebooklm.git | |
cd open-notebooklm | |
``` | |
2. **Create a virtual environment and activate it:** | |
```bash | |
python -m venv .venv | |
source .venv/bin/activate | |
``` | |
3. **Install the required packages:** | |
```bash | |
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:** | |
```bash | |
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`](https://github.com/knowsuchagency/pdf-to-podcast) | |
## License | |
This project is licensed under the Apache 2.0 License. See the [LICENSE](LICENSE) file for more information. | |