Views
No views yet
| File | Precision | Compute unit | Size | Role |
|---|---|---|---|---|
ParaformerPreprocessor.mlmodelc | FP32 | CPU | 3 MB | front-end: waveform → 560-d LFR features |
ParaformerEncoder.mlmodelc | FP16 | ANE | 302 MB | SANM encoder (enumerated buckets [128,256,512,1024,1800]) |
ParaformerDecoder.mlmodelc | FP16 | ANE | 109 MB | parallel decoder (enc 512, tokens 128) |
vocab.json | — | — | — | 8404 CharTokenizer tokens (array form) |
cif_numpy.py) is in the conversion repo as the Swift blueprint.waveform → [Preprocessor fp32/CPU] → features [1,T,560]
→ [Encoder fp16/ANE] → enc_out [1,T,512]
→ [host CIF] → acoustic_embeds [1,L,512], token_count L
→ [Decoder fp16/ANE] → logits [1,L,8404]
→ argmax per token → drop sos(1)/eos(2)/blank(0) → CharTokenizerBoth fp16 encoder/decoder are correct on the Neural Engine. The front-end runs FP32/CPU (power-spectrum + log exceed the FP16 range). Run the encoder/decoder withMLModelConfiguration.computeUnits = .cpuAndNeuralEngine.
-inf → -1e4), and building
the encoder/decoder pad-masks from the input tensor's seq dim (so
EnumeratedShapes generalize) rather than lengths.max().| Precision | size (enc+dec) | CER | median RTFx | peak RAM |
|---|---|---|---|---|
| fp16 (default) | 411 MB | 2.12% | 85× | 0.38 GB |
| int8 | 207 MB | 2.12% | 84× | 0.24 GB |