mikael-lovqvists-claude-agent f6ff8c72e8 Convert chatterbox-server.py to HTTP server, add Node.js examples
Replace stdin/stdout JSON line protocol with a stdlib HTTP server
(ThreadingHTTPServer). Three endpoints: POST /speak, /chime, /preload.
All return {"status": "ok"} after audio is queued for playback.
TTS generation is serialized via a threading.Lock; concurrent chime/preload
requests are handled without waiting for generation.

Add examples/speak.mjs, chime.mjs, voice-clone.mjs using Node.js built-in
fetch (no libraries required, Node 18+).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 07:28:18 +00:00
2026-06-07 08:54:31 +02:00
2026-06-07 09:22:46 +02:00
2026-06-07 08:54:31 +02:00

Text to voice interface

Overview

This project aims to provide text to voice with voice cloning ability. It is using chatterbox as backend.

Origin

This project started as a vibe-coded experiment but this version is somewhat more hands on.

Setup

Setup venv for python

Run setup-venv.sh.

Note

The default location is a directory called venv that is created next to the script, but you can override it by using the environment variable PYTHON_ENV to point to a different location.

PYTHON_ENV='/some/path' ./setup-venv.sh

Environment

Variable Purpose
HF_TOKEN_FILE Used to resolve a file for the HF_TOKEN secret that is used to download models from Hugging Face. If it is not set it defaults to ~/.secrets/hugging-face.token.
HF_HUB_CACHE Location for hugging face model cache, defaults to ~/.cache/huggingface/hub.
Description
Basic TTS server based on [chatterbox-tts](https://github.com/resemble-ai/chatterbox)
Readme 52 KiB
Languages
Python 95.5%
Shell 4.5%