Skip to content
ZenVoice

Introducing

Koi 1.0 Satori 1.0

Spoken like you.
Written like you meant it.

Explore the models

(01)

Introduction

Speech leaves a few things unfinished. We pause, repeat ourselves, say “um,” and start again. Kanso finds the writing in those spoken words.

Built by BuilderHelm AI for ZenVoice, Koi 1.0 and Satori 1.0 clean up dictated text on your Mac. They remove unwanted fillers and false starts, restore punctuation and capitalization, and turn spoken numbers into useful written forms.

Choose a lighter model for everyday speed, or a larger one for more demanding sentences. Both work locally after download.

The everyday choice

Kanso Koi 1.0

Quick enough for the next thought. A compact model for messages, notes, emails, and the words you use every day.

1.05 GB Download1.7B Parameters4-Bit Base + Live LoRA

Room for more precision

Kanso Satori 1.0

A larger model for the details. More room for difficult sentences, with a little more memory and time to think.

2.27 GB Download4B Parameters4-Bit DWQ
word error rate for Koi 1.0, against 29.1% for its stock base
0.97%
word error rate for Satori 1.0, the most accurate Kanso model
0.43%
median time for Koi 1.0 to format a dictation, on your Mac
0.35 s
examples in the public benchmark, Kanso Dictation Bench v1
1,500

Accuracy figures come from the 1,200 formatting examples in Kanso Dictation Bench v1, and timings from a Mac with Apple M5 and 24 GB of memory. How we measured has the details.

(02)

Performance

We measure Kanso on Kanso Dictation Bench v1, a public set of 1,500 examples: 1,200 dictations to format across seven kinds of speech, and 300 sentences that are already clean. Every model gets the same text, the same instructions, and the same scorer.

Fine-tuning does the work: Koi 1.0 cuts its own stock base model’s word error rate from 29.12% to 0.97%, and Satori 1.0 takes its base from 53.54% to 0.43%. Both beat the releases they replace on every formatting measure.

Kanso Dictation Bench v1 ↗ 1,500 examples · English · public on Hugging Face
Six models and the unformatted text on the 1,200 formatting examples of Kanso Dictation Bench v1
MetricKoi 1.0New · 1.7BSatori 1.0New · 4BKoi 0.9Previous · 1.7BSatori 0.9Previous · 4BQwen3-1.7BKoi's stock baseQwen3-4B InstructSatori's stock baseNo formattingText as transcribed
Word error ratelower is better0.97%0.43%2.06%34.78%29.12%53.54%21.14%
Added contentwords never spoken · lower is better0.16%0.07%0.21%28.31%16.56%47.77%16.66%
Exact matchoutput identical to reference64.0%69.6%51.6%39.9%22.1%46.3%0.0%
Punctuation F1token-level81.3%85.5%73.3%71.6%47.6%73.5%0.2%
Capitalizationaccuracy99.0%99.2%98.4%95.9%90.3%98.1%82.5%
Sentence startsaccuracy98.5%99.2%95.3%79.9%60.0%87.7%0.0%

Best result in each row in bold. Every model got the same 1,200 dictations and the same instructions. No formatting is the dictation left exactly as transcribed, the score to beat; both stock Qwen models do worse than that on word error rate. Measured October 27, 2026 on a Mac with Apple M5 and 24 GB of memory.

Smart formatting

1,200 formatting examples · 7 kinds of speech · six models, and the text left unformatted for reference. Lower is better.

  • Kanso Satori 1.0New0.43%
  • Kanso Koi 1.0New0.97%
  • Kanso Koi 0.92.06%
  • No formatting (reference)21.14%
  • Qwen3-1.7B (stock)29.12%
  • Kanso Satori 0.934.78%
  • Qwen3-4B Instruct (stock)53.54%

Formatting WER by category

Word error rate on each kind of speech, same 1,200 examples. Lower is better. The pill is Koi 1.0 against its stock base, Qwen3-1.7B.

  • Koi 1.0
  • Koi 0.9 (previous)
  • Qwen3-1.7B (stock base)
  • All dictations

    1,200 examples

    0.97%

    Koi 1.0

    −28.2 pts
    1.0%
    2.1%
    29.1%
  • Filler words

    200 examples

    0.30%

    Koi 1.0

    −3.08 pts
    0.3%
    0.4%
    3.4%
  • Heavy fillers & restarts

    200 examples

    0.31%

    Koi 1.0

    −18.1 pts
    0.3%
    0.5%
    18.4%
  • Numbers, money & dates

    250 examples

    3.36%

    Koi 1.0

    −57.0 pts
    3.4%
    7.8%
    60.3%
  • Questions

    150 examples

    0.00%

    Koi 1.0

    −74.0 pts
    0.0%
    0.1%
    74.0%
  • Short fragments

    100 examples

    0.93%

    Koi 1.0

    −4.22 pts
    0.9%
    0.5%
    5.2%
  • Run-on sentences

    150 examples

    0.32%

    Koi 1.0

    −24.1 pts
    0.3%
    0.6%
    24.4%
  • Exclamations

    150 examples

    0.41%

    Koi 1.0

    −1.14 pts
    0.4%
    1.1%
    1.5%

