OpenAltFinder
Audicle

Audicle

Self-hosted service that turns saved articles and documents into a private podcast feed with cloned-voice narration.

Open source alternative to:

feed-desktop.png
home-desktop.png
settings-desktop.png
1 / 3

Audicle is a self-hosted Podcasting 2.0 service that turns saved articles and documents into a personal podcast feed. Paste a URL or upload a file (PDF including scanned pages, DOCX, Markdown, text, HTML, or an image) and a worker runs extraction, cleaning, narration, chapter detection, and transcription. A few minutes later the result appears as an episode in your own RSS feed with cloned-voice narration, chapters, per-episode artwork, an LLM-written summary, and a WebVTT transcript. Any podcatcher, including Pocket Casts, Overcast, or Apple Podcasts, can subscribe to it like a normal show.

Narration uses Chatterbox, an MIT-licensed text-to-speech model, conditioned on a short reference clip you supply. There are five voice slots and a per-episode picker for random, last used, or a specific slot. The bundled TTS wrapper is GPU-pinned by default, but a CPU image ships with every release from 0.56.0 on, so a machine without CUDA can still run it at roughly 5 to 10 times slower. If you already run Chatterbox or another OpenAI-compatible speech server, you can point Audicle at it instead. Generated audio is verified by transcribing each chunk with Whisper and comparing it to the requested text, and chunks that diverge are regenerated.

The stack is a FastAPI backend with SQLite, the job worker, the RSS feed, and a React operator UI served as an installable PWA. Extraction uses trafilatura by default, with an optional Firecrawl engine and a headful-browser sidecar for JavaScript-rendered and paywalled pages. Feeds can be locked behind a 64-hex key that also covers audio, artwork, transcripts, and chapters, and a daily sweep can delete episodes past a retention window.

Compared with Speechify or a hosted reader, Audicle does not meter characters or keep the audio inside a proprietary app: the output is a standards-compliant podcast feed plus MP3 files on your own disk, narrated in a voice you supply. It is narrower in scope than a full voice platform, with no mobile app, audiobook store, dubbing, or voice marketplace, but it is free, private, and runs entirely on your hardware.

Frequently Asked Questions

What sources can Audicle turn into episodes?

You can paste an article URL or upload a PDF (including scanned pages), DOCX, Markdown, plain text, HTML, or an image. The home page accepts up to 20 files at once and the upload API takes one file per request. Extraction falls back through several strategies when a page is JavaScript-rendered or serves a teaser, and an optional render sidecar handles expand-gated articles.

Can I run Audicle without a GPU?

Yes. Use the CPU build of the TTS image, published as ttlequals0/audicle-tts:-cpu for every release from 0.56.0 onward, remove the GPU reservation from the tts-wrapper service, and set TTS_DEVICE=cpu. Synthesis is roughly 5 to 10 times slower than on CUDA, and the first run still downloads about 2 GB of model weights into the data volume.

How does voice cloning work in Audicle?

You upload a reference clip to one of five voice slots under Settings, then pick a voice per episode. Clips must be 3 to 60 seconds and under 5 MB; WAV, MP3, M4A/AAC, FLAC, and OGG/Opus are accepted, and anything not already WAV is converted with ffmpeg. Chatterbox conditions on the clip, so output quality mostly tracks the clip, and at least one slot must stay filled before submissions are accepted. A remote backend mode can use an OpenAI-compatible speech server instead.

Does Audicle have an API or webhooks?

There is a REST API under /api/v1 with interactive docs and a checked-in openapi.yaml schema. It covers submissions, uploads, jobs, episodes, feed authentication, settings, prompts, retention purges, and health checks. Webhooks post an episode.processed or episode.failed payload to a URL you configure, which is handy for a Slack or Discord ping. Mutating calls need the session cookie plus a CSRF header, and an admin password can be set to close open mode.

Can I keep the podcast feed private?

Yes. Authenticated feeds put a 64-hex key on the RSS feed, MP3 files, transcripts, chapters, text, and artwork URLs, and requests without a valid key get a 401 with private, no-store caching. Regenerating the key changes every protected URL, so existing subscriptions need the new feed URL. The feed is open by default, so this is a per-deployment choice under Settings, also available through the /api/v1/feed-auth endpoints.

OpenAltFinder Score
71/100
Project Health (50%)
43/100
License (20%)
100/100
Self-hostable (20%)
100/100
Recency (10%)
100/100
How scoring works
Project Details
Platforms
Web
License
MIT
Self hostable
Yes
Repository details
Version
v0.61.1
Created
5/25/2026
Stars
98
Forks
2
Open issues
2
Last commit
10/21/2026

Updated 10/22/2026, 9:00:20 AM

View Repository

Compare Audicle with

Similar open source alternatives