charsiu-js ONNX models
INT8-quantized ONNX models for the
charsiu-js npm package (forced
alignment in Node and the browser). English/Mandarin are exports of
charsiu wav2vec2 frame-classification
aligners; Japanese is a HuBERT phoneme-CTC model (see the table for sources).
| file | language | source | size |
|---|---|---|---|
en_w2v2_fc_10ms/model_quantized.onnx |
English | charsiu/en_w2v2_fc_10ms (MIT) | ~123 MB |
zh_w2v2_tiny_fc_10ms/model_quantized.onnx |
Mandarin (tiny, fast) | charsiu/zh_w2v2_tiny_fc_10ms (MIT) | ~40 MB |
zh_xlsr_fc_10ms/model_quantized.onnx |
Mandarin (XLSR, higher accuracy) | charsiu/zh_xlsr_fc_10ms (MIT) | ~357 MB |
japanese-hubert-base-phoneme-ctc/model_quantized.onnx |
Japanese | prj-beatrice/japanese-hubert-base-phoneme-ctc (Apache-2.0) | ~123 MB |
Converted via torch.onnx + onnxruntime dynamic INT8 quantization (MatMul/Gemm).
The English/Mandarin models take a normalized 16 kHz mono waveform and output
per-frame phone logits (10 ms frames); the two Mandarin models share the same
phone set (tokenizer_zh_pinyin), XLSR being larger but more robust on real
recordings and tiny being small and fast.
The Japanese model is different: a CTC model (HuBERT base) over the OpenJTalk phone set, 20 ms frames, and a raw (un-normalized) 16 kHz waveform — charsiu-js aligns it with CTC forced alignment rather than DTW.
Usage
import { createNodeAligner, createNodeAlignerZh, createNodeAlignerJa } from 'charsiu-js';
// English (default model auto-downloads)
const en = await createNodeAligner();
// Mandarin — tiny by default, or point at the XLSR model:
const zh = await createNodeAlignerZh({
modelUrl: 'https://huggingface.co/mnaoizyyy/charsiu-js-models/resolve/main/zh_xlsr_fc_10ms/model_quantized.onnx',
});
// Japanese — model auto-downloads; needs a tokana-compiled dictionary
// (`npm run setup-dict`). See the charsiu-js README.
const ja = await createNodeAlignerJa({ dicPath: './models/ipadic-dict' });
License & attribution
The English/Mandarin models are MIT, derived from charsiu (MIT, © 2021 jzhu).
japanese-hubert-base-phoneme-ctc/model_quantized.onnx is licensed Apache-2.0:
an INT8-quantized ONNX conversion of
prj-beatrice/japanese-hubert-base-phoneme-ctc
(Apache-2.0), fine-tuned from
rinna/japanese-hubert-base
(Apache-2.0); its phoneme labels were produced with pyopenjtalk-plus.
See the charsiu-js ATTRIBUTION.