mat-nolen /
tldr-radio
Self-hosted app that reads the daily TLDR newsletters aloud as podcast episodes
- 110 stars
- 6 stars since 3 Oct
- Python
- Updated 2 months ago
- Beginner friendly
- Image, video & audio
TLDR publishes 14 newsletters, and reading them all takes time. TLDR Radio turns each one into an audio episode you can play while cooking or driving. You pick a date, press Broadcast, and a few minutes later the episodes are in your browser, one per newsletter, with each story as its own chapter.
It runs as two Docker containers: a FastAPI app with a plain JavaScript frontend, and Kokoro-82M speech synthesis on the CPU. The pipeline is fixed from start to finish. It fetches the archive page, parses it by page structure, fills in a script from templates and a pronunciation dictionary, and sends that script to the speech model. No language model summarizes or rewrites anything.
The README contrasts it with listen-to-your-newsletter tools that need an account, a subscription and access to your inbox. This one needs only Docker and about 8 GB of disk. It is meant for personal use, and the README asks you not to publish the audio.
What it does
Chapterized episodes
Each newsletter becomes one episode and each story a chapter, with its section heading, the source summary and a link to the original. You can download an episode as a single tagged mp3.
Sponsor reads as skippable chapters
Sponsor segments are read in a different voice as their own chapters, introduced with a spoken notice. They are on by default and can be turned off in Settings.
Overnight builds
Set a time and timezone and the chosen newsletters are built automatically. It retries about every 25 minutes if an issue isn't posted yet, and can send an ntfy notification when done.
Station picker and voices
All 14 TLDR newsletters can be put on the Desk for manual runs and/or in the overnight build. 68 voices are available, and you can audition them in Settings.
Player with resume
The player has ±15 s skip, speed up to 2.5×, auto-advance, resume where you left off and keyboard shortcuts. It has light and dark themes.
What you could build
- Listen to the TLDR AI or infosec newsletter on your commute.
- Schedule overnight builds so fresh episodes are ready each morning.
- Download a tagged mp3 of an episode and load it into a podcast or audiobook app for personal use.
- Run a text-to-speech pipeline on a home server or homelab without any cloud service.
- Study a small FastAPI and Docker project that talks to a local Kokoro TTS service.
Get started
Clone the repo (replace <you> with the repo owner's account, mat-nolen) and run make up, or docker compose up -d --build. The first run downloads about 5 GB and needs a minute or two to warm up. Then open http://localhost:7777, pick a date and press Broadcast.
git clone https://github.com/<you>/tldr-radio.gitcd tldr-radiomake upCommands are copied from the project's README. Read it on GitHub for the full setup.
More in Image, video & audio
VoiceStudio
Desktop app for cloning voices, dubbing video and dictating, run on your own machine
voicebox
Local voice studio for cloning voices, generating speech and dictating into any app
upscayl
Desktop app that enlarges low-resolution images using AI, on Linux, macOS and Windows