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-03-18 15:28:10 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Committed by
GitHub
2024-03-18 15:28:10 +0800
Commit
9d6eb3e834edbb0c55653f7bf1d0fd3b48715376
9d6eb3e8
1 parent
009ed2cd
small fixes to wasm kws. (#672)
显示空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
27 行增加
和
16 行删除
build-wasm-simd-kws.sh
wasm/kws/sherpa-onnx-kws.js
build-wasm-simd-kws.sh
100644 → 100755
查看文件 @
9d6eb3e
wasm/kws/sherpa-onnx-kws.js
查看文件 @
9d6eb3e
...
...
@@ -4,6 +4,23 @@ function freeConfig(config, Module) {
if
(
'buffer'
in
config
)
{
Module
.
_free
(
config
.
buffer
);
}
if
(
'transducer'
in
config
)
{
freeConfig
(
config
.
transducer
);
}
if
(
'featConfig'
in
config
)
{
freeConfig
(
config
.
featConfig
);
}
if
(
'modelConfig'
in
config
)
{
freeConfig
(
config
.
modelConfig
);
}
if
(
'keywordsBuffer'
in
config
)
{
Module
.
_free
(
config
.
keywordsBuffer
);
}
Module
.
_free
(
config
.
ptr
);
}
...
...
@@ -89,7 +106,7 @@ function initModelConfig(config, Module) {
offset
+=
4
;
return
{
buffer
:
buffer
,
ptr
:
ptr
,
len
:
len
,
buffer
:
buffer
,
ptr
:
ptr
,
len
:
len
,
transducer
:
transducer
}
}
...
...
@@ -103,12 +120,10 @@ function initFeatureExtractorConfig(config, Module) {
}
function
initKwsConfig
(
config
,
Module
)
{
let
featConfig
=
initFeatureExtractorConfig
(
config
.
featConfig
,
Module
);
let
featConfig
=
initFeatureExtractorConfig
(
config
.
featConfig
,
Module
);
let
modelConfig
=
initModelConfig
(
config
.
modelConfig
,
Module
);
let
numBytes
=
featConfig
.
len
+
modelConfig
.
len
+
4
*
5
;
let
numBytes
=
featConfig
.
len
+
modelConfig
.
len
+
4
*
5
;
let
ptr
=
Module
.
_malloc
(
numBytes
);
let
offset
=
0
;
...
...
@@ -118,7 +133,6 @@ function initKwsConfig(config, Module) {
Module
.
_CopyHeap
(
modelConfig
.
ptr
,
modelConfig
.
len
,
ptr
+
offset
)
offset
+=
modelConfig
.
len
;
Module
.
setValue
(
ptr
+
offset
,
config
.
maxActivePaths
,
'i32'
);
offset
+=
4
;
...
...
@@ -138,7 +152,8 @@ function initKwsConfig(config, Module) {
offset
+=
4
;
return
{
ptr
:
ptr
,
len
:
numBytes
,
featConfig
:
featConfig
,
modelConfig
:
modelConfig
ptr
:
ptr
,
len
:
numBytes
,
featConfig
:
featConfig
,
modelConfig
:
modelConfig
,
keywordsBuffer
:
keywordsBuffer
}
}
...
...
@@ -178,7 +193,7 @@ class Stream {
}
inputFinished
()
{
_InputFinished
(
this
.
handle
);
this
.
Module
.
_InputFinished
(
this
.
handle
);
}
};
...
...
@@ -188,9 +203,6 @@ class Kws {
let
config
=
initKwsConfig
(
configObj
,
Module
)
let
handle
=
Module
.
_CreateKeywordSpotter
(
config
.
ptr
);
freeConfig
(
config
.
featConfig
,
Module
);
freeConfig
(
config
.
modelConfig
,
Module
);
freeConfig
(
config
,
Module
);
this
.
handle
=
handle
;
...
...
@@ -211,7 +223,6 @@ class Kws {
return
this
.
Module
.
_IsKeywordStreamReady
(
this
.
handle
,
stream
.
handle
)
===
1
;
}
decode
(
stream
)
{
return
this
.
Module
.
_DecodeKeywordStream
(
this
.
handle
,
stream
.
handle
);
}
...
...
@@ -230,12 +241,12 @@ function createKws(Module, myConfig) {
encoder
:
'./encoder-epoch-12-avg-2-chunk-16-left-64.onnx'
,
decoder
:
'./decoder-epoch-12-avg-2-chunk-16-left-64.onnx'
,
joiner
:
'./joiner-epoch-12-avg-2-chunk-16-left-64.onnx'
,
}
}
;
let
modelConfig
=
{
transducer
:
transducerConfig
,
tokens
:
'./tokens.txt'
,
provider
:
'cpu'
,
modelType
:
""
,
modelType
:
''
,
numThreads
:
1
,
debug
:
1
};
...
...
@@ -252,8 +263,8 @@ function createKws(Module, myConfig) {
numTrailingBlanks
:
1
,
keywordsScore
:
1.0
,
keywordsThreshold
:
0.25
,
keywords
:
"x iǎo ài t óng x ué @小爱同学\n"
+
"j ūn g ē n iú b ī @军哥牛逼"
keywords
:
'x iǎo ài t óng x ué @小爱同学\n'
+
'j ūn g ē n iú b ī @军哥牛逼'
};
if
(
myConfig
)
{
...
...
请
注册
或
登录
后发表评论