Klang Pianissimo for Danish: CoreML

CoreML versions of Klang Pianissimo for Danish, our Danish speech recognition model, for Macs, iPhones and iPads with Apple silicon. They run on the Neural Engine with FluidAudio, in the same folder layout as FluidAudio's own Parakeet v3 model.

Versions

Folder Encoder weights Encoder size FLEURS (200 clips) Speed, Neural Engine
Original fp32 (ONNX on Linux) fp32 6.5
/ (top level, recommended) 8-bit palettized 567 MB 6.9 183ร—
fp16/ fp16 1.1 GB 7.0 174ร—
Stock Parakeet v3 (FluidInference), for comparison 434 MB 18.6 180ร—

Word error rate (WER, %) on 200 Danish FLEURS test clips, lowercased with punctuation removed; lower is better. Speed is audio duration divided by processing time (RTFx) over these 200 clips (38 minutes) on an Apple M5 (MacBook Pro, 24 GB) with the models already loaded. First load, including compilation for the Neural Engine, takes about 7 seconds (8-bit) or 9 seconds (fp16).

The 8-bit version is as fast as stock Parakeet v3 and makes far fewer errors on Danish. Both versions produce slightly different transcripts from the original on about a quarter of the clips. CPU-only inference produces the same results as the Neural Engine.

Usage

Download the repository:

hf download KlangAI/pianissimo-da-coreml --local-dir pianissimo-da-coreml

Add FluidAudio to your Swift package, then load the folder as a local Parakeet v3 model and transcribe an audio file:

import FluidAudio

let folder = URL(fileURLWithPath: "pianissimo-da-coreml")  // or "pianissimo-da-coreml/fp16"
let models = try AsrModels.loadLocal(from: folder, version: .v3)
let asr = AsrManager()
try await asr.loadModels(models)

var state = try TdtDecoderState()
let result = try await asr.transcribe(URL(fileURLWithPath: "audio.wav"), decoderState: &state)
print(result.text)

FluidAudio splits long recordings automatically.

How they were made

Converted from the released checkpoint with coremltools to CoreML packages, then compiled on a Mac. The encoder, decoder and joint network are Pianissimo-da's; they have the same inputs and outputs as FluidAudio's Parakeet v3 files (Encoder, Decoder and JointDecisionv3). Preprocessor.mlmodelc, config.json and the two vocabulary files are FluidInference's unchanged Parakeet v3 files (CC BY 4.0): Pianissimo keeps v3's audio features and tokenizer.

In the 8-bit version, the encoder's weights are palettized to 256 values per layer with k-means. Tested with FluidAudio commit 1b0ed50d on macOS 26.7.2.

License and citation

Released under CC BY 4.0, like the original model.

@misc{klang2026pianissimoda,
  title = {Klang Pianissimo for Danish},
  author = {{Klang}},
  year = {2026},
  howpublished = {Hugging Face model repository},
  url = {https://huggingface.co/KlangAI/pianissimo-da}
}
Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for KlangAI/pianissimo-da-coreml

Quantized
(5)
this model