Fix VAD+ASR example for Dart API. (#1294)

There is no need to invoke vad.isDetected().
This commit is contained in:
Fangjun Kuang
2024-08-27 22:15:50 +08:00
committed by GitHub
parent a2a70900d6
commit 22c6f81393
7 changed files with 94 additions and 114 deletions

View File

@@ -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;
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 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}');
final result = recognizer.getResult(stream);
stream.free();
print(
'${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');
vad.pop();
}
vad.pop();
}
}