mirror of
https://github.com/k2-fsa/sherpa-onnx.git
synced 2026-01-09 07:41:06 +08:00
This PR adds support for Wenet non-streaming CTC models to sherpa-onnx by introducing the SherpaOnnxOfflineWenetCtcModelConfig struct and integrating it across all language bindings and APIs. The implementation follows the same pattern as other CTC model types like Zipformer CTC. - Introduces SherpaOnnxOfflineWenetCtcModelConfig struct with a single model field for the ONNX model path - Adds the new config to SherpaOnnxOfflineModelConfig and updates all language bindings (C++, Pascal, Kotlin, Java, Go, C#, Swift, JavaScript, etc.) - Provides comprehensive examples and tests across all supported platforms and languages
911 lines
32 KiB
YAML
911 lines
32 KiB
YAML
name: c-api
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
paths:
|
|
- '.github/workflows/c-api.yaml'
|
|
- 'cmake/**'
|
|
- 'sherpa-onnx/csrc/*'
|
|
- 'sherpa-onnx/c-api/*'
|
|
- 'c-api-examples/**'
|
|
- 'ffmpeg-examples/**'
|
|
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: c-api-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
c_api:
|
|
name: ${{ matrix.os }}
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, macos-latest, ubuntu-22.04-arm]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Update version
|
|
shell: bash
|
|
run: |
|
|
./new-release.sh
|
|
git diff .
|
|
|
|
- name: ccache
|
|
uses: hendrikmuhs/ccache-action@v1.2
|
|
with:
|
|
key: ${{ matrix.os }}-c-api-shared
|
|
|
|
- name: Build sherpa-onnx
|
|
shell: bash
|
|
run: |
|
|
export CMAKE_CXX_COMPILER_LAUNCHER=ccache
|
|
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
|
cmake --version
|
|
|
|
mkdir build
|
|
cd build
|
|
|
|
cmake \
|
|
-D CMAKE_BUILD_TYPE=Release \
|
|
-D BUILD_SHARED_LIBS=ON \
|
|
-D CMAKE_INSTALL_PREFIX=./install \
|
|
-D SHERPA_ONNX_ENABLE_BINARY=OFF \
|
|
..
|
|
|
|
make -j2 install
|
|
|
|
ls -lh install/lib
|
|
ls -lh install/include
|
|
|
|
if [[ ${{ matrix.os }} == ubuntu-latest || ${{ matrix.os }} == ubuntu-22.04-arm ]]; then
|
|
ldd ./install/lib/libsherpa-onnx-c-api.so
|
|
echo "---"
|
|
readelf -d ./install/lib/libsherpa-onnx-c-api.so
|
|
fi
|
|
|
|
if [[ ${{ matrix.os }} == macos-latest ]]; then
|
|
otool -L ./install/lib/libsherpa-onnx-c-api.dylib
|
|
fi
|
|
|
|
- name: Test Wenet CTC
|
|
shell: bash
|
|
run: |
|
|
name=wenet-ctc-c-api
|
|
gcc -o $name ./c-api-examples/$name.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
ls -lh $name
|
|
|
|
if [[ ${{ matrix.os }} == ubuntu-latest || ${{ matrix.os }} == ubuntu-22.04-arm ]]; then
|
|
ldd ./$name
|
|
echo "----"
|
|
readelf -d ./$name
|
|
fi
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10.tar.bz2
|
|
tar xvf sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10.tar.bz2
|
|
rm sherpa-onnx-wenetspeech-yue-u2pp-conformer-ctc-zh-en-cantonese-int8-2025-09-10.tar.bz2
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./$name
|
|
|
|
rm $name
|
|
rm -rf sherpa-onnx-wenetspeech-*
|
|
|
|
- name: Test T-one
|
|
shell: bash
|
|
run: |
|
|
name=streaming-t-one-ctc-c-api
|
|
gcc -o $name ./c-api-examples/$name.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
ls -lh $name
|
|
|
|
if [[ ${{ matrix.os }} == ubuntu-latest || ${{ matrix.os }} == ubuntu-22.04-arm ]]; then
|
|
ldd ./$name
|
|
echo "----"
|
|
readelf -d ./$name
|
|
fi
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-t-one-russian-2025-09-08.tar.bz2
|
|
tar xvf sherpa-onnx-streaming-t-one-russian-2025-09-08.tar.bz2
|
|
rm sherpa-onnx-streaming-t-one-russian-2025-09-08.tar.bz2
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./$name
|
|
|
|
rm $name
|
|
rm -rf sherpa-onnx-streaming-t-one-russian-2025-09-08
|
|
|
|
- name: Test KittenTTS
|
|
shell: bash
|
|
run: |
|
|
name=kitten-tts-en-c-api
|
|
gcc -o $name ./c-api-examples/$name.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
ls -lh $name
|
|
|
|
if [[ ${{ matrix.os }} == ubuntu-latest || ${{ matrix.os }} == ubuntu-22.04-arm ]]; then
|
|
ldd ./$name
|
|
echo "----"
|
|
readelf -d ./$name
|
|
fi
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kitten-nano-en-v0_1-fp16.tar.bz2
|
|
tar xf kitten-nano-en-v0_1-fp16.tar.bz2
|
|
rm kitten-nano-en-v0_1-fp16.tar.bz2
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./$name
|
|
|
|
rm $name
|
|
rm -rf kitten-nano-en-v0_1-fp16
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: kitten-tts-wavs-${{ matrix.os }}
|
|
path: ./generated-kitten-en.wav
|
|
|
|
- name: Test streaming zipformer with homophone replacer
|
|
shell: bash
|
|
run: |
|
|
name=streaming-zipformer-with-hr-c-api
|
|
gcc -o $name ./c-api-examples/$name.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
ls -lh $name
|
|
|
|
if [[ ${{ matrix.os }} == ubuntu-latest || ${{ matrix.os }} == ubuntu-22.04-arm ]]; then
|
|
ldd ./$name
|
|
echo "----"
|
|
readelf -d ./$name
|
|
fi
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
|
|
tar xvf sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
|
|
rm sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
|
|
|
|
ls -lh sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20
|
|
echo "---"
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/dict.tar.bz2
|
|
tar xf dict.tar.bz2
|
|
rm dict.tar.bz2
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/replace.fst
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/test-hr.wav
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/hr-files/lexicon.txt
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./$name
|
|
|
|
rm -rf sherpa-onnx-streaming-zipformer-*
|
|
rm -rf dict lexicon.txt test-hr.wav replace.fst
|
|
rm -v $name
|
|
|
|
- name: Test NeMo Canary
|
|
shell: bash
|
|
run: |
|
|
name=nemo-canary-c-api
|
|
gcc -o $name ./c-api-examples/$name.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
ls -lh $name
|
|
|
|
if [[ ${{ matrix.os }} == ubuntu-latest || ${{ matrix.os }} == ubuntu-22.04-arm ]]; then
|
|
ldd ./$name
|
|
echo "----"
|
|
readelf -d ./$name
|
|
fi
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8.tar.bz2
|
|
tar xvf sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8.tar.bz2
|
|
rm sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8.tar.bz2
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./$name
|
|
|
|
rm $name
|
|
rm -rf sherpa-onnx-nemo-canary-180m-flash-en-es-de-fr-int8
|
|
|
|
- name: Test Dolphin CTC
|
|
shell: bash
|
|
run: |
|
|
name=dolphin-ctc-c-api
|
|
gcc -o $name ./c-api-examples/$name.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
ls -lh $name
|
|
|
|
if [[ ${{ matrix.os }} == ubuntu-latest || ${{ matrix.os }} == ubuntu-22.04-arm ]]; then
|
|
ldd ./$name
|
|
echo "----"
|
|
readelf -d ./$name
|
|
fi
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-dolphin-base-ctc-multi-lang-int8-2025-04-02.tar.bz2
|
|
tar xvf sherpa-onnx-dolphin-base-ctc-multi-lang-int8-2025-04-02.tar.bz2
|
|
rm sherpa-onnx-dolphin-base-ctc-multi-lang-int8-2025-04-02.tar.bz2
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./$name
|
|
|
|
rm $name
|
|
rm -rf sherpa-onnx-dolphin-base-ctc-multi-lang-int8-2025-04-02
|
|
|
|
- name: Test speech enhancement (GTCRN)
|
|
shell: bash
|
|
run: |
|
|
name=speech-enhancement-gtcrn-c-api
|
|
gcc -o $name ./c-api-examples/$name.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
ls -lh $name
|
|
|
|
if [[ ${{ matrix.os }} == ubuntu-latest || ${{ matrix.os }} == ubuntu-22.04-arm ]]; then
|
|
ldd ./$name
|
|
echo "----"
|
|
readelf -d ./$name
|
|
fi
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speech-enhancement-models/gtcrn_simple.onnx
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/speech-enhancement-models/inp_16k.wav
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./$name
|
|
rm -fv *.onnx
|
|
mkdir denoised-wavs
|
|
cp -v inp_16k.wav denoised-wavs
|
|
cp -v enhanced_16k.wav denoised-wavs
|
|
|
|
rm $name
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: denoised-wavs-${{ matrix.os }}
|
|
path: ./denoised-wavs/*.wav
|
|
|
|
- name: Test FireRedAsr
|
|
shell: bash
|
|
run: |
|
|
gcc -o fire-red-asr-c-api ./c-api-examples/fire-red-asr-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
ls -lh fire-red-asr-c-api
|
|
|
|
if [[ ${{ matrix.os }} == ubuntu-latest || ${{ matrix.os }} == ubuntu-22.04-arm ]]; then
|
|
ldd ./fire-red-asr-c-api
|
|
echo "----"
|
|
readelf -d ./fire-red-asr-c-api
|
|
fi
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16.tar.bz2
|
|
tar xvf sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16.tar.bz2
|
|
rm sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16.tar.bz2
|
|
|
|
ls -lh sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16
|
|
echo "---"
|
|
ls -lh sherpa-onnx-fire-red-asr-large-zh_en-2025-02-16/test_wavs
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./fire-red-asr-c-api
|
|
|
|
rm -rf sherpa-onnx-fire-red-asr-*
|
|
|
|
- name: Test kws (zh)
|
|
shell: bash
|
|
run: |
|
|
gcc -o kws-c-api ./c-api-examples/kws-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/kws-models/sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01-mobile.tar.bz2
|
|
tar xvf sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01-mobile.tar.bz2
|
|
rm sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01-mobile.tar.bz2
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./kws-c-api
|
|
|
|
rm ./kws-c-api
|
|
rm -rf sherpa-onnx-kws-*
|
|
|
|
- name: Test Kokoro TTS (zh+en)
|
|
shell: bash
|
|
run: |
|
|
gcc -o kokoro-tts-zh-en-c-api ./c-api-examples/kokoro-tts-zh-en-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kokoro-multi-lang-v1_0.tar.bz2
|
|
tar xf kokoro-multi-lang-v1_0.tar.bz2
|
|
rm kokoro-multi-lang-v1_0.tar.bz2
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./kokoro-tts-zh-en-c-api
|
|
|
|
rm ./kokoro-tts-zh-en-c-api
|
|
rm -rf kokoro-zh-en-*
|
|
|
|
- name: Test Kokoro TTS (en)
|
|
shell: bash
|
|
run: |
|
|
gcc -o kokoro-tts-en-c-api ./c-api-examples/kokoro-tts-en-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kokoro-en-v0_19.tar.bz2
|
|
tar xf kokoro-en-v0_19.tar.bz2
|
|
rm kokoro-en-v0_19.tar.bz2
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./kokoro-tts-en-c-api
|
|
|
|
rm ./kokoro-tts-en-c-api
|
|
rm -rf kokoro-en-*
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: kokoro-tts-${{ matrix.os }}
|
|
path: ./generated-kokoro-*.wav
|
|
|
|
- name: Test Matcha TTS (zh)
|
|
shell: bash
|
|
run: |
|
|
gcc -o matcha-tts-zh-c-api ./c-api-examples/matcha-tts-zh-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/matcha-icefall-zh-baker.tar.bz2
|
|
tar xvf matcha-icefall-zh-baker.tar.bz2
|
|
rm matcha-icefall-zh-baker.tar.bz2
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/vocoder-models/vocos-22khz-univ.onnx
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./matcha-tts-zh-c-api
|
|
|
|
rm ./matcha-tts-zh-c-api
|
|
rm -rf matcha-icefall-*
|
|
rm vocos-22khz-univ.onnx
|
|
|
|
- name: Test Matcha TTS (en)
|
|
shell: bash
|
|
run: |
|
|
gcc -o matcha-tts-en-c-api ./c-api-examples/matcha-tts-en-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/matcha-icefall-en_US-ljspeech.tar.bz2
|
|
tar xvf matcha-icefall-en_US-ljspeech.tar.bz2
|
|
rm matcha-icefall-en_US-ljspeech.tar.bz2
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/vocoder-models/vocos-22khz-univ.onnx
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./matcha-tts-en-c-api
|
|
|
|
rm ./matcha-tts-en-c-api
|
|
rm -rf matcha-icefall-*
|
|
rm vocos-22khz-univ.onnx
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: matcha-tts-${{ matrix.os }}
|
|
path: ./generated-matcha-*.wav
|
|
|
|
- name: Test silero-vad + Whisper tiny.en
|
|
shell: bash
|
|
run: |
|
|
gcc -o vad-whisper-c-api ./c-api-examples/vad-whisper-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
# Now download models
|
|
#
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/silero_vad.onnx
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/Obama.wav
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-tiny.en.tar.bz2
|
|
tar xvf sherpa-onnx-whisper-tiny.en.tar.bz2
|
|
rm sherpa-onnx-whisper-tiny.en.tar.bz2
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./vad-whisper-c-api
|
|
|
|
rm -rf sherpa-onnx-*
|
|
rm -rf *.onnx
|
|
rm *.wav
|
|
|
|
- name: Test ten-vad + Whisper tiny.en
|
|
shell: bash
|
|
run: |
|
|
gcc -o vad-whisper-c-api ./c-api-examples/vad-whisper-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
# Now download models
|
|
#
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/ten-vad.onnx
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/Obama.wav
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-tiny.en.tar.bz2
|
|
tar xvf sherpa-onnx-whisper-tiny.en.tar.bz2
|
|
rm sherpa-onnx-whisper-tiny.en.tar.bz2
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./vad-whisper-c-api
|
|
|
|
rm -rf sherpa-onnx-*
|
|
rm -rf *.onnx
|
|
rm *.wav
|
|
|
|
- name: Test silero-vad + Moonshine
|
|
shell: bash
|
|
run: |
|
|
gcc -o vad-moonshine-c-api ./c-api-examples/vad-moonshine-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
# Now download models
|
|
#
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/silero_vad.onnx
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/Obama.wav
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
|
|
tar xvf sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
|
|
rm sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./vad-moonshine-c-api
|
|
|
|
rm -rf sherpa-onnx-*
|
|
rm -rf *.onnx
|
|
rm *.wav
|
|
|
|
- name: Test ten-vad + Moonshine
|
|
shell: bash
|
|
run: |
|
|
gcc -o vad-moonshine-c-api ./c-api-examples/vad-moonshine-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
# Now download models
|
|
#
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/ten-vad.onnx
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/Obama.wav
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
|
|
tar xvf sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
|
|
rm sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./vad-moonshine-c-api
|
|
|
|
rm -rf sherpa-onnx-*
|
|
rm -rf *.onnx
|
|
rm *.wav
|
|
|
|
- name: Test Moonshine
|
|
shell: bash
|
|
run: |
|
|
gcc -o moonshine-c-api ./c-api-examples/moonshine-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
|
|
tar xvf sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
|
|
rm sherpa-onnx-moonshine-tiny-en-int8.tar.bz2
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./moonshine-c-api
|
|
|
|
rm -rf sherpa-onnx-*
|
|
|
|
- name: Test ffmpeg
|
|
# if: matrix.os == 'macos-latest'
|
|
if: false
|
|
shell: bash
|
|
run: |
|
|
brew install ffmpeg
|
|
|
|
cd ffmpeg-examples
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
|
|
tar xvf sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
|
|
rm sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
|
|
|
|
make
|
|
ls -lh
|
|
./run.sh
|
|
rm -rf sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20
|
|
|
|
- name: Test silero-vad + sense-voice
|
|
shell: bash
|
|
run: |
|
|
gcc -o vad-sense-voice-c-api ./c-api-examples/vad-sense-voice-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
ls -lh vad-sense-voice-c-api
|
|
|
|
if [[ ${{ matrix.os }} == ubuntu-latest || ${{ matrix.os }} == ubuntu-22.04-arm ]]; then
|
|
ldd ./vad-sense-voice-c-api
|
|
echo "----"
|
|
readelf -d ./vad-sense-voice-c-api
|
|
fi
|
|
|
|
# Now download models
|
|
#
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/silero_vad.onnx
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/lei-jun-test.wav
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17.tar.bz2
|
|
tar xvf sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17.tar.bz2
|
|
rm sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17.tar.bz2
|
|
|
|
ls -lh sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17
|
|
echo "---"
|
|
ls -lh sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17/test_wavs
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./vad-sense-voice-c-api
|
|
|
|
rm -rf sherpa-onnx-sense-voice-*
|
|
rm -rf *.onnx
|
|
rm *.wav
|
|
|
|
- name: Test ten-vad + sense-voice
|
|
shell: bash
|
|
run: |
|
|
gcc -o vad-sense-voice-c-api ./c-api-examples/vad-sense-voice-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
ls -lh vad-sense-voice-c-api
|
|
|
|
if [[ ${{ matrix.os }} == ubuntu-latest || ${{ matrix.os }} == ubuntu-22.04-arm ]]; then
|
|
ldd ./vad-sense-voice-c-api
|
|
echo "----"
|
|
readelf -d ./vad-sense-voice-c-api
|
|
fi
|
|
|
|
# Now download models
|
|
#
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/ten-vad.onnx
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/lei-jun-test.wav
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17.tar.bz2
|
|
tar xvf sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17.tar.bz2
|
|
rm sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17.tar.bz2
|
|
|
|
ls -lh sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17
|
|
echo "---"
|
|
ls -lh sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17/test_wavs
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./vad-sense-voice-c-api
|
|
|
|
rm -rf sherpa-onnx-sense-voice-*
|
|
rm -rf *.onnx
|
|
rm *.wav
|
|
|
|
- name: Test sense-voice
|
|
shell: bash
|
|
run: |
|
|
gcc -o sense-voice-c-api ./c-api-examples/sense-voice-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
ls -lh sense-voice-c-api
|
|
|
|
if [[ ${{ matrix.os }} == ubuntu-latest || ${{ matrix.os }} == ubuntu-22.04-arm ]]; then
|
|
ldd ./sense-voice-c-api
|
|
echo "----"
|
|
readelf -d ./sense-voice-c-api
|
|
fi
|
|
|
|
# Now download models
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17.tar.bz2
|
|
tar xvf sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17.tar.bz2
|
|
rm sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17.tar.bz2
|
|
|
|
ls -lh sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17
|
|
echo "---"
|
|
ls -lh sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17/test_wavs
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./sense-voice-c-api
|
|
|
|
rm -rf sherpa-onnx-sense-voice-*
|
|
|
|
- name: Test whisper
|
|
shell: bash
|
|
run: |
|
|
gcc -o whisper-c-api ./c-api-examples/whisper-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
ls -lh whisper-c-api
|
|
|
|
if [[ ${{ matrix.os }} == ubuntu-latest || ${{ matrix.os }} == ubuntu-22.04-arm ]]; then
|
|
ldd ./whisper-c-api
|
|
echo "----"
|
|
readelf -d ./whisper-c-api
|
|
fi
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-tiny.tar.bz2
|
|
tar xvf sherpa-onnx-whisper-tiny.tar.bz2
|
|
rm sherpa-onnx-whisper-tiny.tar.bz2
|
|
|
|
ls -lh sherpa-onnx-whisper-tiny
|
|
echo "---"
|
|
ls -lh sherpa-onnx-whisper-tiny/test_wavs
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./whisper-c-api
|
|
|
|
rm -rf sherpa-onnx-whisper-*
|
|
|
|
- name: Test non-streaming zipformer
|
|
shell: bash
|
|
run: |
|
|
gcc -o zipformer-c-api ./c-api-examples/zipformer-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
ls -lh zipformer-c-api
|
|
|
|
if [[ ${{ matrix.os }} == ubuntu-latest || ${{ matrix.os }} == ubuntu-22.04-arm ]]; then
|
|
ldd ./zipformer-c-api
|
|
echo "----"
|
|
readelf -d ./zipformer-c-api
|
|
fi
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-zipformer-small-en-2023-06-26.tar.bz2
|
|
tar xvf sherpa-onnx-zipformer-small-en-2023-06-26.tar.bz2
|
|
rm sherpa-onnx-zipformer-small-en-2023-06-26.tar.bz2
|
|
|
|
ls -lh sherpa-onnx-zipformer-small-en-2023-06-26
|
|
echo "---"
|
|
ls -lh sherpa-onnx-zipformer-small-en-2023-06-26/test_wavs
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./zipformer-c-api
|
|
|
|
rm -rf sherpa-onnx-zipformer-*
|
|
|
|
- name: Test streaming zipformer
|
|
shell: bash
|
|
run: |
|
|
gcc -o streaming-zipformer-c-api ./c-api-examples/streaming-zipformer-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
ls -lh streaming-zipformer-c-api
|
|
|
|
if [[ ${{ matrix.os }} == ubuntu-latest || ${{ matrix.os }} == ubuntu-22.04-arm ]]; then
|
|
ldd ./streaming-zipformer-c-api
|
|
echo "----"
|
|
readelf -d ./streaming-zipformer-c-api
|
|
fi
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-en-20M-2023-02-17.tar.bz2
|
|
tar xvf sherpa-onnx-streaming-zipformer-en-20M-2023-02-17.tar.bz2
|
|
rm sherpa-onnx-streaming-zipformer-en-20M-2023-02-17.tar.bz2
|
|
|
|
ls -lh sherpa-onnx-streaming-zipformer-en-20M-2023-02-17
|
|
echo "---"
|
|
ls -lh sherpa-onnx-streaming-zipformer-en-20M-2023-02-17/test_wavs
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./streaming-zipformer-c-api
|
|
|
|
rm -rf sherpa-onnx-streaming-zipformer-*
|
|
|
|
- name: Test non-streaming paraformer
|
|
shell: bash
|
|
run: |
|
|
gcc -o paraformer-c-api ./c-api-examples/paraformer-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
ls -lh paraformer-c-api
|
|
|
|
if [[ ${{ matrix.os }} == ubuntu-latest || ${{ matrix.os }} == ubuntu-22.04-arm ]]; then
|
|
ldd ./paraformer-c-api
|
|
echo "----"
|
|
readelf -d ./paraformer-c-api
|
|
fi
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-paraformer-zh-small-2024-03-09.tar.bz2
|
|
tar xvf sherpa-onnx-paraformer-zh-small-2024-03-09.tar.bz2
|
|
rm sherpa-onnx-paraformer-zh-small-2024-03-09.tar.bz2
|
|
|
|
ls -lh sherpa-onnx-paraformer-zh-small-2024-03-09
|
|
echo "---"
|
|
ls -lh sherpa-onnx-paraformer-zh-small-2024-03-09/test_wavs
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./paraformer-c-api
|
|
|
|
rm -rf sherpa-onnx-paraformer-*
|
|
|
|
- name: Test streaming paraformer
|
|
shell: bash
|
|
run: |
|
|
gcc -o streaming-paraformer-c-api ./c-api-examples/streaming-paraformer-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
ls -lh streaming-paraformer-c-api
|
|
|
|
if [[ ${{ matrix.os }} == ubuntu-latest || ${{ matrix.os }} == ubuntu-22.04-arm ]]; then
|
|
ldd ./streaming-paraformer-c-api
|
|
echo "----"
|
|
readelf -d ./streaming-paraformer-c-api
|
|
fi
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-paraformer-bilingual-zh-en.tar.bz2
|
|
tar xvf sherpa-onnx-streaming-paraformer-bilingual-zh-en.tar.bz2
|
|
rm sherpa-onnx-streaming-paraformer-bilingual-zh-en.tar.bz2
|
|
|
|
ls -lh sherpa-onnx-streaming-paraformer-bilingual-zh-en
|
|
echo "---"
|
|
ls -lh sherpa-onnx-streaming-paraformer-bilingual-zh-en/test_wavs
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./streaming-paraformer-c-api
|
|
|
|
rm -rf sherpa-onnx-streaming-paraformer-*
|
|
|
|
- name: Test telespeech
|
|
shell: bash
|
|
run: |
|
|
gcc -o telespeech-c-api ./c-api-examples/telespeech-c-api.c \
|
|
-I ./build/install/include \
|
|
-L ./build/install/lib/ \
|
|
-l sherpa-onnx-c-api \
|
|
-l onnxruntime
|
|
|
|
ls -lh telespeech-c-api
|
|
|
|
if [[ ${{ matrix.os }} == ubuntu-latest ]]; then
|
|
ldd ./telespeech-c-api
|
|
echo "----"
|
|
readelf -d ./telespeech-c-api
|
|
fi
|
|
|
|
curl -SL -O https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-telespeech-ctc-int8-zh-2024-06-04.tar.bz2
|
|
tar xvf sherpa-onnx-telespeech-ctc-int8-zh-2024-06-04.tar.bz2
|
|
rm sherpa-onnx-telespeech-ctc-int8-zh-2024-06-04.tar.bz2
|
|
|
|
ls -lh sherpa-onnx-telespeech-ctc-int8-zh-2024-06-04
|
|
echo "---"
|
|
ls -lh sherpa-onnx-telespeech-ctc-int8-zh-2024-06-04/test_wavs
|
|
|
|
export LD_LIBRARY_PATH=$PWD/build/install/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=$PWD/build/install/lib:$DYLD_LIBRARY_PATH
|
|
|
|
./telespeech-c-api
|
|
|
|
rm -rf sherpa-onnx-telespeech-*
|