Flix Swiss German for WhisperKit (Core ML, 8-bit: half the size, twice the speed)

Flix-AI/flix-swissgerman-full converted to the Core ML format that WhisperKit loads on Apple silicon. It transcribes Swiss German dialect speech into Standard German text. The weights are the original fine-tune, palettized to 8 bit; nothing was retrained.

Why 8 bit: 1.5 GB instead of 2.9 GB, and about twice as fast as the 16-bit conversion on the same Mac, with the same words on clear speech in our tests. Details under "How it was made".

Published by Spert for Seduta, a meeting recorder that transcribes on the device.

Use

let folder = try await WhisperKit.download(variant: "flix-swissgerman-large-v3_8bit", from: "spert/flix-swissgerman-whisperkit")
let whisper = try await WhisperKit(WhisperKitConfig(modelFolder: folder.path))
let result = try await whisper.transcribe(audioPath: "meeting.wav", decodeOptions: DecodingOptions(language: "de", wordTimestamps: true))
Folder flix-swissgerman-large-v3_8bit
Size 1.5 GB
Base OpenAI Whisper large-v3, 1.55 B parameters, 32 decoder layers
Speed about 3× real time on an M4 with 16 GB; the 16-bit conversion took twice as long on the same file
Runs on Apple silicon Macs; tested on macOS 26. Too large for iPhone.

How it was made

whisperkittools for the decoder, coremltools k-means palettization for the encoder, both 8 bit per tensor. Against the 16-bit conversion the 8-bit encoder measures PSNR 48.8 and correlation 0.995 on real speech, and clear passages transcribe word for word the same. Uniform 4 bit was tried and rejected: it garbles words. The conversion script is in the Seduta repository under build/swissgerman-convert.sh. One thing worth knowing if you convert the model yourself: the fine-tune's config.json has use_cache: false, which makes whisperkittools' correctness test fail although the weights convert fine; set it to true.

Limits

As the original: proper nouns are often misspelled, output follows subtitle conventions rather than verbatim speech, and the model can repeat a phrase or emit a subtitle credit on silence. Tell it the language is German.

Credits and licence

  • Fine-tune: Felix Akeret, Flix-AI, paper, Apache 2.0.
  • Base model: OpenAI Whisper large-v3, MIT.
  • Runtime and conversion tools: Argmax WhisperKit and whisperkittools, MIT. Apple coremltools, BSD-3.

This conversion is released under Apache 2.0, see LICENSE. Changes from the original: converted to Core ML and palettized to 8 bit.

Downloads last month
24
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for spert/flix-swissgerman-whisperkit

Finetuned
(1)
this model

Paper for spert/flix-swissgerman-whisperkit