FluidInference/campplus-coreml
0
1---2license: other3license_name: campplus-upstream4license_link: https://github.com/modelscope/FunASR5language: [zh]6library_name: coreml7tags: [coreml, ane, speaker-verification, speaker-diarization, campplus, funasr, fluidaudio]8pipeline_tag: audio-classification9---10 11# CAM++ — CoreML (Apple Neural Engine)12 13CoreML conversion of FunASR's **CAM++** speaker-embedding model (~7.2M params), for14on-device speaker verification / diarization on Apple Silicon. Upstream:15[iic/speech_campplus_sv_zh-cn_16k-common](https://www.modelscope.cn/models/iic/speech_campplus_sv_zh-cn_16k-common).16 17## Files18 19| File | Precision | Compute unit | Role |20|------|-----------|--------------|------|21| `CamPlusPreprocessor.mlmodelc` | FP32 | CPU | waveform → 80-d fbank features |22| `CamPlusPlus.mlmodelc` | FP16 | ANE | fbank → 192-d speaker embedding |23 24## Pipeline25 26```27waveform → [Preprocessor fp32/CPU] → fbank [1,T,80]28 → [CAM++ fp16/ANE] → embedding [1,192] (L2-normalize, then cosine for verification/clustering)29```30 31CAM++ normalizes the fbank internally. The 192-d embedding is used with cosine32similarity for speaker verification and diarization clustering.33 34## Benchmark — AISHELL-1 speaker verification35 36| Metric | Value |37|--------|-------|38| **EER** | **0.48%** (20 speakers, 6000 same / 6000 diff trials) |39| same-speaker cosine | 0.805 |40| different-speaker cosine | 0.256 |41 42AISHELL-1 (clean read Mandarin) is easier than the official CN-Celeb (~6-7%). CoreML↔torch embedding cosine 0.9997-0.99999.43 44## License45 46Weights derive from FunASR's CAM++; upstream license applies. Format conversion only.47 