Downloads · 30 days
53
41% of all-time downloads
aufklarer/MOSS-Transcribe-Diarize-0.9B-CoreML-INT8
MOSS-Transcribe-Diarize-0.9B-CoreML-INT8 is a automatic speech recognition model from aufklarer. Use it when you need speech turned into text. It is set up for coreml. The card lists the license as apache-2.0.
Core ML conversion of OpenMOSS-Team/MOSS-Transcribe-Diarize, pinned to revision e6d68cdfcddbdad1a7e8454f0cb859cad76e2502. The model produces timestamped, speaker-attributed text in the form [start][Sxx]text[end].
Downloads · 30 days
53
41% of all-time downloads
All-time downloads
129
Public
Repo size
1.3 GB
Likes
1
Trending 1
Click a slice to open those files.
.bin1.3 GB · 99%
From the Hugging Face model README
Core ML conversion of
OpenMOSS-Team/MOSS-Transcribe-Diarize, pinned to revision
e6d68cdfcddbdad1a7e8454f0cb859cad76e2502. The model produces timestamped, speaker-attributed text in
the form [start][Sxx]text[end].
| Property | Value |
|---|---|
| Parameters | 908,513,280 total: 312,463,360 audio/VQ + 596,049,920 text decoder |
| Architecture | 24-layer Whisper-medium encoder, 4x VQ adaptor, 28-layer Qwen3 decoder |
| Quantization | FP16 audio + symmetric linear INT8 block-32 decoder |
| Format | Compiled Core ML (.mlmodelc), macOS 15 / iOS 18 |
| Bundle size | 1.19 GiB |
| Audio | 16 kHz mono; non-overlapping 30-second encoder chunks |
| Output | Timestamps, anonymous speaker labels, transcription text |
| Context | The fixed 1024-token MLState cache covers at most about 1.4 minutes of raw audio before prompt/output tokens. |
| File | Size | Description |
|---|---|---|
added_tokens.json | 707 B | Additional token IDs |
audio_encoder.mlmodelc/ | 596.3 MiB | Compiled Whisper encoder and VQ adaptor |
chat_template.jinja | 4.7 KiB | Prompt and audio-placeholder template |
config.json | 844 B | Root loader metadata and download-counting query file |
decoder/config.json | 1.2 KiB | Decoder geometry, state cache, functions, and precision |
decoder/decoder.mlmodelc/ | 605.1 MiB | Compiled stateful Qwen3 decoder and tied embedding |
export_config.json | 1.4 KiB | Source revision, artifact hashes, and graph contract |
generation_config.json | 107 B | Greedy generation token defaults |
merges.txt | 1.6 MiB | Byte-pair merge rules |
preprocessor_config.json | 315 B | 16 kHz Whisper feature-extractor settings |
processing_moss_transcribe_diarize.py | 10.7 KiB | Upstream processor implementation |
processor_config.json | 292 B | Audio-token and timestamp-marker settings |
source_config.json | 2.3 KiB | Pinned upstream model geometry |
special_tokens_map.json | 613 B | Special token definitions |
tokenizer.json | 10.9 MiB | Qwen tokenizer vocabulary and rules |
tokenizer_config.json | 503 B | Tokenizer configuration |
validation.json | 2.3 KiB | Measured quality, speed, memory, and parity results |
vocab.json | 2.6 MiB | Byte-pair vocabulary |
Measured with greedy decoding on an Apple M5 Pro with 48 GB unified memory.
Word error rate (WER), character error rate (CER), and real-time factor (RTF)
are lower when better. Throughput is 1 / RTF, is higher when better, and
reports how many seconds of audio are processed per wall-clock second. RTF
excludes model loading. RSS is process memory sampled at clip boundaries; OS
high-water RSS also includes transient peaks when the operating system reports
it.
| Slice | Samples | WER | CER | RTF | Throughput | Sampled / OS high-water RSS | Plain parity vs FP32 |
|---|---|---|---|---|---|---|---|
| english | 80 | 8.32 | 5.38 | 0.0571 | 17.5x real-time | 2,937 / 3,614 MB | 77/80 |
| Slice | Samples | WER | CER | RTF | Throughput | Plain parity vs FP32 |
|---|---|---|---|---|---|---|
| german | 10 | 13.37 | 5.99 | 0.0507 | 19.7x real-time | 10/10 |
| french | 10 | 4.91 | 1.99 | 0.0803 | 12.5x real-time | 10/10 |
| msa | 10 | 26.50 | 8.31 | 0.0620 | 16.1x real-time | 8/10 |
The multilingual check covers only ten German, ten French, and ten Modern Standard Arabic clips. It is a conversion check, not proof of the upstream model's full 50-language quality. The meeting round trip checks transcript and speaker-sequence parity but is not a diarization error-rate benchmark.
from pathlib import Path
import coremltools as ct
from huggingface_hub import snapshot_download
bundle = Path(snapshot_download("aufklarer/MOSS-Transcribe-Diarize-0.9B-CoreML-INT8"))
audio = ct.models.CompiledMLModel(str(bundle / "audio_encoder.mlmodelc"))
embedding = ct.models.CompiledMLModel(
str(bundle / "decoder/decoder.mlmodelc"), function_name="embedding"
)
decoder = ct.models.CompiledMLModel(
str(bundle / "decoder/decoder.mlmodelc"), function_name="decoder"
)
state = decoder.make_state()
The host computes Whisper features, replaces audio-placeholder embeddings,
runs prompt prefill, then performs greedy token decoding while preserving
state. The exact tensor names and shapes are recorded in config.json and
decoder/config.json.
hf download aufklarer/MOSS-Transcribe-Diarize-0.9B-CoreML-INT8 --local-dir ./moss-transcribe-diarize
This downloads a complete low-level model bundle. SDK integration is tracked in speech-swift issue #388; until that integration lands, applications must implement the documented host contract around the exported graphs or weights.
The multifunction decoder exposes embedding and decoder and uses a persistent FP16 MLState K/V cache. It was loaded with ComputeUnit.ALL and FastPrediction. Prompt construction, audio chunking, generation, cache
management, and transcript parsing remain host responsibilities. Machine-readable
details and measured results are in config.json, export_config.json, and
validation.json.
No training was performed for this conversion. The source weights contain 908,513,280 parameters and are licensed under Apache 2.0.
Speaker IDs are anonymous within each inference. The source model can emit
malformed or overlapping timestamps and can miss speakers; conversion parity
does not correct those behaviors. ANE-only loading failed with Core ML error -14, so the measured runtime allows Core ML accelerator fallback. The validation here does not
establish the upstream 90-minute claim for this deployment format.
Apache License 2.0, inherited from the upstream model.