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].
Model
Property
Value
Parameters
908,513,280 total: 312,463,360 audio/VQ + 596,049,920 text decoder
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.
Files
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
794 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/
1.11 GiB
Compiled stateful Qwen3 decoder and tied embedding
export_config.json
1.3 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
Performance
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.26
5.34
0.0693
14.4x real-time
4,261 / 5,157 MB
79/80
Multilingual precision check
Slice
Samples
WER
CER
RTF
Throughput
Plain parity vs FP32
german
10
13.37
5.99
0.0654
15.3x real-time
10/10
french
10
4.91
1.99
0.0981
10.2x real-time
10/10
msa
10
27.00
8.48
0.0753
13.3x real-time
10/10
Round trips
30-second overlapping AMI window: RTF 0.131; text=exact, speaker_sequence=exact, raw=drift. The source predicted 3 speakers where RTTM contains 4.
33.12-second two-chunk German clip: RTF 0.066; text=exact, speaker_sequence=exact, raw=exact.
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.
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.
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.
Runtime contract
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.
Limitations
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.