Local AI Podcast Studio
Transform articles, papers, and notes into natural-sounding podcast episodes—locally, privately, and without limits.
What is this?
Local AI Podcast Studio converts written content into engaging multi-voice podcast episodes using local text-to-speech models. Drag and drop a URL, PDF, or Markdown file, and get back a finished podcast with realistic dialogue, ad-libbed transitions, and chapter markers—all processed on your machine with zero cloud dependencies or subscription fees.
Features
- Local-first processing – No cloud APIs, no data upload, no usage limits
- Multi-voice conversations – Automatic dialogue generation with distinct speaker personalities
- Content extraction – Direct URL support plus PDF and Markdown file parsing
- Realistic audio – Distilled TTS models deliver natural-sounding speech with contextual pausing
- Smart structuring – Chapter markers, transitions, and pacing optimized for listening
- Privacy by design – All inference runs on your hardware
- One-time purchase – $29 perpetual license, no subscriptions
Quick Start
Installation
Clone the repository and install dependencies:
git clone https://github.com/yourusername/local-ai-podcast-studio.git
cd local-ai-podcast-studio
pip install -e .
Usage
Via CLI:
podcast-studio --input article.pdf --output podcast.mp3
podcast-studio --url https://example.com/article --voice clara,james
Via API:
from podcast_studio import PodcastStudio
studio = PodcastStudio()
podcast = studio.create(
source="https://example.com/article",
voices=["clara", "james"],
output_path="podcast.mp3"
)
Via Desktop App:
- Launch the application
- Drag and drop a URL, PDF, or Markdown file
- Select voices and customize settings
- Click "Generate Podcast"
- Download your MP3
Tech Stack
- Language: Python 3.10+
- TTS Engine: Local distilled models (Needle 26M or similar)
- Content Extraction: BeautifulSoup, PyPDF2, Markdown parser
- API Framework: FastAPI
- Desktop UI: PyQt6 (or Electron for cross-platform)
- Audio Processing: librosa, pydub
- Testing: pytest, unittest
- CI/CD: GitHub Actions
Architecture
podcast_studio/
├── extractor.py # URL/PDF/Markdown parsing
├── scripter.py # Dialogue generation & structuring
├── synthesizer.py # TTS and audio composition
├── api.py # REST API endpoints
├── cli.py # Command-line interface
├── main.py # Desktop application
└── config.py # Configuration management
License
MIT
Release files for local-ai-podcast-studio 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| local_ai_podcast_studio-0.1.0.tar.gz | 13.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| local_ai_podcast_studio-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.6 kB
Release files / local_ai_podcast_studio-0.1.0.tar.gz
| Download URL | local_ai_podcast_studio-0.1.0.tar.gz |
|---|---|
| Size | 13.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
810ef00e7ae1848210e02724d21da23cacb7c0d3a505080050e2a8c93972c25a
|
|
BLAKE2b-256 checksum How to use checksums |
e38ad4816adac1e619a42da52b289659579c4414fe68aae948adcf2da87a3211
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / local_ai_podcast_studio-0.1.0-py3-none-any.whl
| Download URL | local_ai_podcast_studio-0.1.0-py3-none-any.whl |
|---|---|
| Size | 14.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5125a2780501864b5cecc92112828e9239b633069f0f57add869d5503a77cbd6
|
|
BLAKE2b-256 checksum How to use checksums |
0b0f2d6718fc51cec000e1cc305de97deaa0762b5ec393e2232603104b4bd0bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|