An error rate above 100% means a model wrote more words than were said. That happens when a model answers a dictated question instead of writing it down: Satori 0.9 did this on some questions (204.8%) and Qwen3-4B more often (293.7%). Koi 1.0 and Satori 1.0 wrote every question down.

Where the gains are

Word error rate per kind of speech for Kanso Koi 1.0, its stock base and the release it replaces
CategoryQwen3-1.7B (stock base)Koi 0.9 (previous)Kanso Koi 1.0vs stock basevs Koi 0.9
All dictations29.12%2.06%0.97%−28.2 pts−1.09 pts
Filler words3.38%0.43%0.30%−3.08 pts−0.13 pts
Heavy fillers & restarts18.41%0.49%0.31%−18.1 pts−0.18 pts
Numbers, money & dates60.32%7.85%3.36%−57.0 pts−4.49 pts
Questions74.02%0.11%0.00%−74.0 pts−0.11 pts
Short fragments5.15%0.50%0.93%−4.22 pts+0.43 pts
Run-on sentences24.40%0.63%0.32%−24.1 pts−0.31 pts
Exclamations1.55%1.13%0.41%−1.14 pts−0.72 pts

Word error rate for each kind of speech; lower is better. The last two columns show the change in percentage points against the stock model the release was trained from, and against the version it replaces.

It leaves clean text alone

Some sentences are already ready to send. We test those separately, with the original text as the reference, so the best a model can do is change nothing.

300 already-clean examples, evaluated separately from formatting
ModelWord error rate ↓Added content ↓Left exactly as written ↑
Kanso Koi 1.00.11%0.03%98.3%
Kanso Satori 1.00.17%0.00%98.7%
Kanso Koi 0.90.18%0.03%97.7%
Kanso Satori 0.93.84%0.21%74.0%
Qwen3-1.7B (stock)1.56%0.00%93.3%
Qwen3-4B Instruct (stock)0.96%0.03%90.0%

300 sentences that were already clean, scored separately from the formatting results. Lower is better in the first two columns; the last counts sentences left exactly as written.

How we measured

Kanso Dictation Bench v1 is public, so every number on this page can be checked: the examples, the scorer, the exact model versions and every answer each model gave.

What’s tested
1,500 English examples: 1,200 dictations to format across seven kinds of speech, and 300 sentences that are already clean. They run from 2 to 48 words, typically 14. It’s text only, no audio, so it measures Kanso’s step rather than speech recognition.
Where the examples come from
1,150 are adapted from two public Hugging Face datasets, smoltalk and everyday-conversations. The 350 number, date and short-fragment cases are written by us. Sources, licences and every change are published with the data.
How each model runs
Every model gets the same text and instructions through its own chat template, with deterministic decoding and thinking turned off. No request failed, and the 18 answers that hit the length limit still count in the scores.
How it’s scored
Each score is an average across examples. Word error rate counts words added, dropped or changed against the reference. Exact match needs the whole answer to be identical, so it’s stricter than “means the same”. The published results add 95% confidence intervals.
Kept apart from training
No exact or near matches with the 13 training and evaluation files we could check. The newest 86,524-example training file and the stock models’ own training data weren’t available to check. The examples are synthetic, so treat the scores as a fair comparison on one shared test.
Speed
50 dictations from the set, each run twice with the model order reversed, on a Mac with Apple M5 and 24 GB of memory using MLX 0.32.4. Load times reuse the system’s file cache, as a Mac normally would.

(03)

See it in action

Here is Kanso at work on recorded examples from the benchmark. Watch it edit what was said into what you meant to write: fillers and false starts go, punctuation and capitals arrive, and spoken numbers become figures.

You said

“it's a huge opportunity you know though i'll miss you”

Kanso Koi 1.0

It's a huge opportunity, though I'll miss you.

Example 1 of 5

Recorded outputs from Kanso Dictation Bench v1, chosen for clear edits; every prediction is public. Struck-through words are the ones Kanso removed or rewrote. The typing shows what changed, not how fast. Hover to pause.

(04)

Speed and size

A typical dictation is a sentence or two. Koi 1.0 formats it in about 0.35 seconds and peaks at 1.27 GB of model memory. Satori 1.0 takes 0.47 seconds and 2.61 GB for the extra accuracy.

Speed and size

Measured on a Mac with Apple M5 and 24 GB of memory. Lower is better.

  • Qwen3-1.7B (stock)0.28 s
  • Kanso Koi 1.0New0.35 s
  • Kanso Koi 0.90.46 s
  • Kanso Satori 1.0New0.47 s
  • Kanso Satori 0.90.48 s
  • Qwen3-4B Instruct (stock)0.52 s
