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-10-18 16:35:31 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Committed by
GitHub
2024-10-18 16:35:31 +0800
Commit
1af8ad89e667f64ceeeecc2b5c78b77d6b7f6066
1af8ad89
1 parent
e0586f18
Add Java API example for hotwords. (#1442)
隐藏空白字符变更
内嵌
并排对比
正在显示
3 个修改的文件
包含
106 行增加
和
0 行删除
java-api-examples/.gitignore
java-api-examples/NonStreamingDecodeFileTransducerHotwords.java
java-api-examples/run-non-streaming-decode-file-transducer-hotwords.sh
java-api-examples/.gitignore
查看文件 @
1af8ad8
lib
hs_err*
!run-*.sh
./hotwords_cn.txt
...
...
java-api-examples/NonStreamingDecodeFileTransducerHotwords.java
0 → 100644
查看文件 @
1af8ad8
// Copyright 2024 Xiaomi Corporation
// This file shows how to use an offline transducer, i.e., non-streaming transducer,
// to decode files with hotwords support.
//
// See also
// https://k2-fsa.github.io/sherpa/onnx/hotwords/index.html#modeling-unit-is-cjkchar
import
com.k2fsa.sherpa.onnx.*
;
public
class
NonStreamingDecodeFileTransducerHotwords
{
public
static
void
main
(
String
[]
args
)
{
// please refer to
// https://k2-fsa.github.io/sherpa/onnx/hotwords/index.html#modeling-unit-is-cjkchar
// to download model files
String
encoder
=
"./sherpa-onnx-conformer-zh-stateless2-2023-05-23/encoder-epoch-99-avg-1.int8.onnx"
;
String
decoder
=
"./sherpa-onnx-conformer-zh-stateless2-2023-05-23/decoder-epoch-99-avg-1.onnx"
;
String
joiner
=
"./sherpa-onnx-conformer-zh-stateless2-2023-05-23/joiner-epoch-99-avg-1.onnx"
;
String
tokens
=
"./sherpa-onnx-conformer-zh-stateless2-2023-05-23/tokens.txt"
;
String
waveFilename
=
"./sherpa-onnx-conformer-zh-stateless2-2023-05-23/test_wavs/6.wav"
;
WaveReader
reader
=
new
WaveReader
(
waveFilename
);
OfflineTransducerModelConfig
transducer
=
OfflineTransducerModelConfig
.
builder
()
.
setEncoder
(
encoder
)
.
setDecoder
(
decoder
)
.
setJoiner
(
joiner
)
.
build
();
OfflineModelConfig
modelConfig
=
OfflineModelConfig
.
builder
()
.
setTransducer
(
transducer
)
.
setTokens
(
tokens
)
.
setNumThreads
(
1
)
.
setDebug
(
true
)
.
setModelingUnit
(
"cjkchar"
)
.
build
();
OfflineRecognizerConfig
config
=
OfflineRecognizerConfig
.
builder
()
.
setOfflineModelConfig
(
modelConfig
)
.
setDecodingMethod
(
"modified_beam_search"
)
.
setHotwordsFile
(
"./hotwords_cn.txt"
)
.
setHotwordsScore
(
2.0f
)
.
build
();
OfflineRecognizer
recognizer
=
new
OfflineRecognizer
(
config
);
OfflineStream
stream
=
recognizer
.
createStream
();
stream
.
acceptWaveform
(
reader
.
getSamples
(),
reader
.
getSampleRate
());
recognizer
.
decode
(
stream
);
String
text
=
recognizer
.
getResult
(
stream
).
getText
();
System
.
out
.
printf
(
"filename:%s\nresult:%s\n"
,
waveFilename
,
text
);
stream
.
release
();
recognizer
.
release
();
}
}
...
...
java-api-examples/run-non-streaming-decode-file-transducer-hotwords.sh
0 → 100755
查看文件 @
1af8ad8
#!/usr/bin/env bash
set
-ex
if
[[
! -f ../build/lib/libsherpa-onnx-jni.dylib
&&
! -f ../build/lib/libsherpa-onnx-jni.so
]]
;
then
mkdir -p ../build
pushd
../build
cmake
\
-DSHERPA_ONNX_ENABLE_PYTHON
=
OFF
\
-DSHERPA_ONNX_ENABLE_TESTS
=
OFF
\
-DSHERPA_ONNX_ENABLE_CHECK
=
OFF
\
-DBUILD_SHARED_LIBS
=
ON
\
-DSHERPA_ONNX_ENABLE_PORTAUDIO
=
OFF
\
-DSHERPA_ONNX_ENABLE_JNI
=
ON
\
..
make -j4
ls -lh lib
popd
fi
if
[
! -f ../sherpa-onnx/java-api/build/sherpa-onnx.jar
]
;
then
pushd
../sherpa-onnx/java-api
make
popd
fi
if
[
! -f ./sherpa-onnx-conformer-zh-stateless2-2023-05-23/tokens.txt
]
;
then
wget https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-conformer-zh-stateless2-2023-05-23.tar.bz2
tar xvf sherpa-onnx-conformer-zh-stateless2-2023-05-23.tar.bz2
rm sherpa-onnx-conformer-zh-stateless2-2023-05-23.tar.bz2
fi
if
[
! -f hotwords_cn.txt
]
;
then
cat > hotwords_cn.txt
<<EOF
朱丽楠
EOF
fi
java
\
-Djava.library.path
=
$PWD
/../build/lib
\
-cp ../sherpa-onnx/java-api/build/sherpa-onnx.jar
\
NonStreamingDecodeFileTransducerHotwords.java
...
...
请
注册
或
登录
后发表评论