sherpa-onnx-tts

SkillMedia

A skill that gives an AI agent local text-to-speech through sherpa-onnx. It installs the sherpa-onnx runtime and a voice model on your own computer, then wraps them in a command-line tool. Your agent runs that tool with a text string and an output path to produce a WAV audio file entirely offline, with no internet or cloud service needed.

Then ask your AI: use the sherpa-onnx-tts skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Download the sherpa-onnx runtime for your operating system and extract it into the runtime directory.

What your AI can do with it

  • Turn a text string into a spoken WAV audio file
  • Run text-to-speech entirely offline with no cloud service
  • Use the sherpa-onnx offline CLI through a wrapped command
  • Swap in other voice models from the sherpa-onnx releases
  • Install the runtime and a voice model locally

Getting started

  1. Download the sherpa-onnx runtime for your operating system and extract it into the runtime directory.
  2. Download a voice model and extract it into the models directory.
  3. Resolve the active state directory and write the resolved runtime and model paths into the active config file.
  4. Set the SHERPA_ONNX_RUNTIME_DIR and SHERPA_ONNX_MODEL_DIR environment variables.
  5. Run the command-line tool with a text string and an output path to generate a WAV file.

What this skill tells your AI

The instructions your AI receives, as published by spinabot/brigade in skills/sherpa-onnx-tts/SKILL.md and read by Ahel’s review.

Local TTS using the sherpa-onnx offline CLI.

Install

  1. Download the runtime for your OS (extracts into $BRIGADE_STATE_DIR/tools/sherpa-onnx-tts/runtime, default ~/.brigade/tools/sherpa-onnx-tts/runtime)
  2. Download a voice model (extracts into $BRIGADE_STATE_DIR/tools/sherpa-onnx-tts/models, default ~/.brigade/tools/sherpa-onnx-tts/models)

Resolve the active state directory first:

STATE_DIR="${BRIGADE_STATE_DIR:-$HOME/.brigade}"

Then write those resolved paths into the active Brigade config file ($BRIGADE_CONFIG_PATH, default ~/.brigade/brigade.json):

{
  skills: {
    entries: {
      "sherpa-onnx-tts": {
        env: {
          SHERPA_ONNX_RUNTIME_DIR: "/path/to/your/state-dir/tools/sherpa-onnx-tts/runtime",
          SHERPA_ONNX_MODEL_DIR: "/path/to/your/state-dir/tools/sherpa-onnx-tts/models/vits-piper-en_US-lessac-high",
        },
      },
    },
  },
}

The wrapper lives in this skill folder. Run it directly, or add the wrapper to PATH:

export PATH="{baseDir}/bin:$PATH"

Usage

{baseDir}/bin/sherpa-onnx-tts -o ./tts.wav "Hello from local TTS."

Notes:

  • Pick a different model from the sherpa-onnx tts-models release if you want another voice.
  • If the model dir has multiple .onnx files, set SHERPA_ONNX_MODEL_FILE or pass --model-file.
  • You can also pass --tokens-file or --data-dir to override the defaults.
  • Windows: run node {baseDir}\\bin\\sherpa-onnx-tts -o tts.wav "Hello from local TTS."

Signals

GitHub stars
11k
Forks
70
Last commit
Oct 2026

Questions

Does it need an internet connection or a cloud service?
No. The runtime and voice model are installed locally, and the command-line tool generates WAV audio files entirely offline.
What audio format does it produce?
It generates a WAV audio file at the output path you give it.
Can I use a different voice?
Yes. Other voice models can be swapped in from the sherpa-onnx releases.
What do I need before using it?
You need the sherpa-onnx runtime and a voice model downloaded locally, plus the SHERPA_ONNX_RUNTIME_DIR and SHERPA_ONNX_MODEL_DIR environment variables set.
Advanced
Item type
skill
Key
sherpa-onnx-tts-spinabot
Source
github.com/spinabot/brigade