Underdog, the private personal AI assistant built by Conway, has released Woof, an English text-to-speech model that comes in two sizes: one voice in 31.7 MB and two voices in 40.6 MB. The one-voice model runs in the browser on Underdog's launch page, dated 26 October 2026. The two-voice model went up on Hugging Face on 5 November under a non-commercial licence.

TL;DR

  • What: a small English text-to-speech model, 24 kHz mono output, built to read phone numbers, dates, prices and codes on a laptop CPU.

  • Sizes: one voice (30.7M parameters, 31.7 MB, browser demo only) and two voices, Juno and Mira (38.2M parameters, 40.6 MB, downloadable).

  • Runtime: the two-voice model runs on Python with numpy only, no GPU, server or API key.

  • Licence: the downloadable weights ship under the Underdog Non-Commercial License 1.0. Commercial use needs a paid licence from Underdog.

  • Underdog's figures: 1.42% word error rate on Gradium's hard-sentence test set and 13.8x real time on one Apple M5 Max CPU thread (Juno voice).

  • Voice AI Space local test: on one thread of a base Apple M5, Woof ran at about 11x real time on its numpy runtime. Gradium's Phonon 31M ran at about 30x on its own Rust runtime, also on one thread.

Who is behind Woof

Underdog is a personal AI assistant for email, calendar, meeting notes and dictation that runs on the user's own computer. It is in an invite-only beta on Apple devices and Windows. The company behind it is Conway, which publishes its models on Hugging Face as ConwayResearch. That organisation also hosts Underdog's language models, some of which carry the Woof name (for example Underdog-Woof-4B). The text-to-speech model covered here is a separate release.

What Underdog released

Woof, one voice

Woof, two voices

Where

Browser demo on underdog.ai/woof

Hugging Face

Download

31.7 MB

40.6 MB (`woof_int8.npz`)

Parameters

30.7M

38.24M (22.95M speech model, 15.3M audio decoder)

Voices

1

2 (Juno, Mira)

Runtime

in-browser demo (benchmarked in PyTorch, int8 weights)

numpy

Source: Underdog launch page and Hugging Face model card. The one-voice model is not published as a download; Voice AI Space found no repository for it.

Woof reads text through a rule-based normalizer before speaking. It turns "020 7946 0018" into "zero two zero, seven nine four six, zero zero one eight", "14/03" into "the fourteenth of March" and "XK-4471" into "X K four four seven one", and respells hard names from a lexicon. Long sentences are split at punctuation. Each piece is checked as it is generated and drawn again, up to three more times, if it runs too long or contains a long silence. These steps are covered in more detail in the Voice AI Space explainer on how text-to-speech works.

The audio decoder is adapted from Kyutai's Mimi codec. Training data includes LibriTTS-R and Emilia-YODAS, according to the repository's NOTICE file.

How Woof is licensed

The weights on Hugging Face ship under a custom Underdog Non-Commercial License 1.0. The launch page describes the licence as CC BY-NC 4.0, but the licence file in the repository is Underdog's own. Its main terms:

  • Free for personal projects, research, teaching and non-profits, including publishing audio made with Woof.

  • Credit required: "Underdog Woof" or "underdog.ai" in the title or description of published audio, and "Voice by Underdog Woof" in any app that uses it.

  • Commercial use (paid products, ads, monetized video, company work) needs a commercial licence from Underdog.

  • No training: Woof and its audio may not be used to train, fine-tune or distill another speech or audio model.

Underdog's accuracy figures

Underdog tested Woof on Gradium TTS Hard Cases, 500 English sentences full of numbers, dates, prices, codes and URLs, published by Gradium in October. Underdog ran and scored every model itself: qwen3.8-omni-flash transcribed each clip and gemma-4-31b-it counted the word errors. Selected rows from its table:

Model

Runs

Download

Word error rate

Woof, two voices (Mira)

on device

40.6 MB

1.42%

Fish Audio Drama 3

open weights / cloud API

41.5 GB

1.89%

Woof, one voice

on device or browser

31.7 MB

2.06%

Phonon 31M

on device

55.1 MB (4-bit)

2.16%

Deepgram Aura-2

cloud API

not public

2.43%

Kokoro 82M

on device

327 MB

5.17%

Kitten Nano 0.8

on device

27.6 MB

9.81%

Source: Underdog-Woof model card, November 2026. All figures are Underdog's and have not been independently reproduced. Lower is better.

On these figures, the one-voice Woof and Phonon 31M are 0.1 points apart. Underdog reports the Juno voice at 1.53%. Kitten Nano 0.8 is the only model in the table with a smaller download. Underdog also cites a speed of 13.8x real time with 402 MB peak memory for the two-voice model (Juno) on one Apple M5 Max CPU thread, and 7.2x with 601 MB for the Mira voice.

Local test: speed and memory

Voice AI Space ran the downloadable models on one machine to check speed and memory. Setup: a base Apple M5 laptop (24 GB), one CPU thread per model, 25 English sentences with phone numbers, dates, prices, codes and times. Each model ran on its own official runtime: Woof on Python 3.12 with numpy 2.5, Phonon through its Rust runtime (ptts). This is a quick check, not a full benchmark. This is a different machine from the M5 Max that Underdog used, so the figures are not a direct replication of Underdog's.

Model

Download

Licence

Speed (x real time)

Peak memory

Phonon 31M (q8)

64.5 MB

Apache 2.0

about 30x

310 MB

Woof, two voices (Juno)

40.6 MB

Underdog Non-Commercial 1.0

about 11x

330 to 350 MB

Kokoro-82M

327 MB

Apache 2.0

4.4x

1.6 GB

Source: Voice AI Space test, 7 November 2026. Phonon 40M was not tested: it is gated on Hugging Face. Accuracy was not scored for publication; the word error rates above are Underdog's. Phonon 31M was tested in its 8-bit build (64.5 MB); Underdog's table uses the 4-bit build (55.1 MB).

Woof is the smallest download of the three. Phonon 31M ran nearly three times faster with similar peak memory, and its weights allow commercial use. Kokoro needed about five times the memory of either. For more on which voice components fit on local hardware, see the Voice AI Space explainer On-Device Voice AI: What Runs Locally.

Woof and Phonon side by side

Woof and Gradium's Phonon, released six days earlier on 20 October, are close in size: 30.7M and 38.2M parameters for Woof, 31M and 40M for Phonon. Both credit Kyutai's Mimi codec for their audio decoding. Their model files show different transformer shapes (Woof's speech model is 448 wide, Phonon's 512 wide), and Woof's repository makes no reference to Phonon beyond its benchmark comparisons.

Woof (two voices)

Phonon 31M

Released

26 October (page), 5 November (weights)

20 October

Languages

English

English (other Phonon 40M models cover FR, DE, ES, PT)

Built-in voices

2

37

Weights licence

Underdog Non-Commercial 1.0

Apache 2.0

Inference runtime

numpy (Python)

Rust, with Python, JavaScript/WebAssembly and Swift packages

Sources: Underdog-Woof and gradium/phonon-31m-en model cards; Voice AI Space Phonon article.

Use cases

Underdog positions Woof for voice assistants and phone agents that read structured data aloud, such as booking confirmations, order numbers and flight details, and for apps that need to speak on the device with no server in the loop. Under the licence, use through underdog.ai and Underdog's own apps is free. For where text-to-speech sits in an agent pipeline, see How Voice Agents Work: STT, LLM, TTS, WebRTC. Other recent compact speech releases covered on Voice AI Space include Edge0's Audio8 and Neuphonic's NeuTTS-2E.

Sources