--- license: apache-2.0 language: - en base_model: - Gryphe/Gemma-4-12B-StyleTune tags: - gemma4 - styletune - voice - gguf - roleplay - creative-writing - style-transfer - qwen - llama library_name: voice pipeline_tag: text-generation ---

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](https://huggingface.co/Gryphe/Gemma-4-12B-StyleTune), extracted into a single portable tensor. Pair it with the [Voice tool](https://huggingface.co/Wiself/voice) 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 ```bash # 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: ```bash 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](https://huggingface.co/Gryphe/Gemma-4-12B-StyleTune)) — 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](https://huggingface.co/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](#loops--abliterated-targets) 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: ```bash 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](https://huggingface.co/Wiself/voice) 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](https://huggingface.co/Gryphe) trained the StyleTune and proved one tensor changes everything. The [Voice tool](https://huggingface.co/Wiself/voice) 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](https://huggingface.co/Gryphe/Gemma-4-12B-StyleTune) before sharing voiced models.