Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
xuning
/
sherpaonnx
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Fangjun Kuang
2024-07-20 17:09:23 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Committed by
GitHub
2024-07-20 17:09:23 +0800
Commit
e472180f2cdc07a58fc6f3173f91532ecb4f91f5
e472180f
1 parent
25f0a104
Add C# API for SenseVoice models (#1151)
隐藏空白字符变更
内嵌
并排对比
正在显示
8 个修改的文件
包含
79 行增加
和
28 行删除
.github/scripts/test-dot-net.sh
dotnet-examples/offline-decode-files/Program.cs
dotnet-examples/offline-decode-files/run-sense-voice-ctc.sh
scripts/dart/release.sh
scripts/dotnet/OfflineModelConfig.cs
scripts/dotnet/OfflineSenseVoiceModelConfig.cs
scripts/dotnet/run.sh
scripts/go/release.sh
.github/scripts/test-dot-net.sh
查看文件 @
e472180
...
...
@@ -2,16 +2,8 @@
cd
dotnet-examples/
cd
./keyword-spotting-from-files
./run.sh
cd
../online-decode-files
./run-transducer-itn.sh
./run-zipformer2-ctc.sh
./run-transducer.sh
./run-paraformer.sh
cd
../offline-decode-files
cd
./offline-decode-files
./run-sense-voice-ctc.sh
./run-paraformer-itn.sh
./run-telespeech-ctc.sh
./run-nemo-ctc.sh
...
...
@@ -21,6 +13,15 @@ cd ../offline-decode-files
./run-whisper.sh
./run-tdnn-yesno.sh
cd
../keyword-spotting-from-files
./run.sh
cd
../online-decode-files
./run-transducer-itn.sh
./run-zipformer2-ctc.sh
./run-transducer.sh
./run-paraformer.sh
cd
../vad-non-streaming-asr-paraformer
./run.sh
...
...
dotnet-examples/offline-decode-files/Program.cs
查看文件 @
e472180
...
...
@@ -61,6 +61,12 @@ class OfflineDecodeFiles
[
Option
(
"telespeech-ctc"
,
Required
=
false
,
HelpText
=
"Path to model.onnx. Used only for TeleSpeech CTC models"
)]
public
string
TeleSpeechCtc
{
get
;
set
;
}
=
""
;
[
Option
(
"sense-voice-model"
,
Required
=
false
,
HelpText
=
"Path to model.onnx. Used only for SenseVoice CTC models"
)]
public
string
SenseVoiceModel
{
get
;
set
;
}
=
""
;
[
Option
(
"sense-voice-use-itn"
,
Required
=
false
,
HelpText
=
"1 to use inverse text normalization for sense voice."
)]
public
int
SenseVoiceUseItn
{
get
;
set
;
}
=
1
;
[
Option
(
"num-threads"
,
Required
=
false
,
Default
=
1
,
HelpText
=
"Number of threads for computation"
)]
public
int
NumThreads
{
get
;
set
;
}
=
1
;
...
...
@@ -225,6 +231,11 @@ to download pre-trained Tdnn models.
{
config
.
ModelConfig
.
Tdnn
.
Model
=
options
.
TdnnModel
;
}
else
if
(!
String
.
IsNullOrEmpty
(
options
.
SenseVoiceModel
))
{
config
.
ModelConfig
.
SenseVoice
.
Model
=
options
.
SenseVoiceModel
;
config
.
ModelConfig
.
SenseVoice
.
UseInverseTextNormalization
=
options
.
SenseVoiceUseItn
;
}
else
{
Console
.
WriteLine
(
"Please provide a model"
);
...
...
dotnet-examples/offline-decode-files/run-sense-voice-ctc.sh
0 → 100755
查看文件 @
e472180
#!/usr/bin/env bash
set
-ex
if
[
! -d ./sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17
]
;
then
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
fi
dotnet run
\
--sense-voice-model
=
./sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17/model.int8.onnx
\
--tokens
=
./sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17/tokens.txt
\
--files ./sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17/test_wavs/zh.wav
...
...
scripts/dart/release.sh
查看文件 @
e472180
...
...
@@ -36,7 +36,7 @@ windows_x64_wheel=$src_dir/$windows_x64_wheel_filename
function
process_linux
()
{
mkdir -p t
cd
t
curl -OL https://
$HF_MIRROR
/csukuangfj/sherpa-onnx-wheels/resolve/main/
$linux_wheel_filename
curl -OL https://
$HF_MIRROR
/csukuangfj/sherpa-onnx-wheels/resolve/main/
cpu/
$SHERPA_ONNX_VERSION
/
$linux_wheel_filename
unzip
$linux_wheel_filename
cp -v sherpa_onnx/lib/
*
.so
*
../linux
cd
..
...
...
@@ -50,7 +50,7 @@ function process_linux() {
function
process_windows_x64
()
{
mkdir -p t
cd
t
curl -OL https://
$HF_MIRROR
/csukuangfj/sherpa-onnx-wheels/resolve/main/
$windows_x64_wheel_filename
curl -OL https://
$HF_MIRROR
/csukuangfj/sherpa-onnx-wheels/resolve/main/
cpu/
$SHERPA_ONNX_VERSION
/
$windows_x64_wheel_filename
unzip
$windows_x64_wheel_filename
cp -v sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
.data/data/bin/
*
.dll ../windows
cd
..
...
...
@@ -60,7 +60,7 @@ function process_windows_x64() {
function
process_macos
()
{
mkdir -p t
cd
t
curl -OL https://
$HF_MIRROR
/csukuangfj/sherpa-onnx-wheels/resolve/main/
$macos_wheel_filename
curl -OL https://
$HF_MIRROR
/csukuangfj/sherpa-onnx-wheels/resolve/main/
cpu/
$SHERPA_ONNX_VERSION
/
$macos_wheel_filename
unzip
$macos_wheel_filename
cp -v sherpa_onnx/lib/
*
.dylib ../macos
cd
..
...
...
scripts/dotnet/OfflineModelConfig.cs
查看文件 @
e472180
...
...
@@ -23,6 +23,7 @@ namespace SherpaOnnx
ModelingUnit
=
"cjkchar"
;
BpeVocab
=
""
;
TeleSpeechCtc
=
""
;
SenseVoice
=
new
OfflineSenseVoiceModelConfig
();
}
public
OfflineTransducerModelConfig
Transducer
;
public
OfflineParaformerModelConfig
Paraformer
;
...
...
@@ -51,7 +52,7 @@ namespace SherpaOnnx
[
MarshalAs
(
UnmanagedType
.
LPStr
)]
public
string
TeleSpeechCtc
;
}
}
\ No newline at end of file
public
OfflineSenseVoiceModelConfig
SenseVoice
;
}
}
...
...
scripts/dotnet/OfflineSenseVoiceModelConfig.cs
0 → 100644
查看文件 @
e472180
/// Copyright (c) 2024 Xiaomi Corporation (authors: Fangjun Kuang)
using
System.Runtime.InteropServices
;
namespace
SherpaOnnx
{
[
StructLayout
(
LayoutKind
.
Sequential
)]
public
struct
OfflineSenseVoiceModelConfig
{
public
OfflineSenseVoiceModelConfig
()
{
Model
=
""
;
Language
=
""
;
UseInverseTextNormalization
=
0
;
}
[
MarshalAs
(
UnmanagedType
.
LPStr
)]
public
string
Model
;
[
MarshalAs
(
UnmanagedType
.
LPStr
)]
public
string
Language
;
public
int
UseInverseTextNormalization
;
}
}
...
...
scripts/dotnet/run.sh
查看文件 @
e472180
...
...
@@ -55,7 +55,7 @@ if [ ! -f $src_dir/linux-x64/libsherpa-onnx-c-api.so ]; then
if
[
-f
$linux_x64_wheel
]
;
then
cp -v
$linux_x64_wheel
.
else
curl -OL https://
$HF_MIRROR
/csukuangfj/sherpa-onnx-wheels/resolve/main/
$linux_x64_wheel_filename
curl -OL https://
$HF_MIRROR
/csukuangfj/sherpa-onnx-wheels/resolve/main/
cpu/
$SHERPA_ONNX_VERSION
/
$linux_x64_wheel_filename
fi
unzip
$linux_x64_wheel_filename
cp -v sherpa_onnx/lib/
*
.so
*
../
...
...
@@ -73,7 +73,7 @@ if [ ! -f $src_dir/linux-arm64/libsherpa-onnx-c-api.so ]; then
if
[
-f
$linux_arm64_wheel
]
;
then
cp -v
$linux_arm64_wheel
.
else
curl -OL https://
$HF_MIRROR
/csukuangfj/sherpa-onnx-wheels/resolve/main/
$linux_arm64_wheel_filename
curl -OL https://
$HF_MIRROR
/csukuangfj/sherpa-onnx-wheels/resolve/main/
cpu/
$SHERPA_ONNX_VERSION
/
$linux_arm64_wheel_filename
fi
unzip
$linux_arm64_wheel_filename
cp -v sherpa_onnx/lib/
*
.so
*
../
...
...
@@ -91,7 +91,7 @@ if [ ! -f $src_dir/macos-x64/libsherpa-onnx-c-api.dylib ]; then
if
[
-f
$macos_x64_wheel
]
;
then
cp -v
$macos_x64_wheel
.
else
curl -OL https://
$HF_MIRROR
/csukuangfj/sherpa-onnx-wheels/resolve/main/
$macos_x64_wheel_filename
curl -OL https://
$HF_MIRROR
/csukuangfj/sherpa-onnx-wheels/resolve/main/
cpu/
$SHERPA_ONNX_VERSION
/
$macos_x64_wheel_filename
fi
unzip
$macos_x64_wheel_filename
cp -v sherpa_onnx/lib/
*
.dylib ../
...
...
@@ -111,7 +111,7 @@ if [ ! -f $src_dir/macos-arm64/libsherpa-onnx-c-api.dylib ]; then
if
[
-f
$macos_arm64_wheel
]
;
then
cp -v
$macos_arm64_wheel
.
else
curl -OL https://
$HF_MIRROR
/csukuangfj/sherpa-onnx-wheels/resolve/main/
$macos_arm64_wheel_filename
curl -OL https://
$HF_MIRROR
/csukuangfj/sherpa-onnx-wheels/resolve/main/
cpu/
$SHERPA_ONNX_VERSION
/
$macos_arm64_wheel_filename
fi
unzip
$macos_arm64_wheel_filename
cp -v sherpa_onnx/lib/
*
.dylib ../
...
...
@@ -131,7 +131,7 @@ if [ ! -f $src_dir/windows-x64/sherpa-onnx-c-api.dll ]; then
if
[
-f
$windows_x64_wheel
]
;
then
cp -v
$windows_x64_wheel
.
else
curl -OL https://
$HF_MIRROR
/csukuangfj/sherpa-onnx-wheels/resolve/main/
$windows_x64_wheel_filename
curl -OL https://
$HF_MIRROR
/csukuangfj/sherpa-onnx-wheels/resolve/main/
cpu/
$SHERPA_ONNX_VERSION
/
$windows_x64_wheel_filename
fi
unzip
$windows_x64_wheel_filename
cp -v sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
.data/data/bin/
*
.dll ../
...
...
scripts/go/release.sh
查看文件 @
e472180
...
...
@@ -27,7 +27,7 @@ function linux() {
dst
=
$(
realpath sherpa-onnx-go-linux/lib/x86_64-unknown-linux-gnu
)
mkdir t
cd
t
wget -q https://huggingface.co/csukuangfj/sherpa-onnx-wheels/resolve/main/sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
wget -q https://huggingface.co/csukuangfj/sherpa-onnx-wheels/resolve/main/
cpu/
$SHERPA_ONNX_VERSION
/
sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
unzip ./sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cp -v sherpa_onnx/lib/
*
.so
*
$dst
...
...
@@ -39,7 +39,7 @@ function linux() {
dst
=
$(
realpath sherpa-onnx-go-linux/lib/aarch64-unknown-linux-gnu
)
mkdir t
cd
t
wget -q https://huggingface.co/csukuangfj/sherpa-onnx-wheels/resolve/main/sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
wget -q https://huggingface.co/csukuangfj/sherpa-onnx-wheels/resolve/main/
cpu/
$SHERPA_ONNX_VERSION
/
sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
unzip ./sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
cp -v sherpa_onnx/lib/
*
.so
*
$dst
...
...
@@ -51,7 +51,7 @@ function linux() {
dst
=
$(
realpath sherpa-onnx-go-linux/lib/arm-unknown-linux-gnueabihf
)
mkdir t
cd
t
wget -q https://huggingface.co/csukuangfj/sherpa-onnx-wheels/resolve/main/sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp38-cp38-linux_armv7l.whl
wget -q https://huggingface.co/csukuangfj/sherpa-onnx-wheels/resolve/main/
cpu/
$SHERPA_ONNX_VERSION
/
sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp38-cp38-linux_armv7l.whl
unzip ./sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp38-cp38-linux_armv7l.whl
cp -v sherpa_onnx/lib/
*
.so
*
$dst
...
...
@@ -84,7 +84,7 @@ function osx() {
mkdir t
cd
t
wget -q https://huggingface.co/csukuangfj/sherpa-onnx-wheels/resolve/main/sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp39-cp39-macosx_11_0_x86_64.whl
wget -q https://huggingface.co/csukuangfj/sherpa-onnx-wheels/resolve/main/
cpu/
$SHERPA_ONNX_VERSION
/
sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp39-cp39-macosx_11_0_x86_64.whl
unzip ./sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp39-cp39-macosx_11_0_x86_64.whl
cp -v sherpa_onnx/lib/
*
.dylib
$dst
/
...
...
@@ -102,7 +102,7 @@ function osx() {
mkdir t
cd
t
wget -q https://huggingface.co/csukuangfj/sherpa-onnx-wheels/resolve/main/sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp39-cp39-macosx_11_0_arm64.whl
wget -q https://huggingface.co/csukuangfj/sherpa-onnx-wheels/resolve/main/
cpu/
$SHERPA_ONNX_VERSION
/
sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp39-cp39-macosx_11_0_arm64.whl
unzip ./sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp39-cp39-macosx_11_0_arm64.whl
cp -v sherpa_onnx/lib/
*
.dylib
$dst
/
...
...
@@ -137,7 +137,7 @@ function windows() {
dst
=
$(
realpath sherpa-onnx-go-windows/lib/x86_64-pc-windows-gnu
)
mkdir t
cd
t
wget -q https://huggingface.co/csukuangfj/sherpa-onnx-wheels/resolve/main/sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp38-cp38-win_amd64.whl
wget -q https://huggingface.co/csukuangfj/sherpa-onnx-wheels/resolve/main/
cpu/
$SHERPA_ONNX_VERSION
/
sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp38-cp38-win_amd64.whl
unzip ./sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp38-cp38-win_amd64.whl
cp -v sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
.data/data/bin/
*
.dll
$dst
...
...
@@ -149,7 +149,7 @@ function windows() {
dst
=
$(
realpath sherpa-onnx-go-windows/lib/i686-pc-windows-gnu
)
mkdir t
cd
t
wget -q https://huggingface.co/csukuangfj/sherpa-onnx-wheels/resolve/main/sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp38-cp38-win32.whl
wget -q https://huggingface.co/csukuangfj/sherpa-onnx-wheels/resolve/main/
cpu/
$SHERPA_ONNX_VERSION
/
sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp38-cp38-win32.whl
unzip ./sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
-cp38-cp38-win32.whl
cp -v sherpa_onnx-
${
SHERPA_ONNX_VERSION
}
.data/data/bin/
*
.dll
$dst
...
...
请
注册
或
登录
后发表评论