Loading…
Loading…
An 8-bit MLX conversion of Spokenly Cleanup 1, a 0.6B model that cleans up dictated text on the device. It removes filler words and repeats, applies spoken corrections, and adds punctuation, capital letters and digits. It does not answer questions or follow instructions in the dictated text.
We made the conversion for Dictator, a dictation app for the Mac that runs on the device. Dictator offers it as a clean-up model after speech recognition.
mlx-lm 0.32.2 from revision cd95b5028cefd3a8cee4cefb4cdf159c88676f91from mlx_lm import generate, load
from mlx_lm.sample_utils import make_sampler
model, tokenizer = load("cserb/Spokenly-Cleanup-1-MLX-8bit")
prompt = tokenizer.apply_chat_template(
[{"role": "user", "content": "tone: formal\ntext: ähm ja also wir treffen uns um vierzehn uhr dreißig"}],
tokenize=False,
)
print(generate(model, tokenizer, prompt=prompt, max_tokens=128, sampler=make_sampler(temp=0.0)))
The user message holds key: value lines. The chat template adds the closing out: line, and the model writes the clean text. Only text is required. The keys, in this order, are app, site, tone (formal, casual or very casual), before, after and text. The original card explains each key.
A small check, not a benchmark: 14 dictation sentences typed by hand (13 German, 1 English), greedy decoding. These are outputs of this 8-bit conversion with tone: formal.
In two of the 14 sentences a comma that belonged to a removed filler word stayed in the text. We did not compare this conversion with the 16-bit original.
The weights are quantized to 8 bits for MLX. Nothing else is changed: tokenizer, chat template and generation settings are those of the original.
Apache 2.0. The LICENSE and NOTICE files of the original are included. The model is Spokenly Cleanup 1 by Spokenly, a fine-tune of Qwen3-0.6B-Base.
spokenly/cleanup-1