Kanso Satori 0.9 (4B)

Names. ZenVoice's formatting models are called Kanso since ZenVoice 1.3.1: Kanso Koi 1.0 was ZenPolish v2.2 Lite, Koi 0.9 was ZenPolish v2.2, Koi 0.8 was ZenPolish v2, Kanso Satori 1.0 was ZenPolish v3.2 4B and Satori 0.9 was ZenPolish v3 4B. The repositories were renamed from zen-polish-โ€ฆ; old links and pinned revisions redirect here. Tables below use the development version numbers (v2, v2.1, v2.2, v3, v3.1, v3.2).

Retired. ZenVoice no longer offers this model; it stays here for earlier builds. Use Kanso-Koi-1.0 or Kanso-Satori-1.0.

ZenVoice's on-device dictation-enhancement model. Takes the raw, unpunctuated text produced by speech-to-text engines and restores everything dictation loses: punctuation, capitalization, filler removal, spoken numbers, dates, and times. Runs fully on-device on Apple Silicon via MLX โ€” nothing leaves the Mac.

Base model: fine-tuned (LoRA rank 16) from Qwen3-4B-Instruct-2507, then merged in 4-bit MLX. Qwen3 is the starting point; the formatting behavior below is entirely the fine-tune.

Usage

ChatML prompt, thinking disabled:

messages = [
    {"role": "system", "content": SYSTEM_PROMPT},
    {"role": "user", "content": "um yeah so we need to fix this bug by tuesday right check the pull request"},
]
# -> "Um, yeah, so we need to fix this bug by Tuesday. Check the pull request."

The exact system prompt is in the ZenVoice repository (training/common.py).

Evaluation

Measured on ZenVoice's leakage-controlled 234-row eval suite (training/evaluate_v31.py over training/data/eval_v31.jsonl: 7 speech categories, rows appearing in any training mix excluded, ITN values disjoint from training templates), greedy decoding.

Metric Satori 0.9 (4B) Koi 0.8 (1.7B) Stock Qwen3-4B Raw input floor
WER 17.2% 30.5% 24.4% 40.4%
Exact match 41.0% 23.1% 33.3% 0.0%
Punctuation F1 0.750 0.649 0.745 0.000
New-content (hallucination) rate 10.8% 23.0% 17.1% 32.5%
Capitalization accuracy 95.6% 92.4% 95.4% 76.5%
Sentence-start accuracy 80.7% 62.1% 73.9% 0.9%

Per-category WER highlights (v3 vs v2): numbers/dates/money ITN 13.8% vs 37.3%, heavy filler/restart speech 31.8% vs 78.6%, run-on speech 14.4% vs 14.6%, questions 4.9% vs 0.6%.

Scope

  • English-focused
  • Formatting and cleanup only โ€” never rewrites meaning, never adds content
  • Strengths: punctuation, casing, filler/restart removal, spoken money and clock times, dates, percents
  • Weak spots: over-cleanup on 1-5-word fragments; filler removal on very dense speech is improved but not solved

Training

Pipeline and recipe are in the ZenVoice repo under training/: build_pairs_v31.py (teacher pairs, filler/restart-intensity branch, ITN hard cases), noisifier, synthetic + real ASR pair builders, frozen eval sets, mlx-lm LoRA training (rank 16, ~25k pairs), and the WER no-regression gate. Weights: 4-bit MLX safetensors, 2.1 GB.

License

Apache-2.0, inherited from the Qwen3-4B base.

Published under BuilderHelm AI. Previously imYChaudhary22/Kanso-Satori-0.9; existing repository links and pinned revisions redirect to this organization repository. Model filenames and weights are unchanged.

Downloads last month
218
Safetensors
Model size
4B params
Tensor type
U32
ยท
BF16
ยท
MLX
Hardware compatibility
Log In to add your hardware

4-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for BuilderHelm/Kanso-Satori-0.9

Quantized
(4)
this model

Collection including BuilderHelm/Kanso-Satori-0.9