GUIDE

Text to speech for local LLMs and chatbots

A language model running on your own computer, through Ollama, llama.cpp or LM Studio, keeps your conversations private. Sending its replies to a cloud speech service would undo that. The voice should be local too.

The SuperClonica engine voices text offline on an ordinary processor or an NVIDIA graphics card, from Python or as a small HTTP service. This guide shows how to connect it to a local model, how to keep the delay short and how to make replies sound good when spoken.

How a local voice assistant fits together

Each part can be swapped on its own: another model, another voice, the same pipeline.

  • Optional speech recognition, for example a local Whisper model, turns your voice into text.
  • The language model writes the reply locally.
  • SuperClonica turns the reply into speech, also locally.
  • Nothing leaves the computer, and there is no fee per character or per request.

Hear the voice free online

Before you write any code, open the page of a voice, type a typical reply of 30 to 100 characters, choose the language and press Voice it. In a few seconds you hear how your assistant will sound, with no account.

Speak each sentence as soon as it is ready

In our measurements a short phrase took a median of 0.12 s on an RTX 5070 Ti and 0.43 s on a desktop Ryzen with four threads.

  • Install the engine once: python -m pip install superclonica-cpu, or superclonica-gpu-cuda for an NVIDIA graphics card.
  • Create the engine once, tts = Superclonica(), and reuse it: loading takes a few seconds, each phrase after that a fraction of a second.
  • As the model streams its reply, cut it at sentence ends and voice each sentence: audio, rate = tts.synthesize(sentence, voice="F1", lang="en").
  • Play each sentence while the next one is being generated, with an audio library such as sounddevice or by saving and playing the file.

Make replies sound good aloud

Models like to answer with Markdown: asterisks, lists, tables and code that sound odd when read aloud. Ask the model in its system prompt to reply in short, plain spoken sentences without lists or formatting, and strip what remains before voicing it. The engine spells out numbers in most languages and cleans up emoji and unknown symbols on its own. For a program not written in Python, run the engine as a local HTTP service, docker run -d -p 8000:8000 -v superclonica-models:/models superclonica/superclonica:cpu, and send each sentence to POST /synthesize; tools that expect an OpenAI-compatible speech endpoint need a small adapter.

Choose the voice

The ten stock voices of the model, M1 to M5 and F1 to F5, come with the free engine and need no extra files. For a personal assistant with character, pick a voice from the catalog, such as one of the Jarvis voices, and test it on a typical reply first. For a voice of your own or a family member who agreed, train it in the studio on a computer with an NVIDIA graphics card, or order it on the exchange. Every voice speaks the 31 languages of Supertonic 3; Chinese is not supported yet.