An all in one text based audio editing software, built for audiobooks, podcasts, videos, and more.
See the codeA text-based audio workflow. Edit the words and the audio follows: write or import a transcript, give each line a character, and the clips land on a timeline you can mix and export. Change a word and only that clip generates again. It runs locally on Kokoro, with Audio8 voice cloning built in as a second engine.
(demo sounds better in .wav but GitHub doesn't support that so it's kinda bad)
https://github.com/user-attachments/assets/c75e7141-5d73-40f4-b182-d4f5bc49ad1e
.txt, .pdf, .epub or subtitles. Each run of
text belongs to a character, and only the clips whose text or voice changed need generating
again..srt subtitles and a cue sheet..tbaw holds the text, the audio and every voice it uses, so it opens
on another machine.In 4.0.0-beta.2:
[Speaker:FX]: line no longer reads the tag aloud, and the tag's FX is
applied to the clipThe changes page has the full detail for every version, including what the update does to existing projects.
You need Python 3.11+ and eSpeak NG.
git clone --branch 4.0.0-beta.2 --depth 1 https://github.com/CoffeeMethod/KokoroGUI.git
cd KokoroGUI
python -m venv .venv
.venv\Scripts\activate # Windows
source .venv/bin/activate # macOS / Linux
pip install -r requirements.txt
4.0.0-beta.2 is the latest beta tag. --branch takes a tag name, and dropping it gets the default branch. If torch gives you trouble, follow
pytorch.org for your OS and GPU.
Kokoro is optional. Without the kokoro package (and eSpeak NG) the app
runs Audio8 and the test engine, and a Kokoro project opens and plays but doesn't generate.
Models download from Hugging Face the first time you use them. Whisper, the transcriber, is about
1.6 GB and the app asks first. For a smaller one, copy .env.example to .env and set
WHISPER_MODEL to small, base or tiny. VOSK_MODEL_PATH there switches on the offline
Vosk engine.
Looking for 3.2.0, the old one-text-box app? It's frozen. Clone the 3.2.0 tag with --branch 3.2.0 and follow
the README in that checkout. Only presets/ and custom_voices/ carry over between the two.
Run python main.py, or double-click run.bat on Windows.
[Marta]: at the start
of a line, and Generate > Auto-split turns a tagged transcript into clips..tbaw.The docs site covers the workflows, every setting, tags and the .tbaw
format.
pip install -r requirements-test.txt
pytest # fast suite, mocked, no model needed
pytest -m integration tests/integration -s # real generation, needs eSpeak NG
CI runs the fast suite on Windows and Ubuntu, without the Qt widget tests. Those run locally,
headless. The integration tests write each sample next to a transcript under tests/output/ for
you to listen to.
See CONTRIBUTING.md. Security reports go through the repository's Security tab, not Issues (SECURITY.md).
Kokoro, Audio8-TTS, Pedalboard, PySide6, PyTorch, SoundFile and sounddevice, PyPDF and EbookLib.
An all in one text based audio editing software, built for audiobooks, podcasts, videos, and more.
See the codeA text-based audio workflow. Edit the words and the audio follows: write or import a transcript, give each line a character, and the clips land on a timeline you can mix and export. Change a word and only that clip generates again. It runs locally on Kokoro, with Audio8 voice cloning built in as a second engine.
(demo sounds better in .wav but GitHub doesn't support that so it's kinda bad)
https://github.com/user-attachments/assets/c75e7141-5d73-40f4-b182-d4f5bc49ad1e
.txt, .pdf, .epub or subtitles. Each run of
text belongs to a character, and only the clips whose text or voice changed need generating
again..srt subtitles and a cue sheet..tbaw holds the text, the audio and every voice it uses, so it opens
on another machine.In 4.0.0-beta.2:
[Speaker:FX]: line no longer reads the tag aloud, and the tag's FX is
applied to the clipThe changes page has the full detail for every version, including what the update does to existing projects.
You need Python 3.11+ and eSpeak NG.
git clone --branch 4.0.0-beta.2 --depth 1 https://github.com/CoffeeMethod/KokoroGUI.git
cd KokoroGUI
python -m venv .venv
.venv\Scripts\activate # Windows
source .venv/bin/activate # macOS / Linux
pip install -r requirements.txt
4.0.0-beta.2 is the latest beta tag. --branch takes a tag name, and dropping it gets the default branch. If torch gives you trouble, follow
pytorch.org for your OS and GPU.
Kokoro is optional. Without the kokoro package (and eSpeak NG) the app
runs Audio8 and the test engine, and a Kokoro project opens and plays but doesn't generate.
Models download from Hugging Face the first time you use them. Whisper, the transcriber, is about
1.6 GB and the app asks first. For a smaller one, copy .env.example to .env and set
WHISPER_MODEL to small, base or tiny. VOSK_MODEL_PATH there switches on the offline
Vosk engine.
Looking for 3.2.0, the old one-text-box app? It's frozen. Clone the 3.2.0 tag with --branch 3.2.0 and follow
the README in that checkout. Only presets/ and custom_voices/ carry over between the two.
Run python main.py, or double-click run.bat on Windows.
[Marta]: at the start
of a line, and Generate > Auto-split turns a tagged transcript into clips..tbaw.The docs site covers the workflows, every setting, tags and the .tbaw
format.
pip install -r requirements-test.txt
pytest # fast suite, mocked, no model needed
pytest -m integration tests/integration -s # real generation, needs eSpeak NG
CI runs the fast suite on Windows and Ubuntu, without the Qt widget tests. Those run locally,
headless. The integration tests write each sample next to a transcript under tests/output/ for
you to listen to.
See CONTRIBUTING.md. Security reports go through the repository's Security tab, not Issues (SECURITY.md).
Kokoro, Audio8-TTS, Pedalboard, PySide6, PyTorch, SoundFile and sounddevice, PyPDF and EbookLib.