Underdog Bark 3.0 Clean β ONNX (for Akoway)
An ONNX conversion of ConwayResearch/Underdog-Bark-3.0-Clean by Conway Research, used by Akoway, a free offline voice keyboard for Windows. Bark 3.0 Clean transcribes and tidies at the same time: it drops "um", "uh", filler phrases, false starts and repeated words. The app downloads these files on first use and runs them on the CPU with ONNX Runtime.
Files
Every file except the licence notice is Brotli-compressed (.br, quality 11): 242 MB to download, 705 MB unpacked.
| file | unpacked | what it does |
|---|---|---|
preprocessor.onnx.br |
1.2 MB | 16 kHz waveform β normalized 128-bin log-mel features (same maths as ParakeetFeatureExtractor) |
encoder.int8.onnx.br |
634 MB | FastConformer encoder + encoder projector. Linear layers run as MatMulNBits (8-bit weights, fp32 activations); pointwise convs are int8 with per-channel scales |
decoder.onnx.br |
49 MB | LSTM prediction network, one token per call |
joiner.onnx.br |
21 MB | joint network β 8193 token logits + 5 duration logits (TDT) |
tokens.txt.br |
94 KB | SentencePiece vocabulary, blank last |
Decoding is greedy TDT with no leading silence, as Bark 3.0 Clean was evaluated.
A reference implementation is in Akoway's tools/bark-onnx/compare_onnx.py.
How the weights are stored
The published model.bark keeps only a few values per row of each large matrix (5, or 7 for four layers).
This conversion gives every row its own 8-bit scale chosen so those values land on the grid, so the weights
match the original to within fp16 rounding. Activations are not quantized: quantizing them (standard
dynamic int8) changed 11 of 74 test transcripts.
Accuracy
74 LibriSpeech clean clips plus one noisy dictation recording, CPU, against the transformers model
unpacked by Underdog's bark_loader.py:
| identical transcripts | WER vs LibriSpeech references | |
|---|---|---|
bark_loader.py reference |
β | 4.43 % |
| these ONNX files (Python and C#) | 74 / 74 | 4.43 % |
fast/: for phones (Akoway for Android)
The same files, except that every MatMulNBits node in the encoder has accuracy_level=4: the stored
weights are identical, but ONNX Runtime quantizes the activations to 8 bits blockwise instead of unpacking
the weights to fp32 on every call. On a Pixel 6 Pro this cuts the encoder from about 4.0 s to 1.2 s per
10 s of speech, and a short dictation from 2.2 s to 0.4 s. 70 of the 74 test transcripts are identical to
the files above; the other four differ only in a comma or a capital letter. Same 242 MB download.
License and attribution
CC-BY-4.0, as the source. Underdog Bark 3.0 Clean is by Conway Research; it derives from
nvidia/parakeet-tdt-0.6b-v3 (NVIDIA), moondream/parakeet-ultra (Moondream) and Underdog Bark 3.0 Plus.
See LICENSE-NOTICE.txt. Changes in this repository: conversion to ONNX, audio preprocessing exported
as a graph, per-row 8-bit storage of the encoder weights, Brotli compression.
Model tree for codingSalafi/akoway-bark-3.0-clean-onnx
Base model
nvidia/parakeet-tdt-0.6b-v3