audiomat is a self-hosted Docker app that converts EPUB / TXT books into audiobook M4Bs using your own voice as the narrator. Upload a 10-second voice clip, pick a book, get a chaptered audiobook — works in 600+ languages including Czech.
0
stars
123
commits
Python
primary language
Jun 9, 2026
updated
Convert eBooks into audiobooks with cloned voices, locally and offline.
"Vlož knihu, vypadne audiokniha." — feed in a book, get an audiobook out.
Status: alpha — full pipeline working end-to-end, actively used for personal Czech audiobook conversion. Issues + PRs welcome.

A focused, GPU-accelerated audiobook generator built around OmniVoice (Apache-2.0). One-stack, opinionated, optimized for Czech (works for 600+ languages because OmniVoice does, but Czech narrative quality is the design target).
You give it:
audiomat produces:
There are several solid open-source audiobook generators (epub2tts, audiobook_maker, abogen, chatterbox-Audiobook, …). audiomat differs:
num_step=48, guidance_scale=2.0 baked in —
validated via direct A/B against an original human recording.Before settling on OmniVoice we A/B-tested several TTS engines on the same Czech reference voice (5–10 s clip, narrator Jitka Ježková). All samples below render the same Czech excerpt. Ratings are subjective on Czech narrative content; speed is end-to-end on a single RTX 5070 (12 GB).
| Engine | Provider | Cost | License | Speed | Quality (CZ) | Sample |
|---|---|---|---|---|---|---|
| OmniVoice ⭐ winner | k2-fsa/OmniVoice | Free | Apache-2.0 | ★★★★☆ | ★★★★☆ | ▶ Listen |
| Fish Speech S2-Pro | fishaudio (model) + mach9243 (Q8_0 GGUF) via s2.cpp (Vulkan) | Free (non-commercial) | Fish Audio Research License | ★☆☆☆☆ | ★★★★☆ | ▶ Listen |
| Chatterbox-CZ | Resemble AI + Thomcles CZ fine-tune | Free | MIT + CC0 | ★★★★☆ | ★★★★☆ | ▶ Listen |
| XTTS v2 | coqui/XTTS-v2 | Free (non-commercial) | CPML | ★★★☆☆ | ★★☆☆☆ | ▶ Listen |
| TopMediai (cloud) | topmediai.com | Paid | Commercial SaaS | ★★★★★ | ★★★★★ | ▶ Listen |
TopMediai is the highest-quality option overall but it's a paid cloud
service — out of scope for a local, offline-first audiobook tool.
Among the self-hostable engines, OmniVoice and Chatterbox-CZ are roughly
tied on Czech quality; OmniVoice wins on operational simplicity (single
in-process model, no server lifecycle, no fine-tune dependency) and on
multilingual reach (600+ languages out of the box). Fish Speech S2-Pro
shipped the predecessor production cut (Skleneny_muz_s2.m4b, 13:46:33)
but its s2.cpp Vulkan server has VRAM degradation that needed a
render-loop restart wrapper, and the F16 weights OOMed on 12 GB VRAM
(s2-pro-q8_0-transformer-only.gguf 5.0 GB + s2-pro-q8_0-codec-only.gguf
976 MB was the only viable quantization).
The supported install path is Docker (multi-stage image bundles backend + frontend). Local Python is fine for development.
git clone https://github.com/rkotulan/audiomat.git
cd audiomat
docker compose up --build
# open http://localhost:7860
The compose file mounts a named volume at /data for voices, projects,
and the OmniVoice model cache (~3 GB, downloaded on first render).
NVIDIA GPU + recent driver required (CUDA 12.8 wheels in the image).
docker run --gpus all \
-p 7860:7860 \
-v audiomat-data:/data \
-e AUDIOMAT_LIBRARY_ROOT=/data \
kotulan/audiomat:latest
Backend (Python ≥ 3.11, NVIDIA GPU + CUDA 12.x):
cd audiomat/
python -m venv .venv
. .venv/bin/activate # or .venv\Scripts\activate on Windows
pip install -r requirements.txt
Frontend (Node ≥ 20):
cd frontend/
npm install
npm run dev # Vite on http://localhost:5173, proxies /api → :8000
Optional Claude Code design skill (recommended if you use Claude Code):
npm install -g uipro-cli
uipro init --ai claude # installs ui-ux-pro-max into .claude/skills/
The skill is gitignored — install once locally; restart Claude Code to pick it up.
MIT — see LICENSE.
OmniVoice model checkpoint is pulled at runtime from k2-fsa/OmniVoice (Apache-2.0). audiomat does not redistribute model weights.
123 commits
Python
65.1%
TypeScript
33.9%
audiomat is a self-hosted Docker app that converts EPUB / TXT books into audiobook M4Bs using your own voice as the narrator. Upload a 10-second voice clip, pick a book, get a chaptered audiobook — works in 600+ languages including Czech.
0
stars
123
commits
Python
primary language
Jun 9, 2026
updated
Convert eBooks into audiobooks with cloned voices, locally and offline.
"Vlož knihu, vypadne audiokniha." — feed in a book, get an audiobook out.
Status: alpha — full pipeline working end-to-end, actively used for personal Czech audiobook conversion. Issues + PRs welcome.