Speed and memory for each model, measured on a Mac with Apple M5 and 24 GB of memory
ModelPer dictationp95First tokenLoad + first requestOutput speedPeak memoryDownload
Kanso Koi 1.00.35 s0.65 s0.16 s0.72 s82 tok/s1.27 GB1.05 GB
Kanso Satori 1.00.47 s1.01 s0.18 s0.99 s53 tok/s2.61 GB2.27 GB
Kanso Koi 0.90.46 s0.93 s0.18 s0.83 s56 tok/s1.84 GB1.55 GB
Kanso Satori 0.90.48 s0.98 s0.18 s1.62 s52 tok/s2.60 GB2.27 GB
Qwen3-1.7B (stock)0.28 s0.49 s0.14 s0.58 s117 tok/s1.31 GB0.98 GB
Qwen3-4B Instruct (stock)0.52 s1.33 s0.18 s0.94 s52 tok/s2.60 GB2.28 GB

Each model formatted the same 50 dictations twice, on a Mac with Apple M5 and 24 GB of memory. Per dictation and first token are typical (median) times; p95 means 95% of dictations finished within that time. Load + first request is how long it takes to load the model and format the first dictation. Peak memory is what the model itself uses, not the whole app.

(05)

How it's built

Kanso is built for one job: turning a spoken draft into writing that still sounds like its author. We start with open base models, teach that behavior, then choose the packaging that works best on a Mac.

01

Start with capable foundations.

Koi starts from Qwen3-1.7B. Satori starts from Qwen3-4B-Instruct-2507. Each model keeps its own tokenizer, chat template, and pinned download revision. The benchmark uses those templates with a common formatting instruction.

02

Teach the details of dictated writing.

The current releases use the same 86,524-pair training split, drawn from a ten-source corpus. The mix covers dictation cleanup, conversational disfluencies, questions, spoken money and dates, expressive punctuation, and examples that should stay unchanged. LoRA fine-tuning uses rank 32 and alpha 64; Satori trains across all 36 of its layers.

03

Package each model for its strengths.

Koi keeps its adapter live on a clean 4-bit base, with the adapter stored in bf16. Its complete download is about 1.05 GB. Satori merges its adapter into bf16 weights, then uses distilled weight quantization to tune a 4-bit bundle against the larger model’s token distributions. It downloads about 2.27 GB and needs no separate adapter.

04

Measure the model and the product separately.

The public comparison measures each model’s answer. ZenVoice adds its own deterministic formatting rules, content checks, and sentence-aligned handling of long dictations. Those product behaviors are separate from the model-only scores shown here.

05

Keep inference on your Mac.

ZenVoice verifies its pinned model files with SHA-256 before loading them. Once downloaded, formatting runs in process through MLX. Your dictation never needs a cloud formatting request.

Production bundle specifications
SpecificationKanso Koi 1.0Kanso Satori 1.0
Base modelQwen3-1.7BQwen3-4B-Instruct-2507
Parameters1.7B4B
Format4-bit base + live LoRA4-bit DWQ
Download1.05 GB2.27 GB
LoRA rank / alpha32 / 6432 / 64
Dropout0.050.05
Learning rateCosine, 10⁻⁴ → 10⁻⁶Cosine, 10⁻⁴ → 10⁻⁶
Training layers2836
Iterations / batch3,500 / 23,500 / 2
Maximum training sequence1,024 tokens1,024 tokens
LicenceApache-2.0Apache-2.0
RuntimeMLX · Apple SiliconMLX · Apple Silicon

What Kanso learned from

Koi 1.0 and Satori 1.0 train on the same 86,524 examples from ten sources. The public benchmark was built separately from this data.

Ten sources

Dictation

  • Relabeled dictation and speech-recognition pairs
  • DisfluencySpeech and English disfluency data

Transcribed speech

  • Hansard parliamentary speeches
  • STEMM podcast transcripts
  • Company earnings calls
  • FOMC meeting transcripts

Questions and dialogue

  • QuAC conversational questions
  • Project Gutenberg dialogue

Formatting and tone

  • BudgieScribe formatting generators
  • GoEmotions expressive messages

What the mix teaches

  1. 01Keep ordinary words exactly as said
  2. 02Remove real fillers, but keep a “like” that carries meaning
  3. 03Write money, dates and times the same way every time
  4. 04Keep the punctuation that carries tone, like an exclamation
  5. 05Leave text that’s already finished alone
Release-specific recipes and files are on the Koi model card ↗ and the Satori model card ↗.

(06)

Availability

Choose Kanso in ZenVoice under Models → Formatting models. Download the model once, then use it offline. Both models and their model cards are also on Hugging Face.

The everyday choice

Kanso Koi 1.0

1.05 GB · 4-bit base + live LoRA · Apple Silicon

Room for more precision

Kanso Satori 1.0

2.27 GB · 4-bit DWQ · Apple Silicon

Ask AI about this pageChatGPT ↗Claude ↗Perplexity ↗Grok ↗Markdown