The StyleTune voice for Gemma 4 12B — as a download.

Gemma-4-12B-StyleTune-Voice

56% fewer clichés. 16.8% shared vocabulary. One tensor. ~2.0 GB.

This is not a model. It is the voice of Gryphe/Gemma-4-12B-StyleTune, extracted into a single portable tensor. Pair it with the Voice tool and any Gemma 4 12B GGUF you already have becomes StyleTune-voiced — reasoning, knowledge, and instruction following untouched.


Why this exists

A full StyleTune finetune is 24 GB. The voice is 2.0 GB — and it carries the entire style. The style lives in one tensor: the lm_head output projection, the last stop before text appears. Gryphe trained only that tensor; we lift only that tensor.

Download the voice, not the model.


Two steps

# 1. Get the voice tool (one-time): https://huggingface.co/Wiself/voice
python3 voice.py path   # optional, puts `voice` on your PATH

# 2. Cast it onto any Gemma 4 12B GGUF you already have
voice cast ./gemma-4-12b-it-Q4_K_M.gguf voice.safetensors --out ./voiced/gemma-4-12b-styletune.gguf

Append --speak to force the voice through output.weight (invented if the target lacks it and geometry survives; GGUF only).

Run it:

llama serve -m ./voiced/gemma-4-12b-styletune.gguf --jinja

That's it. One file out, nothing extra at runtime. No adapter, no LoRA, no second model.


The numbers

From Gryphe's own benchmarks (source card) — 200 diverse roleplay prompts, greedy 0.0, versus the base instruct:

Metric Base StyleTune
Clichés per 100 words 1.050 0.463 (−56%)
Shared trigram vocabulary 16.8% (an almost entirely different phrasing)

Everything that makes StyleTune StyleTune is in this file. What does not change: reasoning, world knowledge, instruction following, multilingual capability — none of it lives in lm_head.


What's inside

  • voice.safetensors — the lm_head.weight tensor, BF16, shape [262144, 3840], ~2.0 GB
  • voice.json — metadata: source, dtype, shape, architecture

Bit-for-bit identical to the tensor that makes Gryphe/Gemma-4-12B-StyleTune sound the way it does. If you have the original model, you don't need this file. If you have any other Gemma 4 12B — a quant, an abliterated variant, a different finetune — this voice drops in.


Compatibility

Target Works?
Any Gemma 4 12B GGUF (any quant: Q4_K_M, Q5_K_M, Q8_0…)
Abliterated / uncensored Gemma 4 12B GGUFs ✅ (use the delta variant if it loops)
Gemma 4 other sizes (9B, 26B, 31B) ❌ vocab/hidden mismatch — use the matching voice
Non-Gemma architectures

The cast checks shape before touching anything and tells you plainly if it won't fit.

Loops on abliterated targets?

On some abliterated targets a direct cast can loop. The fix is the delta variant — it carries only the difference from the base instruct, so MoE routing stays calm:

voice delta voice.safetensors          # needs the base: --base google/gemma-4-12b-it
voice cast ./model.gguf delta-voice.safetensors --out ./voiced/model.gguf

This is the exact path that fixed looping on the 26B QAT abliterated model — see the Voice tool card for that story.


Notes

  • Quality: the voice is stored at the original BF16 precision. Casting to GGUF quantizes only the head to Q8_0 (≈¼ size, near-lossless); every other tensor is byte-copied from your model.
  • Casting to safetensors targets works too — the head is replaced at the target's own dtype, no quantization.
  • Sampler tips from Gryphe: temp 1.0, MinP 0.10, DRY sampler on. Gemma 4's native chat template applies automatically.
  • Verify after download: voice info voice.safetensors → should read lm_head.weight · [262144, 3840] · BF16.

Credits

Gryphe trained the StyleTune and proved one tensor changes everything. The Voice tool lifts and casts it. Gemma 4 is Google's model, under its own terms — this voice carries the source model's license lineage; check the source card before sharing voiced models.

Downloads last month
1,356
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Wiself/gemma-4-12B-Styletune-Voice

Finetuned
(3)
this model