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-08-27 22:15:50 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Committed by
GitHub
2024-08-27 22:15:50 +0800
Commit
22c6f8139366dff2e67726bfa0d30e78a5fba7f1
22c6f813
1 parent
a2a70900
Fix VAD+ASR example for Dart API. (#1294)
There is no need to invoke vad.isDetected().
隐藏空白字符变更
内嵌
并排对比
正在显示
7 个修改的文件
包含
114 行增加
和
134 行删除
dart-api-examples/non-streaming-asr/bin/vad-with-paraformer.dart
dart-api-examples/vad-with-non-streaming-asr/bin/paraformer.dart
dart-api-examples/vad-with-non-streaming-asr/bin/sense-voice-2.dart
dart-api-examples/vad-with-non-streaming-asr/bin/sense-voice.dart
dart-api-examples/vad-with-non-streaming-asr/bin/telespeech-ctc.dart
dart-api-examples/vad-with-non-streaming-asr/bin/whisper.dart
dart-api-examples/vad-with-non-streaming-asr/bin/zipformer-transducer.dart
dart-api-examples/non-streaming-asr/bin/vad-with-paraformer.dart
查看文件 @
22c6f81
...
...
@@ -69,27 +69,25 @@ void main(List<String> arguments) async {
vad
.
acceptWaveform
(
Float32List
.
sublistView
(
waveData
.
samples
,
start
,
start
+
vadConfig
.
sileroVad
.
windowSize
));
if
(
vad
.
isDetected
())
{
while
(!
vad
.
isEmpty
())
{
final
stream
=
recognizer
.
createStream
();
final
segment
=
vad
.
front
();
stream
.
acceptWaveform
(
samples:
segment
.
samples
,
sampleRate:
waveData
.
sampleRate
);
recognizer
.
decode
(
stream
);
final
result
=
recognizer
.
getResult
(
stream
);
final
startTime
=
segment
.
start
*
1.0
/
waveData
.
sampleRate
;
final
duration
=
segment
.
samples
.
length
*
1.0
/
waveData
.
sampleRate
;
final
stopTime
=
startTime
+
duration
;
if
(
result
.
text
!=
''
)
{
print
(
'
${startTime.toStringAsPrecision(4)}
--
${stopTime.toStringAsPrecision(4)}
:
${result.text}
'
);
}
stream
.
free
();
vad
.
pop
();
while
(!
vad
.
isEmpty
())
{
final
stream
=
recognizer
.
createStream
();
final
segment
=
vad
.
front
();
stream
.
acceptWaveform
(
samples:
segment
.
samples
,
sampleRate:
waveData
.
sampleRate
);
recognizer
.
decode
(
stream
);
final
result
=
recognizer
.
getResult
(
stream
);
final
startTime
=
segment
.
start
*
1.0
/
waveData
.
sampleRate
;
final
duration
=
segment
.
samples
.
length
*
1.0
/
waveData
.
sampleRate
;
final
stopTime
=
startTime
+
duration
;
if
(
result
.
text
!=
''
)
{
print
(
'
${startTime.toStringAsPrecision(4)}
--
${stopTime.toStringAsPrecision(4)}
:
${result.text}
'
);
}
stream
.
free
();
vad
.
pop
();
}
}
...
...
dart-api-examples/vad-with-non-streaming-asr/bin/paraformer.dart
查看文件 @
22c6f81
...
...
@@ -76,25 +76,22 @@ void main(List<String> arguments) async {
vad
.
acceptWaveform
(
Float32List
.
sublistView
(
waveData
.
samples
,
start
,
start
+
vadConfig
.
sileroVad
.
windowSize
));
if
(
vad
.
isDetected
())
{
while
(!
vad
.
isEmpty
())
{
final
samples
=
vad
.
front
().
samples
;
final
startTime
=
vad
.
front
().
start
.
toDouble
()
/
waveData
.
sampleRate
;
final
endTime
=
startTime
+
samples
.
length
.
toDouble
()
/
waveData
.
sampleRate
;
final
stream
=
recognizer
.
createStream
();
stream
.
acceptWaveform
(
samples:
samples
,
sampleRate:
waveData
.
sampleRate
);
recognizer
.
decode
(
stream
);
final
result
=
recognizer
.
getResult
(
stream
);
stream
.
free
();
print
(
'
${startTime.toStringAsPrecision(5)}
--
${endTime.toStringAsPrecision(5)}
:
${result.text}
'
);
vad
.
pop
();
}
while
(!
vad
.
isEmpty
())
{
final
samples
=
vad
.
front
().
samples
;
final
startTime
=
vad
.
front
().
start
.
toDouble
()
/
waveData
.
sampleRate
;
final
endTime
=
startTime
+
samples
.
length
.
toDouble
()
/
waveData
.
sampleRate
;
final
stream
=
recognizer
.
createStream
();
stream
.
acceptWaveform
(
samples:
samples
,
sampleRate:
waveData
.
sampleRate
);
recognizer
.
decode
(
stream
);
final
result
=
recognizer
.
getResult
(
stream
);
stream
.
free
();
print
(
'
${startTime.toStringAsPrecision(5)}
--
${endTime.toStringAsPrecision(5)}
:
${result.text}
'
);
vad
.
pop
();
}
}
...
...
dart-api-examples/vad-with-non-streaming-asr/bin/sense-voice-2.dart
查看文件 @
22c6f81
...
...
@@ -84,25 +84,22 @@ void main(List<String> arguments) async {
vad
.
acceptWaveform
(
samples
);
if
(
vad
.
isDetected
())
{
while
(!
vad
.
isEmpty
())
{
final
samples
=
vad
.
front
().
samples
;
final
startTime
=
vad
.
front
().
start
.
toDouble
()
/
waveData
.
sampleRate
;
final
endTime
=
startTime
+
samples
.
length
.
toDouble
()
/
waveData
.
sampleRate
;
final
stream
=
recognizer
.
createStream
();
stream
.
acceptWaveform
(
samples:
samples
,
sampleRate:
waveData
.
sampleRate
);
recognizer
.
decode
(
stream
);
final
result
=
recognizer
.
getResult
(
stream
);
stream
.
free
();
print
(
'
${startTime.toStringAsPrecision(5)}
--
${endTime.toStringAsPrecision(5)}
:
${result.text}
'
);
vad
.
pop
();
}
while
(!
vad
.
isEmpty
())
{
final
samples
=
vad
.
front
().
samples
;
final
startTime
=
vad
.
front
().
start
.
toDouble
()
/
waveData
.
sampleRate
;
final
endTime
=
startTime
+
samples
.
length
.
toDouble
()
/
waveData
.
sampleRate
;
final
stream
=
recognizer
.
createStream
();
stream
.
acceptWaveform
(
samples:
samples
,
sampleRate:
waveData
.
sampleRate
);
recognizer
.
decode
(
stream
);
final
result
=
recognizer
.
getResult
(
stream
);
stream
.
free
();
print
(
'
${startTime.toStringAsPrecision(5)}
--
${endTime.toStringAsPrecision(5)}
:
${result.text}
'
);
vad
.
pop
();
}
}
...
...
dart-api-examples/vad-with-non-streaming-asr/bin/sense-voice.dart
查看文件 @
22c6f81
...
...
@@ -81,25 +81,22 @@ void main(List<String> arguments) async {
vad
.
acceptWaveform
(
Float32List
.
sublistView
(
waveData
.
samples
,
start
,
start
+
vadConfig
.
sileroVad
.
windowSize
));
if
(
vad
.
isDetected
())
{
while
(!
vad
.
isEmpty
())
{
final
samples
=
vad
.
front
().
samples
;
final
startTime
=
vad
.
front
().
start
.
toDouble
()
/
waveData
.
sampleRate
;
final
endTime
=
startTime
+
samples
.
length
.
toDouble
()
/
waveData
.
sampleRate
;
final
stream
=
recognizer
.
createStream
();
stream
.
acceptWaveform
(
samples:
samples
,
sampleRate:
waveData
.
sampleRate
);
recognizer
.
decode
(
stream
);
final
result
=
recognizer
.
getResult
(
stream
);
stream
.
free
();
print
(
'
${startTime.toStringAsPrecision(5)}
--
${endTime.toStringAsPrecision(5)}
:
${result.text}
'
);
vad
.
pop
();
}
while
(!
vad
.
isEmpty
())
{
final
samples
=
vad
.
front
().
samples
;
final
startTime
=
vad
.
front
().
start
.
toDouble
()
/
waveData
.
sampleRate
;
final
endTime
=
startTime
+
samples
.
length
.
toDouble
()
/
waveData
.
sampleRate
;
final
stream
=
recognizer
.
createStream
();
stream
.
acceptWaveform
(
samples:
samples
,
sampleRate:
waveData
.
sampleRate
);
recognizer
.
decode
(
stream
);
final
result
=
recognizer
.
getResult
(
stream
);
stream
.
free
();
print
(
'
${startTime.toStringAsPrecision(5)}
--
${endTime.toStringAsPrecision(5)}
:
${result.text}
'
);
vad
.
pop
();
}
}
...
...
dart-api-examples/vad-with-non-streaming-asr/bin/telespeech-ctc.dart
查看文件 @
22c6f81
...
...
@@ -73,25 +73,22 @@ void main(List<String> arguments) async {
vad
.
acceptWaveform
(
Float32List
.
sublistView
(
waveData
.
samples
,
start
,
start
+
vadConfig
.
sileroVad
.
windowSize
));
if
(
vad
.
isDetected
())
{
while
(!
vad
.
isEmpty
())
{
final
samples
=
vad
.
front
().
samples
;
final
startTime
=
vad
.
front
().
start
.
toDouble
()
/
waveData
.
sampleRate
;
final
endTime
=
startTime
+
samples
.
length
.
toDouble
()
/
waveData
.
sampleRate
;
final
stream
=
recognizer
.
createStream
();
stream
.
acceptWaveform
(
samples:
samples
,
sampleRate:
waveData
.
sampleRate
);
recognizer
.
decode
(
stream
);
final
result
=
recognizer
.
getResult
(
stream
);
stream
.
free
();
print
(
'
${startTime.toStringAsPrecision(5)}
--
${endTime.toStringAsPrecision(5)}
:
${result.text}
'
);
vad
.
pop
();
}
while
(!
vad
.
isEmpty
())
{
final
samples
=
vad
.
front
().
samples
;
final
startTime
=
vad
.
front
().
start
.
toDouble
()
/
waveData
.
sampleRate
;
final
endTime
=
startTime
+
samples
.
length
.
toDouble
()
/
waveData
.
sampleRate
;
final
stream
=
recognizer
.
createStream
();
stream
.
acceptWaveform
(
samples:
samples
,
sampleRate:
waveData
.
sampleRate
);
recognizer
.
decode
(
stream
);
final
result
=
recognizer
.
getResult
(
stream
);
stream
.
free
();
print
(
'
${startTime.toStringAsPrecision(5)}
--
${endTime.toStringAsPrecision(5)}
:
${result.text}
'
);
vad
.
pop
();
}
}
...
...
dart-api-examples/vad-with-non-streaming-asr/bin/whisper.dart
查看文件 @
22c6f81
...
...
@@ -80,25 +80,22 @@ void main(List<String> arguments) async {
vad
.
acceptWaveform
(
Float32List
.
sublistView
(
waveData
.
samples
,
start
,
start
+
vadConfig
.
sileroVad
.
windowSize
));
if
(
vad
.
isDetected
())
{
while
(!
vad
.
isEmpty
())
{
final
samples
=
vad
.
front
().
samples
;
final
startTime
=
vad
.
front
().
start
.
toDouble
()
/
waveData
.
sampleRate
;
final
endTime
=
startTime
+
samples
.
length
.
toDouble
()
/
waveData
.
sampleRate
;
final
stream
=
recognizer
.
createStream
();
stream
.
acceptWaveform
(
samples:
samples
,
sampleRate:
waveData
.
sampleRate
);
recognizer
.
decode
(
stream
);
final
result
=
recognizer
.
getResult
(
stream
);
stream
.
free
();
print
(
'
${startTime.toStringAsPrecision(5)}
--
${endTime.toStringAsPrecision(5)}
:
${result.text}
'
);
vad
.
pop
();
}
while
(!
vad
.
isEmpty
())
{
final
samples
=
vad
.
front
().
samples
;
final
startTime
=
vad
.
front
().
start
.
toDouble
()
/
waveData
.
sampleRate
;
final
endTime
=
startTime
+
samples
.
length
.
toDouble
()
/
waveData
.
sampleRate
;
final
stream
=
recognizer
.
createStream
();
stream
.
acceptWaveform
(
samples:
samples
,
sampleRate:
waveData
.
sampleRate
);
recognizer
.
decode
(
stream
);
final
result
=
recognizer
.
getResult
(
stream
);
stream
.
free
();
print
(
'
${startTime.toStringAsPrecision(5)}
--
${endTime.toStringAsPrecision(5)}
:
${result.text}
'
);
vad
.
pop
();
}
}
...
...
dart-api-examples/vad-with-non-streaming-asr/bin/zipformer-transducer.dart
查看文件 @
22c6f81
...
...
@@ -84,25 +84,22 @@ void main(List<String> arguments) async {
vad
.
acceptWaveform
(
Float32List
.
sublistView
(
waveData
.
samples
,
start
,
start
+
vadConfig
.
sileroVad
.
windowSize
));
if
(
vad
.
isDetected
())
{
while
(!
vad
.
isEmpty
())
{
final
samples
=
vad
.
front
().
samples
;
final
startTime
=
vad
.
front
().
start
.
toDouble
()
/
waveData
.
sampleRate
;
final
endTime
=
startTime
+
samples
.
length
.
toDouble
()
/
waveData
.
sampleRate
;
final
stream
=
recognizer
.
createStream
();
stream
.
acceptWaveform
(
samples:
samples
,
sampleRate:
waveData
.
sampleRate
);
recognizer
.
decode
(
stream
);
final
result
=
recognizer
.
getResult
(
stream
);
stream
.
free
();
print
(
'
${startTime.toStringAsPrecision(5)}
--
${endTime.toStringAsPrecision(5)}
:
${result.text}
'
);
vad
.
pop
();
}
while
(!
vad
.
isEmpty
())
{
final
samples
=
vad
.
front
().
samples
;
final
startTime
=
vad
.
front
().
start
.
toDouble
()
/
waveData
.
sampleRate
;
final
endTime
=
startTime
+
samples
.
length
.
toDouble
()
/
waveData
.
sampleRate
;
final
stream
=
recognizer
.
createStream
();
stream
.
acceptWaveform
(
samples:
samples
,
sampleRate:
waveData
.
sampleRate
);
recognizer
.
decode
(
stream
);
final
result
=
recognizer
.
getResult
(
stream
);
stream
.
free
();
print
(
'
${startTime.toStringAsPrecision(5)}
--
${endTime.toStringAsPrecision(5)}
:
${result.text}
'
);
vad
.
pop
();
}
}
...
...
请
注册
或
登录
后发表评论