Model reference · open weights

piper-de-de-thorsten-medium

Available as managed deployment Audio Trelis Text→speech 1 variants 534 dl/mo

piper-de-de-thorsten-medium is an open-weight audio or speech model from Trelis. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.

Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.

What it is

Released byTrelis
TypeAudio & music
TaskText→speech
Runs withpiper
Released2026-03-26
Popularity534 downloads / month
LicenceOpen weights

About

What piper-de-de-thorsten-medium is

Medium-size German male voice by Thorsten Mueller.

Model Details

FieldValue
ArchitectureVITS (end-to-end)
FormatONNX
LanguageGerman (Germany)
GenderMale
Model Sizemedium (~63 MB ONNX, ~15M params)
Sample Rate22050 Hz
LicenseCC0 (Public Domain)

Note: Piper uses the terms "medium", "high", etc. to refer to model size, not output quality. Medium models (~63 MB, ~15M params) and high models (~114 MB, ~28M params) both produce 22.05 kHz audio.

Usage

With piper-tts (GPL)

from piper import PiperVoice

voice = PiperVoice.load("model.onnx")
for chunk in voice.synthesize("Hello, this is a test."):
    # chunk.audio_float_array contains float32 audio
    pass

Standalone ONNX (MIT — no piper-tts dependency)

Requires espeak-ng installed (brew install espeak-ng / apt install espeak-ng).

Read the full model card
import json, subprocess, numpy as np, onnxruntime as ort, soundfile as sf
from huggingface_hub import hf_hub_download

model_id = "Trelis/piper-de-de-thorsten-medium"
onnx_path = hf_hub_download(model_id, "model.onnx")
config_path = hf_hub_download(model_id, "model.onnx.json")

with open(config_path) as f:
    config = json.load(f)

session = ort.InferenceSession(onnx_path, providers=["CPUExecutionProvider"])
phoneme_id_map = config["phoneme_id_map"]
espeak_voice = config["espeak"]["voice"]

def phonemize(text, voice):
    out = subprocess.run(
        ["espeak-ng", "-v", voice, "-q", "--ipa=2", "-x", text],
        capture_output=True, text=True,
    ).stdout.strip()
    return [list(line.replace("_", " ")) for line in out.split("\n") if line.strip()]

def to_ids(phonemes, pmap):
    ids = [pmap["^"][0], pmap["_"][0]]
    for p in phonemes:
        if p in pmap:
            ids.extend(pmap[p])
            ids.append(pmap["_"][0])
    ids.append(pmap["$"][0])
    return ids

text = "Hello, this is a test."
audio_chunks = []
for sentence in phonemize(text, espeak_voice):
    ids = to_ids(sentence, phoneme_id_map)
    if len(ids) < 3:
        continue
    audio = session.run(None, {
        "input": np.array([ids], dtype=np.int64),
        "input_lengths": np.array([len(ids)], dtype=np.int64),
        "scales": np.array([
            config["inference"]["noise_scale"],
            config["inference"]["length_scale"],
            config["inference"]["noise_w"],
        ], dtype=np.float32),
    })[0]
    audio_chunks.append(audio.squeeze())

audio = np.concatenate(audio_chunks).astype(np.float32)
sf.write("output.wav", audio, config["audio"]["sample_rate"])

Fine-tuning

You can fine-tune this model on your own voice data using Trelis Studio. Piper models can be trained on custom datasets to create personalized voices.

Attribution

Trained on Thorsten Voice dataset by Thorsten Mueller. Fine-tuned from lessac medium.

Re-hosted from rhasspy/piper-voices. Original voice: de_DE-thorsten-medium

From the published model card. Full card on the HuggingFace links in the sidebar.

How it works

How audio & music work

Audio or textinputAudio modelrecognise / synthesiseText or audiooutputSpeech-to-text turns audio into text; text-to-speech and music models turn text into audio.

Using it via the API

Call it like any OpenAI endpoint

Once AxForge deploys piper-de-de-thorsten-medium for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (piper-de-de-thorsten-medium below is illustrative; you get the exact model name on deployment.)

$ curl -sS https://api.axforge.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $AXFORGE_API_KEY" \
  -F model="piper-de-de-thorsten-medium" -F file=@audio.mp3

Create an account — your API key is available in the console. 3M free tokens every 30 days with every new account.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms