HuPER-CoreML / README.md
BarrySong's picture
Core ML (int8) build of huper29/huper_recognizer
eb0268f verified
|
Raw History Blame Contribute Delete
1.32 kB
metadata
license: mit
base_model: huper29/huper_recognizer
tags:
  - coreml
  - phoneme-recognition
  - ctc
  - wavlm
  - pronunciation
language:
  - en

HuPER recognizer, Core ML (int8)

A Core ML build of huper29/huper_recognizer (WavLM-large with a CTC head over 39 ARPAbet phones plus DX), made for Accent Lab, a macOS app for English pronunciation practice, to check each sound on the Mac.

  • HuPER.mlmodelc: compiled Core ML model, macOS 15 or later. Weights are int8 (linear, symmetric, per channel); the math runs in FP32.
  • vocab.json, added_tokens.json: the output labels, unchanged from the original.

Input and output

  • audio: Float32 [1, samples], 16 kHz mono, 1 to 20 s, normalized to zero mean and unit variance (as the original's Wav2Vec2FeatureExtractor with do_normalize).
  • logprobs: Float32 [1, frames, 46], log-softmax over the labels, one frame per 20 ms.

How close it is to the original

On 17 lines of real speech (845 phones), goodness-of-pronunciation scores differ from the PyTorch model by 0.34 on average, and 4 of the 845 phones change sides of a −2.0 threshold. The best label per frame matches 98 % of the time.

License

MIT, as the original model. All credit for the model goes to the HuPER authors.