Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/wasm-simd-hf-space-vad-asr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
total: ["11"]
index: ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]
total: ["15"]
index: ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14"]

steps:
- uses: actions/checkout@v4
Expand Down
170 changes: 170 additions & 0 deletions scripts/wasm/generate-vad-asr.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,176 @@ def get_models():
git diff
""",
),
Model(
model_name="sherpa-onnx-moonshine-tiny-en-quantized-2026-02-27",
hf="k2-fsa/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-tiny-en",
ms="csukuangfj/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-tiny-en",
short_name="vad-asr-moonshine-v2-tiny-en",
cmd="""
pushd $model_name
mv -v encoder_model.ort ../moonshine-encoder.ort
mv -v decoder_model_merged.ort ../moonshine-merged-decoder.ort
mv -v tokens.txt ../
mv -v LICENSE ../
popd
rm -rf $model_name
sed -i.bak 's/Zipformer/Moonshine v2 tiny-en supporting English 英语/g' ../index.html
git diff
""",
),
Model(
model_name="sherpa-onnx-moonshine-tiny-ja-quantized-2026-02-27",
hf="k2-fsa/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-tiny-ja",
ms="csukuangfj/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-tiny-ja",
short_name="vad-asr-moonshine-v2-tiny-ja",
cmd="""
pushd $model_name
mv -v encoder_model.ort ../moonshine-encoder.ort
mv -v decoder_model_merged.ort ../moonshine-merged-decoder.ort
mv -v tokens.txt ../
mv -v LICENSE ../
popd
rm -rf $model_name
sed -i.bak 's/Zipformer/Moonshine v2 tiny-ja supporting Japanese 日语/g' ../index.html
git diff
""",
),
Model(
model_name="sherpa-onnx-moonshine-tiny-ko-quantized-2026-02-27",
hf="k2-fsa/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-tiny-ko",
ms="csukuangfj/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-tiny-ko",
short_name="vad-asr-moonshine-v2-tiny-ko",
cmd="""
pushd $model_name
mv -v encoder_model.ort ../moonshine-encoder.ort
mv -v decoder_model_merged.ort ../moonshine-merged-decoder.ort
mv -v tokens.txt ../
mv -v LICENSE ../
popd
rm -rf $model_name
sed -i.bak 's/Zipformer/Moonshine v2 tiny-ko supporting Korean 韩语/g' ../index.html
git diff
""",
),
Model(
model_name="sherpa-onnx-moonshine-base-en-quantized-2026-02-27",
hf="k2-fsa/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-base-en",
ms="csukuangfj/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-base-en",
short_name="vad-asr-moonshine-v2-base-en",
cmd="""
pushd $model_name
mv -v encoder_model.ort ../moonshine-encoder.ort
mv -v decoder_model_merged.ort ../moonshine-merged-decoder.ort
mv -v tokens.txt ../
mv -v LICENSE ../
popd
rm -rf $model_name
sed -i.bak 's/Zipformer/Moonshine v2 base-en supporting English 英语/g' ../index.html
git diff
""",
),
Model(
model_name="sherpa-onnx-moonshine-base-zh-quantized-2026-02-27",
hf="k2-fsa/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-base-zh",
ms="csukuangfj/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-base-zh",
short_name="vad-asr-moonshine-v2-base-zh",
cmd="""
pushd $model_name
mv -v encoder_model.ort ../moonshine-encoder.ort
mv -v decoder_model_merged.ort ../moonshine-merged-decoder.ort
mv -v tokens.txt ../
mv -v LICENSE ../
popd
rm -rf $model_name
sed -i.bak 's/Zipformer/Moonshine v2 base-zh supporting Chinese 普通话/g' ../index.html
git diff
""",
),
Model(
model_name="sherpa-onnx-moonshine-base-ja-quantized-2026-02-27",
hf="k2-fsa/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-base-ja",
ms="csukuangfj/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-base-ja",
short_name="vad-asr-moonshine-v2-base-ja",
cmd="""
pushd $model_name
mv -v encoder_model.ort ../moonshine-encoder.ort
mv -v decoder_model_merged.ort ../moonshine-merged-decoder.ort
mv -v tokens.txt ../
mv -v LICENSE ../
popd
rm -rf $model_name
sed -i.bak 's/Zipformer/Moonshine v2 base-ja supporting Japanese 日文/g' ../index.html
git diff
""",
),
Model(
model_name="sherpa-onnx-moonshine-base-vi-quantized-2026-02-27",
hf="k2-fsa/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-base-vi",
ms="csukuangfj/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-base-vi",
short_name="vad-asr-moonshine-v2-base-vi",
cmd="""
pushd $model_name
mv -v encoder_model.ort ../moonshine-encoder.ort
mv -v decoder_model_merged.ort ../moonshine-merged-decoder.ort
mv -v tokens.txt ../
mv -v LICENSE ../
popd
rm -rf $model_name
sed -i.bak 's/Zipformer/Moonshine v2 base-vi supporting Vietnamese 越南语/g' ../index.html
git diff
""",
),
Model(
model_name="sherpa-onnx-moonshine-base-es-quantized-2026-02-27",
hf="k2-fsa/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-base-es",
ms="csukuangfj/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-base-es",
short_name="vad-asr-moonshine-v2-base-es",
cmd="""
pushd $model_name
mv -v encoder_model.ort ../moonshine-encoder.ort
mv -v decoder_model_merged.ort ../moonshine-merged-decoder.ort
mv -v tokens.txt ../
mv -v LICENSE ../
popd
rm -rf $model_name
sed -i.bak 's/Zipformer/Moonshine v2 base-es supporting Spanish 西班牙语/g' ../index.html
git diff
""",
),
Model(
model_name="sherpa-onnx-moonshine-base-ar-quantized-2026-02-27",
hf="k2-fsa/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-base-ar",
ms="csukuangfj/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-base-ar",
short_name="vad-asr-moonshine-v2-base-ar",
cmd="""
pushd $model_name
mv -v encoder_model.ort ../moonshine-encoder.ort
mv -v decoder_model_merged.ort ../moonshine-merged-decoder.ort
mv -v tokens.txt ../
mv -v LICENSE ../
popd
rm -rf $model_name
sed -i.bak 's/Zipformer/Moonshine v2 base-ar supporting Arabic 阿拉伯语/g' ../index.html
git diff
""",
),
Model(
model_name="sherpa-onnx-moonshine-base-uk-quantized-2026-02-27",
hf="k2-fsa/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-base-uk",
ms="csukuangfj/web-assembly-vad-asr-sherpa-onnx-moonshine-v2-base-uk",
short_name="vad-asr-moonshine-v2-base-uk",
cmd="""
pushd $model_name
mv -v encoder_model.ort ../moonshine-encoder.ort
mv -v decoder_model_merged.ort ../moonshine-merged-decoder.ort
mv -v tokens.txt ../
mv -v LICENSE ../
popd
rm -rf $model_name
sed -i.bak 's/Zipformer/Moonshine v2 base-uk supporting Ukrainian 乌克兰语/g' ../index.html
git diff
""",
),
Model(
model_name="sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17",
hf="k2-fsa/web-assembly-vad-asr-sherpa-onnx-zh-en-ja-ko-cantonese-sense-voice",
Expand Down
30 changes: 16 additions & 14 deletions scripts/wasm/run-vad-asr.sh.in
Original file line number Diff line number Diff line change
Expand Up @@ -52,22 +52,24 @@ git config --global user.name "Fangjun Kuang"
export GIT_LFS_SKIP_SMUDGE=1
export GIT_CLONE_PROTECTION_ACTIVE=false

rm -rf ms
git clone https://www.modelscope.cn/studios/$ms_name.git ms
if [ x"$ms_name" != x"" ]; then
rm -rf ms
git clone https://www.modelscope.cn/studios/$ms_name.git ms

cd ms
cp -v ../$dst/* .
cd ms
cp -v ../$dst/* .

git status
git lfs track "*.data"
git lfs track "*.wasm"
ls -lh
git status
git lfs track "*.data"
git lfs track "*.wasm"
ls -lh

git add .
git commit -m "update model" || true
git push https://oauth2:${MS_TOKEN}@www.modelscope.cn/studios/$ms_name.git || true
cd ..
rm -rf ms
git add .
git commit -m "update model" || true
git push https://oauth2:${MS_TOKEN}@www.modelscope.cn/studios/$ms_name.git || true
cd ..
rm -rf ms
fi

rm -rf huggingface

Expand All @@ -82,7 +84,7 @@ ls -lh

git add .
git commit -m "update model" || true
git push https://csukuangfj:$HF_TOKEN@huggingface.co/spaces/$hf_name main || true
git push https://csukuangfj2:$HF_TOKEN@huggingface.co/spaces/$hf_name main || true

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The Hugging Face username csukuangfj2 is hardcoded. It's better to use an environment variable (e.g., HF_USERNAME) for this to avoid committing user-specific details and to make the script more configurable. You would then need to set this environment variable in your CI/build environment.

git push https://${HF_USERNAME}:$HF_TOKEN@huggingface.co/spaces/$hf_name main || true

cd ..
rm -rf huggingface
rm -rf $dst
Expand Down
7 changes: 7 additions & 0 deletions wasm/vad-asr/app-vad-asr.js
Original file line number Diff line number Diff line change
Expand Up @@ -107,12 +107,19 @@ function initOfflineRecognizer() {
} else if (fileExists('telespeech.onnx')) {
config.modelConfig.telespeechCtc = './telespeech.onnx';
} else if (fileExists('moonshine-preprocessor.onnx')) {
// moonshine v1
config.modelConfig.moonshine = {
preprocessor: './moonshine-preprocessor.onnx',
encoder: './moonshine-encoder.onnx',
uncachedDecoder: './moonshine-uncached-decoder.onnx',
cachedDecoder: './moonshine-cached-decoder.onnx'
};
} else if (fileExists('moonshine-merged-decoder.ort')) {
// moonshine v2
config.modelConfig.moonshine = {
encoder: './moonshine-encoder.ort',
mergedDecoder: './moonshine-merged-decoder.ort'
};
} else if (fileExists('dolphin.onnx')) {
config.modelConfig.dolphin = {model: './dolphin.onnx'};
} else if (fileExists('zipformer-ctc.onnx')) {
Expand Down