An intelligent system that automatically generates engaging podcast conversations using LLMs and text-to-speech technology.
Project description
Podcast-LLM: AI-Powered Podcast Generation
An intelligent system that automatically generates engaging podcast conversations using LLMs and text-to-speech technology.
Features
- Two modes of operation:
- Research mode: Automated research and content gathering using Tavily search
- Context mode: Generate podcasts from provided source materials (URLs and files)
- Dynamic podcast outline generation
- Natural conversational script writing with multiple Q&A rounds
- High-quality text-to-speech synthesis using Google Cloud or ElevenLabs
- Checkpoint system to save progress and resume generation
- Configurable voices and audio settings
Examples
Listen to sample podcasts generated using Podcast-LLM:
UFO Crash Retrieval (Elevenlabs voices)
The Behenian Fixed Stars (Google multispeaker voices)
Podcast-LLM Overview (Google multispeaker voices)
Robotic Process Automation (Google voices)
Installation
-
Clone the repository:
git clone https://github.com/yourusername/podcast-llm.git cd podcast-llm
-
Install Poetry (if not already installed):
curl -sSL https://install.python-poetry.org | python3 -
-
Install dependencies:
poetry install
-
Set up environment variables in
.env
:OPENAI_API_KEY=your_openai_key GOOGLE_API_KEY=your_google_key ELEVENLABS_API_KEY=your_elevenlabs_key TAVILY_API_KEY=your_tavily_key ANTHROPIC_API_KEY=your_anthropic_api_key
Usage
-
Generate a podcast about a topic:
# Research mode (default) - automatically researches the topic poetry run podcast-llm "Artificial Intelligence" # Context mode - uses provided sources poetry run podcast-llm "Machine Learning" --mode context --sources paper.pdf https://example.com/article
-
Options:
# Customize number of Q&A rounds per section poetry run podcast-llm "Linux" --qa-rounds 3 # Disable checkpointing poetry run podcast-llm "Space Exploration" --checkpoint false # Generate audio output poetry run podcast-llm "Quantum Computing" --audio-output podcast.mp3 # Generate Markdown output poetry run podcast-llm "Machine Learning" --text-output podcast.md
-
Customize voices and other settings in
config/config.yaml
License
This project is licensed under Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
This means you are free to:
- Share: Copy and redistribute the material in any medium or format
- Adapt: Remix, transform, and build upon the material
Under the following terms:
- Attribution: You must give appropriate credit, provide a link to the license, and indicate if changes were made
- NonCommercial: You may not use the material for commercial purposes
- No additional restrictions: You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits
For commercial use, please contact evandempsey@gmail.com to obtain a commercial license.
The full license text can be found at: https://creativecommons.org/licenses/by-nc/4.0/legalcode
Acknowledgements
This project was inspired by podcastfy, which provides a framework for generating podcasts using LLMs.
This implementation differs by automating the research and content gathering process, allowing for fully autonomous podcast generation about any topic without requiring manual research or content curation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file podcast_llm-0.1.0.tar.gz
.
File metadata
- Download URL: podcast_llm-0.1.0.tar.gz
- Upload date:
- Size: 32.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.7 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e06a98aa36602f8be62bd98743b6acbe56a5553a090e996a00dbecfd5c315c49 |
|
MD5 | 85d213993152d13dbf29e5de655eca1a |
|
BLAKE2b-256 | d62b404088798488ff1d0f5420ca20a399649bc3f808b9142db3036e5d823c2d |
File details
Details for the file podcast_llm-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: podcast_llm-0.1.0-py3-none-any.whl
- Upload date:
- Size: 42.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.7 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d83cc7e8fa4c4228b10662d875c79d0d765b65343bbada42d22f0130cb82c88b |
|
MD5 | 0fd6550ef2c8168b01597c998a9caa0e |
|
BLAKE2b-256 | c4b03b6ac237ad77eef203c41f60f16c694ffde47ff89c181f5572d391ec5ede |