A focused, GPU-accelerated audiobook generator built around OmniVoice (Apache-2.0). One-stack, opinionated, optimized for Czech (works for 600+ languages because OmniVoice does, but Czech narrative quality is the design target).
You give it:
audiomat produces:
There are several solid open-source audiobook generators (epub2tts, audiobook_maker, abogen, chatterbox-Audiobook, …). audiomat differs:
num_step=48, guidance_scale=2.0 baked in —
validated via direct A/B against an original human recording.Before settling on OmniVoice we A/B-tested several TTS engines on the same Czech reference voice (5–10 s clip, narrator Jitka Ježková). All samples below render the same Czech excerpt. Ratings are subjective on Czech narrative content; speed is end-to-end on a single RTX 5070 (12 GB).
| Engine | Provider | Cost | License | Speed | Quality (CZ) | Sample |
|---|---|---|---|---|---|---|
| OmniVoice ⭐ winner | k2-fsa/OmniVoice | Free | Apache-2.0 | ★★★★☆ | ★★★★☆ | ▶ Listen |
| Fish Speech S2-Pro | fishaudio (model) + mach9243 (Q8_0 GGUF) via s2.cpp (Vulkan) | Free (non-commercial) | Fish Audio Research License | ★☆☆☆☆ | ★★★★☆ | ▶ Listen |
| Chatterbox-CZ | Resemble AI + Thomcles CZ fine-tune | Free | MIT + CC0 | ★★★★☆ | ★★★★☆ | ▶ Listen |
| XTTS v2 | coqui/XTTS-v2 | Free (non-commercial) | CPML | ★★★☆☆ | ★★☆☆☆ | ▶ Listen |
| TopMediai (cloud) | topmediai.com | Paid | Commercial SaaS | ★★★★★ | ★★★★★ | ▶ Listen |
TopMediai is the highest-quality option overall but it's a paid cloud
service — out of scope for a local, offline-first audiobook tool.
Among the self-hostable engines, OmniVoice and Chatterbox-CZ are roughly
tied on Czech quality; OmniVoice wins on operational simplicity (single
in-process model, no server lifecycle, no fine-tune dependency) and on
multilingual reach (600+ languages out of the box). Fish Speech S2-Pro
shipped the predecessor production cut (Skleneny_muz_s2.m4b, 13:46:33)
but its s2.cpp Vulkan server has VRAM degradation that needed a
render-loop restart wrapper, and the F16 weights OOMed on 12 GB VRAM
(s2-pro-q8_0-transformer-only.gguf 5.0 GB + s2-pro-q8_0-codec-only.gguf
976 MB was the only viable quantization).
The supported install path is Docker (multi-stage image bundles backend + frontend). Local Python is fine for development.
git clone https://github.com/rkotulan/audiomat.git
cd audiomat
docker compose up --build
# open http://localhost:7860
The compose file mounts a named volume at /data for voices, projects,
and the OmniVoice model cache (~3 GB, downloaded on first render).
NVIDIA GPU + recent driver required (CUDA 12.8 wheels in the image).
docker run --gpus all \
-p 7860:7860 \
-v audiomat-data:/data \
-e AUDIOMAT_LIBRARY_ROOT=/data \
kotulan/audiomat:latest
Backend (Python ≥ 3.11, NVIDIA GPU + CUDA 12.x):
cd audiomat/
python -m venv .venv
. .venv/bin/activate # or .venv\Scripts\activate on Windows
pip install -r requirements.txt
Frontend (Node ≥ 20):
cd frontend/
npm install
npm run dev # Vite on http://localhost:5173, proxies /api → :8000
Optional Claude Code design skill (recommended if you use Claude Code):
npm install -g uipro-cli
uipro init --ai claude # installs ui-ux-pro-max into .claude/skills/
The skill is gitignored — install once locally; restart Claude Code to pick it up.
MIT — see LICENSE.
OmniVoice model checkpoint is pulled at runtime from k2-fsa/OmniVoice (Apache-2.0). audiomat does not redistribute model weights.
123 commits
Python
65.1%
TypeScript
33.9%