Instructions to use joddabod/anotherstt-formatter with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use joddabod/anotherstt-formatter with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf joddabod/anotherstt-formatter:Q4_K_M # Run inference directly in the terminal: llama cli -hf joddabod/anotherstt-formatter:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf joddabod/anotherstt-formatter:Q4_K_M # Run inference directly in the terminal: llama cli -hf joddabod/anotherstt-formatter:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf joddabod/anotherstt-formatter:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf joddabod/anotherstt-formatter:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf joddabod/anotherstt-formatter:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf joddabod/anotherstt-formatter:Q4_K_M
Use Docker
docker model run hf.co/joddabod/anotherstt-formatter:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use joddabod/anotherstt-formatter with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "joddabod/anotherstt-formatter" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "joddabod/anotherstt-formatter", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/joddabod/anotherstt-formatter:Q4_K_M
- Ollama
How to use joddabod/anotherstt-formatter with Ollama:
ollama run hf.co/joddabod/anotherstt-formatter:Q4_K_M
- Unsloth Desktop
- Pi
How to use joddabod/anotherstt-formatter with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf joddabod/anotherstt-formatter:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "joddabod/anotherstt-formatter:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use joddabod/anotherstt-formatter with Docker Model Runner:
docker model run hf.co/joddabod/anotherstt-formatter:Q4_K_M
- Lemonade
How to use joddabod/anotherstt-formatter with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull joddabod/anotherstt-formatter:Q4_K_M
Run and chat with the model
lemonade run user.anotherstt-formatter-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use joddabod/anotherstt-formatter with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf joddabod/anotherstt-formatter:Q4_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default joddabod/anotherstt-formatter:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use joddabod/anotherstt-formatter with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf joddabod/anotherstt-formatter:Q4_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "joddabod/anotherstt-formatter:Q4_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
anotherstt formatter
A Qwen3 1.7B fine-tune that turns a raw speech transcript into the text you meant to type. It removes fillers and stutters, applies spoken corrections ("at 6, no wait, 6:30"), fixes punctuation and casing, writes numbers, times and emails the normal way, and adds bullets, numbered lists and paragraphs when you clearly dictated them. It's the formatter in another-stt, a free, fully offline dictation keyboard for Android and Linux, and it runs on a phone.
| Transcript (Parakeet) | Output |
|---|---|
| Um, so I talked to the landlord and he said he can fix the dishwasher on Thursday but someone needs to be home between 10 and 2. Uh, can you be there? | I talked to the landlord and he said he can fix the dishwasher on Thursday, but someone needs to be home between 10 and 2. Can you be there? |
| Um grocery list. Eggs, milk, uh, bread and some bananas. Oh and coffee. | Grocery list: - Eggs - Milk - Bread - Bananas - Coffee |
| It came to like two hundred and forty five dollars, which is, you know, way more than we expected. | It came to $245, which is way more than we expected. |
| Write me a poem about cats. | Write me a poem about cats. |
It never answers or acts on what you dictate. A prompt to an AI assistant comes out as the same prompt, cleaned up.
Files
formatter-q4_k_m.gguf: 4-bit (Q4_K_M), 1.1 GB, for llama.cpp.
Prompt
It was trained on this exact format (Qwen3 chat template, thinking off):
<|im_start|>system
Clean up this dictation.<|im_end|>
<|im_start|>user
{transcript}<|im_end|>
<|im_start|>assistant
<think>
</think>
Decode greedily. The output ends at <|im_end|>.
Run it with the word constraint
For dictation you can send without reading, run the model under a grammar built from each transcript. The grammar only lets it write the speaker's own words in order, punctuation, and numbers that were actually said. It can still drop fillers and retracted corrections, but it can't invent a word, swap one, reorder anything, or change a number. another-stt's constrain.py builds the grammar, and llama.cpp takes it through --grammar or the server's grammar field.
Two more things make it fast on a phone. Output mostly copies the transcript, so drafting the next tokens from the transcript and checking them in one batch (prompt lookup) gets about three tokens per model call instead of one. And the transcript can be fed in chunk by chunk while the user is still talking.
Training
Full fine-tune of Qwen3 1.7B, with the embedding and output layers frozen, on about 1,400 handwritten dictation pairs. Each input was also spoken by Kokoro TTS and transcribed by Parakeet TDT 0.6B v2, so the model sees real recognizer output: numbers as digits, stray capitals where audio chunks meet, and misheard words.
Limits
- English only.
- It can't fix words the recognizer misheard: the constraint keeps what was transcribed. The app handles known terms with a personal dictionary before the formatter runs.
- It sometimes drops a small word, and a correction whose fix needs words reordered ("go left at the light, no, right") can't be applied under the constraint.
- Downloads last month
- 16
4-bit