Vellum Deutsch Lokal

Vellum Deutsch Lokal is the PJ Labs offline model package used by the Vellum macOS dictation app. It contains a local German speech-recognition component and an optional local German text-correction component in ONNX format.

The package is designed for local use. After download and hash verification, Vellum runs dictation and optional correction on the user's Mac.

Components

Component Required Purpose Format
speech-recognition Yes Converts speech to German text locally ONNX
correction-t5-onnx No Corrects recognized German text locally when enabled ONNX T5 encoder/decoder, locally fine-tuned

Correction component: fine-tuning and post-training

The correction component is not used as shipped upstream. PJ Labs fine-tuned and post-trained it locally, and this repository now carries that adapted model.

Base model: oliverguhr/spelling-correction-german-base (Apache-2.0). The component keeps the T5 encoder-decoder architecture, the ONNX layout, and the prompt format of the app (correct: followed by the text to correct).

What was done:

  1. Continued training from the previously published adaptation on publishable German correction pairs, so that existing domain vocabulary stays intact.
  2. Vocabulary extension. The inherited vocabulary had no upper-case umlaut pieces. Words such as Änderung or Öl were therefore split into an unknown token plus a fragment, and the model could not reproduce the letter at all. Eleven pieces were appended (Ä, Ö, Än, Äu, Ös, Öl, Öff, Änd, Üb, Übe, Über), which raises the vocabulary from 32100 to 32111 entries. Existing token ids are unchanged.
  3. Post-training round for these pieces. A dense data set of German sentence pairs in which every target contains a word starting with an upper-case umlaut, with dictation-like inputs: dropped umlauts, swapped umlauts, missing commas, missing sentence punctuation, lower-case sentence start, wrong article and wrong case. Targets always stay correct German.
  4. Tokenizer segmentation fix in the app-side encoder: best-scoring (Viterbi) segmentation instead of greedy longest-piece matching, so that inference segments text exactly like training did.

The training data is publishable synthetic German material and previously published pairs. No private voice memos, no private transcripts, and no private user correction dictionaries were used.

Measured effect

Evaluation on a held-out set of 200 German sentences (umlaut-weighted, mixed publishable and synthetic), greedy decoding with the app prompt prefix:

Metric Before this adaptation After this adaptation
Exact match 0.357 0.930
Mean character accuracy 0.718 0.959
Output containing an unknown token 0.191 0.000
Output containing an invented word 0.452 0.045
Umlaut word retained 0.589 0.979
Comma agreement with target 0.930 0.958
Output losing letters against target 0.246 0.030

Examples from the acceptance set (input -> output):

Input Output
öl brauchen wir heute Öl brauchen wir heute.
die äußerungen fehlen Die Äußerungen fehlen.
änderung ist wichtig Änderung ist wichtig.
ich glaube dass du recht hast Ich glaube, dass du recht hast.
wir brauchen milch eier brot und kaffee Wir brauchen Milch, Eier, Brot und Kaffee.
ich habe gestern ein brief geschrieben Ich habe gestern einen Brief geschrieben.

Known limitations

  • Single letters can still be lost in long umlaut words. The app refuses such a correction and leaves the user text untouched, so this shows up as "no change" rather than as damaged text.
  • Capitalisation of nouns inside a sentence is left to the model and is not always corrected.
  • Case and article corrections are improved but not complete.
  • The correction component is a spelling-and-form aid, not a grammar authority.

Integrity

manifest.json lists every artifact with its byte size, SHA-256 digest, and source URL. Verify a downloaded copy with:

python3 scripts/validate_artifact_manifest.py <path-to-downloaded-repository>

Vellum verifies the same digests before it uses a component, and it validates the correction component against the file list belonging to its directory, so a locally adapted model is not rejected by the published hashes.

Privacy

This public package does not contain private voice memos, private transcripts, user dictionaries, or private training examples. User-specific correction rules in the Vellum app stay local on the user's Mac and are not part of this repository. Corrections run on the user's machine only.

Status

Experimental. The package is suitable for local Vellum integration tests and early offline use. It is not a clinical, legal, or guaranteed transcription system.

Attribution and licenses

See NOTICE.md for model lineage and license notes.

Included license texts

This repository includes the full license texts required by the packaged components:

  • LICENSE-CC-BY-4.0.txt for the speech-recognition lineage.
  • LICENSE-Apache-2.0.txt for the German text-correction lineage, which also applies to the local fine-tuning described above.
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for PJlabs/vellum-de-local

Quantized
(2)
this model