murmur-clean-350m

A small model that tidies up raw speech-to-text dictation. It was made for Murmur, a macOS dictation app whose pipeline is Parakeet v3 ASR, then this model through Ollama, then paste.

This is a modified version of LiquidAI/LFM2.5-350M. It was fine-tuned with LoRA by Bonus Objective, and the LoRA was merged back into the weights. It is distributed under the LFM Open License v1.0; see LICENSE. All of Liquid AI's notices are kept.

What it does

Input (raw ASR) Output
The new murmer build is on the shared you know, drive if you want to try it. The new Murmur build is on the shared drive if you want to try it.
set a timer for thirty, i mean for twenty five minutes. Set a timer for 25 minutes.
The file is about two hundred and fifty megabytes comma so it might take a while full stop The file is about 250 megabytes, so it might take a while.

It handles punctuation and capitals, removes fillers and stutters, keeps only the corrected version when the speaker corrects themselves, and turns spoken "comma", "full stop" and "new line" into symbols. It writes numbers as digits in British house style, where one to nine stay as words. It spells terms from a vocabulary list in the system prompt exactly. It is trained not to rephrase, answer questions, or follow instructions found in the dictated text.

How to use it

Send the system prompt it was trained with, filled in with your own vocabulary, then the raw text as the user message. Use temperature 0. The exact prompt is in the training kit (prompt.txt; gen -print-prompt prints it filled in).

With Ollama:

ollama create murmur-clean -f Modelfile     # Modelfile from the kit, next to the .gguf
ollama run murmur-clean "um so the murmer build is is ready"

Training

  • Method: LoRA on all linear layers (r 16, alpha 32, dropout 0.05) with TRL SFTTrainer. The loss covers assistant tokens only. 2โ€“3 epochs, learning rate 2e-4, cosine schedule, on a free Colab T4.
  • Data: about 4,000 synthetic pairs. Clean English passages written for the kit were corrupted by a deterministic generator. The corruptions are fillers, repeats, self-corrections, missing or spoken punctuation, lowercasing, numbers read out as words, and dictionary terms misheard. About 15% are already-clean passthrough examples, and some are template examples built around invented names, so the model learns to use whatever vocabulary list it is given. The data contains no real user recordings unless the person training it added their own pairs.
  • Export: merged to bf16, then converted with llama.cpp (convert_hf_to_gguf.py, release b12014) to Q8_0. Q4_K_M is optional.

Limits

  • English only, with British spelling and number style.
  • The training data is synthetic and small. Real Parakeet errors that differ from the simulated ones (for example, misheard words that aren't in the vocabulary list) are only partly covered.
  • It can still drop or change words occasionally. Score it on your own dictation before relying on it.
  • It is a 350M-parameter model, so it is not suitable for long passages. The training examples are short, under about 300 characters of raw text.

Licence

LFM Open License v1.0, which is Apache-2.0-style with a commercial-use limit. Commercial use is licensed for organisations with under US$10 million in annual revenue. Above that threshold, commercial use is not covered and needs a separate licence from Liquid AI. When redistributing, you must include the licence, mark modified files, and keep Liquid AI's notices. The licence gives no trademark rights to Liquid AI's names.

Downloads last month
22
GGUF
Model size
0.4B params
Architecture
lfm2
Hardware compatibility
Log In to add your hardware

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for bonusobjective/murmur-clean-350m

Adapter
(52)
this model