Docs • Spokenly app • Main page • GGUF version • License
Spokenly Cleanup 1
This repository has the Core ML version of Spokenly Cleanup 1, a small language model that cleans up dictated text on the device. Spokenly, a dictation app, runs it for Local Model Cleanup on the Mac. On Windows and Linux the app runs the GGUF version: spokenly/cleanup-1-gguf.
The model turns um so i think we should uh meet on friday at three pm into I think we should meet on Friday at 3 pm. More examples, the prompt format, the languages and the training data are on the main page.
Files
| File | Contents |
|---|---|
CleanupNeuralEngine.mlmodelc |
The compiled Core ML model, 756 MB |
tokenizer.json |
Base model tokenizer |
Model details
| Property | Value |
|---|---|
| Base model | Qwen3-0.6B-Base, 0.6 B parameters |
| Fine-tuning | LoRA on all layers (rank 32), merged into the weights |
| Format | Core ML ML Program for the Neural Engine. It has one function for each attention window: window512, window2048 and window4096. The key and value caches are a state that the model reads; each call returns the cache rows of its tokens, and the caller writes them into the state. The layer weights have 8 bits (linear quantization per output channel), the token table and the computation are Float16 |
| Context | 4,096 tokens for the prompt and the answer together |
| Decoding | Greedy |
| Speed | About 210 tokens per second on an M4 Pro for short texts and 120 for texts of several hundred words. A dictation of one or two sentences takes 0.1 to 0.2 seconds |
| Memory | About 0.6 GB while the model is loaded for short texts, up to 1 GB for the longest texts |
Run the model on the Neural Engine (cpuAndNeuralEngine). The first load of a function compiles it for the Neural Engine, which takes about 8 seconds on an M4 Pro. macOS keeps the result, and later loads take about 0.2 seconds. On the CPU alone the model gives about 110 tokens per second.
How to use
The model works inside Spokenly on a Mac with Apple silicon and macOS 15 or later. Open Settings > Text Handling > Local Model Cleanup and switch on Clean up text with local model. Spokenly downloads the model once. See the documentation.

