GitHub Hot Board

GitHub Hot Board · Arquivo do repositório

ttlequals0/Audicle

Your reading list, as a podcast you own (Esta descrição vem do próprio repositório.)

Dados de October 26ttlequals0

Melhor colocação

#266

Gemas ignoradas

100

Total de estrelas

2

Total de forks

1

Dias nos rankings (30 d)

Licença: NOASSERTIONÚltimo push: October 26Issues abertos (PR incl.): 14Coletado desde 2026-10-25; desconhecido = ainda não coletado

Documentação do projeto

Audicle

Audicle

Self-hosted Podcasting 2.0 service that turns saved articles into a personal podcast feed.

Paste a URL or upload a document (PDF including scanned, DOCX, Markdown, text, HTML, or an image), wait a few minutes, and get an episode with cloned-voice narration, chapters, artwork, an LLM-written episode summary, and a WebVTT transcript. Subscribe in Pocket Casts, Overcast, or Apple Podcasts like any other show.

Your reading list, as a podcast you own.

Contents

Why

I read too much, I like my hands free on the go, and the existing article-to-audio tools either lock the audio in their app, charge per minute, or use voices that sound like an airport PA. I wanted something that:

  • I control fully
  • produces a real podcast feed any podcatcher can subscribe to
  • uses my own voice (or any voice I have rights to)
  • keeps my reading list private

That's what this is. No GPU? It runs on CPU too (including Apple Silicon), just slower.

Screenshots

Home: paste a URL or drop files (up to 20 at once), and they join the feed.

Home, desktop Home, mobile

Feed: search and page through your episodes, with inline players, transcripts, and per-episode actions.

Feed, desktop Feed, mobile

Settings: browse one category at a time, or search across all settings.

Settings, desktop Settings, mobile

Sample

A short clip of cloned-voice narration.

trim.B6BE34AB-D812-4973-8866-AC36AE24443C.MOV

Download the MP4

Quickstart

You need Docker and docker-compose. The app boots unconfigured: set the LLM provider, feed metadata, and admin password, and upload a reference voice, from the Settings UI after it starts.

git clone https://github.com/ttlequals0/Audicle && cd Audicle
cp .env.example .env
# Set BUILD_VERSION in .env to the release tag you want to run.
docker compose up -d

The web UI is at http://localhost:8000/, and it installs as a PWA on a phone home screen. The Feed page shows the exact RSS URL to paste into a podcatcher.

Full setup, including CPU-only deployment and file permissions, is in Installation.

Documentation

The full index is docs/README.md. The short version:

Topic Covers
How it works Pipeline from URL to episode, extraction cascade, quality gates
Installation Requirements, quick start, CPU-only and Apple Silicon
Web interface Home, Feed, and Settings pages
UI design guide Colors, fonts, controls and UI review checks
Configuration Every settings category, what saves where
Environment variables Every variable, runtime-editable ones flagged
Voices and TTS Voice cloning, running Chatterbox or Whisper on other hosts
Paywalled articles What happens when a site serves a teaser instead of the article
Feeds and Podcasting 2.0 RSS feed, authenticated feeds, chapters, artwork, retention
API and webhooks REST surface and episode webhooks
Glossary Every term the app uses
Releasing Versioning, build, CVE gate, ship
Deployment runbook Health checks, logs, rollback, disk

What's in the repo

backend/        FastAPI app, SQLite, the job pipeline
tts-wrapper/    TTS model server (Chatterbox; separate GPU container)
render/         full-article render sidecar and its restricted egress proxy
frontend/       React + Tailwind operator UI
docs/           documentation and screenshots
data/           runtime artifacts (gitignored: SQLite, MP3, JPG, VTT)
docker-compose.yml

Development

Backend:

uv sync
uv run pytest                              # 1000+ tests, a few minutes
uv run uvicorn app.main:create_app --factory --reload --app-dir backend

Frontend:

cd frontend
npm ci
npm run dev

Run npm test and npm run build from frontend/ before submitting UI changes. The build fails on stale design tokens: edit branding/tokens.json, then run node scripts/sync_design_tokens.mjs from the repository root to regenerate the CSS.

Follow the UI design guide and include before and after screenshots for UI changes.

The tts-wrapper/ and render/ packages have their own test suites (uv run pytest in each). Lint with uv run ruff check from the root; one run covers everything. The OpenAPI schema lives at openapi.yaml; regenerate it with uv run python scripts/dump_openapi.py.

CodeQL runs on every PR through GitHub's default-setup code scanning (there is no in-repo workflow file for it).

Licensing notes

The application code is MIT. A few things downstream of it have their own terms:

  • Chatterbox is the TTS engine. The chatterbox-tts library and its model weights are MIT, so there's no non-commercial restriction on the model itself. Every output carries Resemble's inaudible PerTh watermark for provenance, with no flag to turn it off.
  • Wrapper runtime: the wrapper runs Python 3.11 from python:3.11-slim. Its GPU image uses the CUDA 12.6 torch wheels and requires a host driver that exposes CUDA 12.6 or newer. The backend is separate: Python >=3.13, shipped on python:3.14-slim.

The Audicle name and logo are reserved; see branding/README.md.

LLM disclosure

This project was developed with AI agents as a pair programmer. It was NOT vibe coded. I'm a systems engineer with 15+ years of professional experience; every architecture and design decision here is mine, not the AI's, and every line the LLMs wrote, I reviewed and tested myself.

Credits

The paywall bypass strategies are inspired by Ladder; see Paywalled articles.

Colocações atuais

  • 266

    Gemas ignoradas

    100 estrelas · 2 fork · Star acumuladas (crescente)

    Ignoradas →

Evolução em 30 dias

Estrelas acumuladas

Evolução da posição

Coloque o emblema no seu README · ttlequals0/Audicle[![Coloque o emblema no seu README](https://git.vaiox.xyz/api/badge/ttlequals0/Audicle.svg)](https://git.vaiox.xyz/pt/repo/ttlequals0/Audicle)

Badge · 任何仓库都可以挂 —— 未上榜的仓库显示灰章,上完榜会自动点亮。

<a href="https://git.vaiox.xyz/pt/repo/ttlequals0/Audicle"><img src="https://git.vaiox.xyz/api/badge/ttlequals0/Audicle.svg" alt="Coloque o emblema no seu README" height="20"></a>

← Voltar aos rankings

GitHub Hot BoardMáquina do tempoDescobrir联系我们 · Contact