Publish node-addon-api npm package for linux arm64 (#841)
This commit is contained in:
1
.github/scripts/node-addon/package.json
vendored
1
.github/scripts/node-addon/package.json
vendored
@@ -48,6 +48,7 @@
|
|||||||
"sherpa-onnx-darwin-arm64": "^SHERPA_ONNX_VERSION",
|
"sherpa-onnx-darwin-arm64": "^SHERPA_ONNX_VERSION",
|
||||||
"sherpa-onnx-darwin-x64": "^SHERPA_ONNX_VERSION",
|
"sherpa-onnx-darwin-x64": "^SHERPA_ONNX_VERSION",
|
||||||
"sherpa-onnx-linux-x64": "^SHERPA_ONNX_VERSION",
|
"sherpa-onnx-linux-x64": "^SHERPA_ONNX_VERSION",
|
||||||
|
"sherpa-onnx-linux-arm64": "^SHERPA_ONNX_VERSION",
|
||||||
"sherpa-onnx-win-x64": "^SHERPA_ONNX_VERSION"
|
"sherpa-onnx-win-x64": "^SHERPA_ONNX_VERSION"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
2
.github/scripts/node-addon/run.sh
vendored
2
.github/scripts/node-addon/run.sh
vendored
@@ -6,7 +6,9 @@ echo "sherpa_onnx_dir: $sherpa_onnx_dir"
|
|||||||
src_dir=$sherpa_onnx_dir/.github/scripts/node-addon
|
src_dir=$sherpa_onnx_dir/.github/scripts/node-addon
|
||||||
|
|
||||||
platform=$(node -p "require('os').platform()")
|
platform=$(node -p "require('os').platform()")
|
||||||
|
|
||||||
arch=$(node -p "require('os').arch()")
|
arch=$(node -p "require('os').arch()")
|
||||||
|
|
||||||
platform2=$platform
|
platform2=$platform
|
||||||
|
|
||||||
if [[ $platform == win32 ]]; then
|
if [[ $platform == win32 ]]; then
|
||||||
|
|||||||
1
.github/scripts/test-nodejs-addon-npm.sh
vendored
1
.github/scripts/test-nodejs-addon-npm.sh
vendored
@@ -13,6 +13,7 @@ ls -lh node_modules
|
|||||||
export DYLD_LIBRARY_PATH=$PWD/node_modules/sherpa-onnx-darwin-x64:$DYLD_LIBRARY_PATH
|
export DYLD_LIBRARY_PATH=$PWD/node_modules/sherpa-onnx-darwin-x64:$DYLD_LIBRARY_PATH
|
||||||
export DYLD_LIBRARY_PATH=$PWD/node_modules/sherpa-onnx-darwin-arm64:$DYLD_LIBRARY_PATH
|
export DYLD_LIBRARY_PATH=$PWD/node_modules/sherpa-onnx-darwin-arm64:$DYLD_LIBRARY_PATH
|
||||||
export LD_LIBRARY_PATH=$PWD/node_modules/sherpa-onnx-linux-x64:$LD_LIBRARY_PATH
|
export LD_LIBRARY_PATH=$PWD/node_modules/sherpa-onnx-linux-x64:$LD_LIBRARY_PATH
|
||||||
|
export LD_LIBRARY_PATH=$PWD/node_modules/sherpa-onnx-linux-arm64:$LD_LIBRARY_PATH
|
||||||
|
|
||||||
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
|
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
|
tar xvf sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2
|
||||||
|
|||||||
134
.github/workflows/npm-addon-linux-aarch64.yaml
vendored
Normal file
134
.github/workflows/npm-addon-linux-aarch64.yaml
vendored
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
name: npm-addon-linux-aarch64
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: npm-addon-linux-aarch64-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
npm-addon-linux-aarch64:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest]
|
||||||
|
python-version: ["3.8"]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v2
|
||||||
|
with:
|
||||||
|
platforms: arm64
|
||||||
|
|
||||||
|
- name: Setup Python ${{ matrix.python-version }}
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
|
||||||
|
- name: Show .npmrc
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo $PWD
|
||||||
|
echo $HOME
|
||||||
|
|
||||||
|
find $HOME -name .npmrc
|
||||||
|
|
||||||
|
- uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
registry-url: 'https://registry.npmjs.org'
|
||||||
|
|
||||||
|
- name: Show .npmrc
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo $PWD
|
||||||
|
echo $HOME
|
||||||
|
|
||||||
|
find $HOME -name .npmrc
|
||||||
|
|
||||||
|
cat /home/runner/work/_temp/.npmrc
|
||||||
|
cp -v /home/runner/work/_temp/.npmrc ./
|
||||||
|
|
||||||
|
- name: Build sherpa-onnx
|
||||||
|
uses: addnab/docker-run-action@v3
|
||||||
|
with:
|
||||||
|
image: quay.io/pypa/manylinux2014_aarch64
|
||||||
|
options: |
|
||||||
|
--platform linux/arm64
|
||||||
|
--volume ${{ github.workspace }}/:/shared/
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
cp /shared/.npmrc ~/
|
||||||
|
|
||||||
|
cat ~/.npmrc
|
||||||
|
|
||||||
|
echo $HOME
|
||||||
|
uname -a
|
||||||
|
cat /etc/*release
|
||||||
|
gcc --version
|
||||||
|
cmake --version
|
||||||
|
|
||||||
|
curl -sL https://rpm.nodesource.com/setup_16.x | bash -
|
||||||
|
yum install -y nodejs
|
||||||
|
|
||||||
|
node --version
|
||||||
|
|
||||||
|
cd /shared
|
||||||
|
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=./install \
|
||||||
|
-DBUILD_SHARED_LIBS=ON \
|
||||||
|
-DSHERPA_ONNX_ENABLE_WEBSOCKET=OFF \
|
||||||
|
-DSHERPA_ONNX_ENABLE_PORTAUDIO=OFF \
|
||||||
|
-DSHERPA_ONNX_ENABLE_BINARY=OFF \
|
||||||
|
..
|
||||||
|
|
||||||
|
make -j
|
||||||
|
make install
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
d=$PWD
|
||||||
|
export SHERPA_ONNX_INSTALL_DIR=$d/build/install
|
||||||
|
|
||||||
|
ls -lh /shared/build
|
||||||
|
|
||||||
|
pushd scripts/node-addon-api/
|
||||||
|
npm i
|
||||||
|
|
||||||
|
./node_modules/.bin/cmake-js compile --log-level verbose
|
||||||
|
popd
|
||||||
|
|
||||||
|
owner=${{ github.repository_owner }}
|
||||||
|
export owner
|
||||||
|
|
||||||
|
echo "---"
|
||||||
|
ls -lh build/install/lib/
|
||||||
|
sudo chown -R runner ./build
|
||||||
|
echo "---"
|
||||||
|
ls -lh build/install/lib/
|
||||||
|
echo "---"
|
||||||
|
|
||||||
|
.github/scripts/node-addon/run.sh
|
||||||
|
|
||||||
|
ls -lh ./sherpa-onnx-node
|
||||||
|
|
||||||
|
export NODE_AUTH_TOKEN=${{ secrets.NPM_TOKEN }}
|
||||||
|
|
||||||
|
cd ./sherpa-onnx-node
|
||||||
|
cp -v /shared/.npmrc ./
|
||||||
|
npm install
|
||||||
|
npm ci
|
||||||
|
ls -lh
|
||||||
|
# see https://docs.npmjs.com/generating-provenance-statements
|
||||||
|
npm publish --provenance --access public
|
||||||
80
.github/workflows/test-nodejs-addon-npm-aarch64.yaml
vendored
Normal file
80
.github/workflows/test-nodejs-addon-npm-aarch64.yaml
vendored
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
name: test-node-addon-npm-aarch64
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths:
|
||||||
|
- '.github/workflows/test-nodejs-addon-npm-aarch64.yaml'
|
||||||
|
- 'CMakeLists.txt'
|
||||||
|
- 'cmake/**'
|
||||||
|
- 'sherpa-onnx/csrc/*'
|
||||||
|
- 'sherpa-onnx/c-api/*'
|
||||||
|
- 'scripts/node-addon-api/**'
|
||||||
|
- 'scripts/node-addon-api/*.js'
|
||||||
|
- 'nodejs-addon-examples/package.json'
|
||||||
|
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths:
|
||||||
|
- '.github/workflows/test-nodejs-addon-npm-aarch64.yaml'
|
||||||
|
- 'CMakeLists.txt'
|
||||||
|
- 'cmake/**'
|
||||||
|
- 'sherpa-onnx/csrc/*'
|
||||||
|
- 'sherpa-onnx/c-api/*'
|
||||||
|
- 'scripts/node-addon-api/*.js'
|
||||||
|
- 'nodejs-addon-examples/package.json'
|
||||||
|
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: test-node-addon-npm-aarch64-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test-node-addon-npm-aarch64:
|
||||||
|
name: ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v2
|
||||||
|
with:
|
||||||
|
platforms: arm64
|
||||||
|
|
||||||
|
- name: Test sherpa-onnx
|
||||||
|
uses: addnab/docker-run-action@v3
|
||||||
|
with:
|
||||||
|
image: quay.io/pypa/manylinux2014_aarch64
|
||||||
|
options: |
|
||||||
|
--platform linux/arm64
|
||||||
|
--volume ${{ github.workspace }}/:/shared/
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
git config --global --add safe.directory /shared
|
||||||
|
|
||||||
|
echo $HOME
|
||||||
|
uname -a
|
||||||
|
cat /etc/*release
|
||||||
|
cmake --version
|
||||||
|
|
||||||
|
curl -sL https://rpm.nodesource.com/setup_16.x | bash -
|
||||||
|
yum install -y nodejs
|
||||||
|
|
||||||
|
node --version
|
||||||
|
|
||||||
|
cd /shared
|
||||||
|
|
||||||
|
.github/scripts/test-nodejs-addon-npm.sh
|
||||||
19
README.md
19
README.md
@@ -9,6 +9,7 @@ This repository supports running the following functions **locally**
|
|||||||
- Spoken language identification
|
- Spoken language identification
|
||||||
- Audio tagging
|
- Audio tagging
|
||||||
- VAD (e.g., [silero-vad](https://github.com/snakers4/silero-vad))
|
- VAD (e.g., [silero-vad](https://github.com/snakers4/silero-vad))
|
||||||
|
- Keyword spotting
|
||||||
|
|
||||||
on the following platforms and operating systems:
|
on the following platforms and operating systems:
|
||||||
|
|
||||||
@@ -27,17 +28,11 @@ on the following platforms and operating systems:
|
|||||||
|
|
||||||
with the following APIs
|
with the following APIs
|
||||||
|
|
||||||
- C++
|
- C++, C, Python, Go, ``C#``
|
||||||
- C
|
- Java, Kotlin, JavaScript
|
||||||
- Python
|
|
||||||
- Go
|
|
||||||
- ``C#``
|
|
||||||
- Javascript
|
|
||||||
- Java
|
|
||||||
- Kotlin
|
|
||||||
- Swift
|
- Swift
|
||||||
|
|
||||||
# Links for pre-built Android APKs
|
## Links for pre-built Android APKs
|
||||||
|
|
||||||
| Description | URL | 中国用户 |
|
| Description | URL | 中国用户 |
|
||||||
|--------------------------------|-----------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|
|
|--------------------------------|-----------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|
|
||||||
@@ -52,7 +47,7 @@ with the following APIs
|
|||||||
| Spoken language identification | [Address](https://k2-fsa.github.io/sherpa/onnx/spoken-language-identification/apk.html) | [点此](https://k2-fsa.github.io/sherpa/onnx/spoken-language-identification/apk-cn.html) |
|
| Spoken language identification | [Address](https://k2-fsa.github.io/sherpa/onnx/spoken-language-identification/apk.html) | [点此](https://k2-fsa.github.io/sherpa/onnx/spoken-language-identification/apk-cn.html) |
|
||||||
|Keyword spotting| [Address](https://k2-fsa.github.io/sherpa/onnx/kws/apk.html)| [点此](https://k2-fsa.github.io/sherpa/onnx/kws/apk-cn.html)|
|
|Keyword spotting| [Address](https://k2-fsa.github.io/sherpa/onnx/kws/apk.html)| [点此](https://k2-fsa.github.io/sherpa/onnx/kws/apk-cn.html)|
|
||||||
|
|
||||||
# Links for pre-trained models
|
## Links for pre-trained models
|
||||||
|
|
||||||
| Description | URL |
|
| Description | URL |
|
||||||
|--------------------------------|--------------------------------------------------------------------------------------------------------------------------------|
|
|--------------------------------|--------------------------------------------------------------------------------------------------------------------------------|
|
||||||
@@ -65,12 +60,12 @@ with the following APIs
|
|||||||
| Spoken language identification (Language ID) | See multi-lingual Whisper ASR models from [Speech recognition](https://github.com/k2-fsa/sherpa-onnx/releases/tag/asr-models) |
|
| Spoken language identification (Language ID) | See multi-lingual Whisper ASR models from [Speech recognition](https://github.com/k2-fsa/sherpa-onnx/releases/tag/asr-models) |
|
||||||
| Punctuation| [Address](https://github.com/k2-fsa/sherpa-onnx/releases/tag/punctuation-models)|
|
| Punctuation| [Address](https://github.com/k2-fsa/sherpa-onnx/releases/tag/punctuation-models)|
|
||||||
|
|
||||||
# Useful links
|
## Useful links
|
||||||
|
|
||||||
- Documentation: https://k2-fsa.github.io/sherpa/onnx/
|
- Documentation: https://k2-fsa.github.io/sherpa/onnx/
|
||||||
- Bilibili 演示视频: https://search.bilibili.com/all?keyword=%E6%96%B0%E4%B8%80%E4%BB%A3Kaldi
|
- Bilibili 演示视频: https://search.bilibili.com/all?keyword=%E6%96%B0%E4%B8%80%E4%BB%A3Kaldi
|
||||||
|
|
||||||
# How to reach us
|
## How to reach us
|
||||||
|
|
||||||
Please see
|
Please see
|
||||||
https://k2-fsa.github.io/sherpa/social-groups.html
|
https://k2-fsa.github.io/sherpa/social-groups.html
|
||||||
|
|||||||
@@ -22,8 +22,10 @@ export DYLD_LIBRARY_PATH=$PWD/node_modules/sherpa-onnx-darwin-arm64:$DYLD_LIBRAR
|
|||||||
|
|
||||||
# For Linux x64
|
# For Linux x64
|
||||||
export LD_LIBRARY_PATH=$PWD/node_modules/sherpa-onnx-linux-x64:$LD_LIBRARY_PATH
|
export LD_LIBRARY_PATH=$PWD/node_modules/sherpa-onnx-linux-x64:$LD_LIBRARY_PATH
|
||||||
```
|
|
||||||
|
|
||||||
|
# For Linux arm64, e.g., Raspberry Pi 4
|
||||||
|
export LD_LIBRARY_PATH=$PWD/node_modules/sherpa-onnx-linux-arm64:$LD_LIBRARY_PATH
|
||||||
|
```
|
||||||
|
|
||||||
## Streaming speech recognition with zipformer transducer
|
## Streaming speech recognition with zipformer transducer
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
Reference in New Issue
Block a user