BuildNot yet confirmed elsewhere1 publisher3 min readPublished
Cactus Compute fits a 16.9MB speech model into the CPU runtime it built for tool calling
Cactus Compute released Whistle, an open 16.9MB speech-to-text model that runs on a CPU in the same Needle engine as its tool-calling language models. The accuracy and speed figures are the company's own, so they need rerunning on real devices and audio.
The Engineer · Build desk

What happened
- Cactus says a combined setup can pass an audio clip straight to a language model and get structured tool calls back, extending its Needle 2 work on low-cost devices.
- Whistle covers seven languages and transcribes up to 30 seconds of 16 kHz mono audio in one pass, returning word-level timestamps and probabilities.
- According to Cactus, low-volume silence and steady noise produce an empty transcript instead of a guessed sentence.
- Cactus reports word error rates of 4.31% on LibriSpeech test-clean and 10.49% on test-other, against 4.9% and 11.0% for Whisper base.
- On an Apple M4 Pro CPU, Cactus measured 11.1 ms to first token and 1,319 decoded tokens per second, against 73.2 ms and 266 for Whisper base.
Why it matters
- capability A team already on Needle can take spoken input to a structured device action on the device itself, shipping one engine and one model format.
- exposure Once transcripts drive tool calls, a sentence guessed from room noise becomes an action the user never asked for. Runtimewire says the launch material does not establish how reliably the features hold up across accents and noise.
- decision Choosing between Whistle and Whisper base turns on whether a product's audio resembles the three sets Whistle wins or the three it loses. Only a test on in-house recordings settles it.
- constraint Apps that capture more than 30 seconds at a time, such as dictation, need to split audio before each pass or confirm the runtime does it for them.
Whistle ships in Needle's .cact model container and runs on Needle's CPU inference engine [7]. A team already deploying one of Cactus's tool-calling models gets speech input without taking on a second runtime or model format [7]. According to Cactus, the engine builds for 17 platform targets, including RISC-V, MIPS, WebAssembly and WASI [16].
The model is an encoder-decoder [5]. A log-mel front end and a convolutional stem feed an eight-block audio encoder, and a decoder with gated cross-attention writes the text [5]. The company says the decoder can be loaded at different depths while the encoder always runs at full depth [6]. Trimming the decoder makes each token cheaper, but every clip still pays for the whole encoder pass [6]. The launch material does not say which decoder depth produced the published figures, or how long a ten-second clip takes from first sample to finished transcript.
On Cactus's figures, Whistle reaches its first token about 6.6 times sooner than Whisper base and decodes about five times faster [19][20]. The speed test used ten seconds of audio and reported time to first token separately from decoding [15]. I think reporting the two apart is correct for a model of this shape. The first number includes the encoder pass, and the second is decoder work alone.
Needle 2, the release Whistle builds on, was about running tool-calling models on low-cost devices [8]. For the speed ratios to carry over to cheaper hardware, both models would have to slow down by the same factor on a weaker CPU. The published timings cover one Apple M4 Pro, against 17 build targets [14][16].
Accuracy splits three sets each way among the head-to-head comparisons Cactus names [24]. Whistle takes both LibriSpeech sets and FLEURS, while the company's own benchmark page gives TED-LIUM, AMI and the MLS average to Whisper base [11]. The LibriSpeech margins are 0.59 and 0.51 points of word error rate [21][22]. A half-point lead transfers to a product only if its audio resembles LibriSpeech more than the sets Whisper base wins. On FLEURS the gap is wider, at 3.1 points [23].
The test design shows care. According to Cactus, its word-error runs span 86,174 utterances, and the company compared the test sets with the data Whistle was trained and validated on [13]. That contamination check is the first thing I'd ask any vendor about. Comparison models ran on their official runtimes with default settings, and published Whisper and Moonshine results were used where available [12]. Runtimewire's report notes that the figures remain company-reported [18].
For a voice-command feature on hardware a team already targets with Needle, I'd bench Whistle before Whisper base. Adding it means one more model in a container format the app already loads [7]. For recordings that look like TED-LIUM, AMI or MLS, Cactus's own table favours Whisper base [11].
What to watch
- An independent reproduction of Whistle's LibriSpeech and FLEURS word error rates, or of the M4 Pro speed figures.
- Published latency for Whistle on the low-cost and mobile targets that Needle 2 was built for.
- Measurements of the clip-to-tool-call pipeline end to end, including how often silence or noise triggers a spurious call.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence40
- Adoption
- Insufficient
- Hype gap+10
- Incentives60
- Confidence45
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
Cactus Compute released Whistle on October 2nd, an open speech-to-text model designed to run locally on a CPU.
ReportedSupportedSource: Runtimewire, citing Cactus Compute's technical launch postView cited source - [2]
At 16.9MB, Whistle is built to fit the same Needle runtime that Cactus Compute uses for small on-device language models.
- [3]
Whistle supports English, German, French, Spanish, Italian, Dutch and Polish; Cactus says it can transcribe a 16 kHz mono recording of up to 30 seconds in one pass and return word-level timestamps and probabilities.
- [4]
Cactus Compute says low-volume silence and steady noise return an empty transcript rather than a guessed sentence.
- [5]
Whistle uses a log-mel audio front end, a convolutional stem, an eight-block audio encoder and a decoder with gated cross-attention.
- [6]
Cactus Compute says the decoder can be loaded at different depths, while the audio encoder stays at full depth.
- [7]
Whistle shares Needle's .cact model container and CPU inference engine.
- [8]
Whistle builds on Cactus Compute's Needle 2 release, which focused on running tool-calling models on low-cost devices; Cactus says a combined setup can pass a clip directly to a language model and return structured tool calls.
- [9]
Cactus Compute reports Whistle at 4.31% word error rate on LibriSpeech test-clean and 10.49% on test-other, compared with 4.9% and 11.0% for Whisper base.
- [10]
Cactus Compute reports a 21.4 average on FLEURS for Whistle versus 24.5 for Whisper base.
- [11]
Cactus Compute's own benchmark page says Whisper base performs better on TED-LIUM, AMI and the MLS average.
- [12]
The comparisons use published results for Whisper and Moonshine where available, and Cactus says the models ran on their official runtimes with default settings.
- [13]
Cactus Compute reports that its word-error-rate tests cover 86,174 utterances and that it checked the test sets against Whistle's training and validation data.
- [14]
On an Apple M4 Pro CPU, Cactus Compute reports 11.1 milliseconds to first token and 1,319 decoded tokens per second for Whistle, against 73.2 milliseconds and 266 tokens per second for Whisper base.
- [15]
The speed comparison uses ten seconds of audio and separates time to first token from subsequent decoding.
- [16]
Cactus Compute says its engine ships for 17 platform targets, ranging from desktop and mobile systems to RISC-V, MIPS, WebAssembly and WASI.
- [17]
The launch material does not establish how reliably Whistle's features perform across real users, accents and noisy environments.
- [18]
Whistle's benchmark figures remain company-reported rather than an independent reproduction.
- [19]
Whistle's time to first token is about 6.6 times shorter than Whisper base's on the M4 Pro.
- [20]
Whistle decodes about five times as many tokens per second as Whisper base on the M4 Pro.
- [21]
Whistle's word error rate on LibriSpeech test-clean is 0.59 points below Whisper base's.
- [22]
Whistle's word error rate on LibriSpeech test-other is 0.51 points below Whisper base's.
- [23]
Whistle's FLEURS average is 3.1 points below Whisper base's.
- [24]
Among the head-to-head comparisons named, Whistle leads Whisper base on three sets (LibriSpeech test-clean, test-other, FLEURS) and Whisper base leads on three (TED-LIUM, AMI, MLS average).
Sources
1 independent publisher whose own reporting we read for this story.
- runtimewire.comCactus Compute releases a 16.9MB speech model for local CPUs
1 article · October 2, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.
Topics
- Speech Recognition BenchmarksFollow
- Edge AI and On-Device InferenceFollow
- On-device speech recognitionFollow