Fix VAD+ASR example for Dart API. (#1294)
There is no need to invoke vad.isDetected().
This commit is contained in:
@@ -69,27 +69,25 @@ void main(List<String> arguments) async {
|
|||||||
vad.acceptWaveform(Float32List.sublistView(
|
vad.acceptWaveform(Float32List.sublistView(
|
||||||
waveData.samples, start, start + vadConfig.sileroVad.windowSize));
|
waveData.samples, start, start + vadConfig.sileroVad.windowSize));
|
||||||
|
|
||||||
if (vad.isDetected()) {
|
while (!vad.isEmpty()) {
|
||||||
while (!vad.isEmpty()) {
|
final stream = recognizer.createStream();
|
||||||
final stream = recognizer.createStream();
|
final segment = vad.front();
|
||||||
final segment = vad.front();
|
stream.acceptWaveform(
|
||||||
stream.acceptWaveform(
|
samples: segment.samples, sampleRate: waveData.sampleRate);
|
||||||
samples: segment.samples, sampleRate: waveData.sampleRate);
|
recognizer.decode(stream);
|
||||||
recognizer.decode(stream);
|
|
||||||
|
|
||||||
final result = recognizer.getResult(stream);
|
final result = recognizer.getResult(stream);
|
||||||
|
|
||||||
final startTime = segment.start * 1.0 / waveData.sampleRate;
|
final startTime = segment.start * 1.0 / waveData.sampleRate;
|
||||||
final duration = segment.samples.length * 1.0 / waveData.sampleRate;
|
final duration = segment.samples.length * 1.0 / waveData.sampleRate;
|
||||||
final stopTime = startTime + duration;
|
final stopTime = startTime + duration;
|
||||||
if (result.text != '') {
|
if (result.text != '') {
|
||||||
print(
|
print(
|
||||||
'${startTime.toStringAsPrecision(4)} -- ${stopTime.toStringAsPrecision(4)}: ${result.text}');
|
'${startTime.toStringAsPrecision(4)} -- ${stopTime.toStringAsPrecision(4)}: ${result.text}');
|
||||||
}
|
|
||||||
|
|
||||||
stream.free();
|
|
||||||
vad.pop();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
stream.free();
|
||||||
|
vad.pop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -76,25 +76,22 @@ void main(List<String> arguments) async {
|
|||||||
vad.acceptWaveform(Float32List.sublistView(
|
vad.acceptWaveform(Float32List.sublistView(
|
||||||
waveData.samples, start, start + vadConfig.sileroVad.windowSize));
|
waveData.samples, start, start + vadConfig.sileroVad.windowSize));
|
||||||
|
|
||||||
if (vad.isDetected()) {
|
while (!vad.isEmpty()) {
|
||||||
while (!vad.isEmpty()) {
|
final samples = vad.front().samples;
|
||||||
final samples = vad.front().samples;
|
final startTime = vad.front().start.toDouble() / waveData.sampleRate;
|
||||||
final startTime = vad.front().start.toDouble() / waveData.sampleRate;
|
final endTime =
|
||||||
final endTime =
|
startTime + samples.length.toDouble() / waveData.sampleRate;
|
||||||
startTime + samples.length.toDouble() / waveData.sampleRate;
|
|
||||||
|
|
||||||
final stream = recognizer.createStream();
|
final stream = recognizer.createStream();
|
||||||
stream.acceptWaveform(
|
stream.acceptWaveform(samples: samples, sampleRate: waveData.sampleRate);
|
||||||
samples: samples, sampleRate: waveData.sampleRate);
|
recognizer.decode(stream);
|
||||||
recognizer.decode(stream);
|
|
||||||
|
|
||||||
final result = recognizer.getResult(stream);
|
final result = recognizer.getResult(stream);
|
||||||
stream.free();
|
stream.free();
|
||||||
print(
|
print(
|
||||||
'${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');
|
'${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');
|
||||||
|
|
||||||
vad.pop();
|
vad.pop();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -84,25 +84,22 @@ void main(List<String> arguments) async {
|
|||||||
|
|
||||||
vad.acceptWaveform(samples);
|
vad.acceptWaveform(samples);
|
||||||
|
|
||||||
if (vad.isDetected()) {
|
while (!vad.isEmpty()) {
|
||||||
while (!vad.isEmpty()) {
|
final samples = vad.front().samples;
|
||||||
final samples = vad.front().samples;
|
final startTime = vad.front().start.toDouble() / waveData.sampleRate;
|
||||||
final startTime = vad.front().start.toDouble() / waveData.sampleRate;
|
final endTime =
|
||||||
final endTime =
|
startTime + samples.length.toDouble() / waveData.sampleRate;
|
||||||
startTime + samples.length.toDouble() / waveData.sampleRate;
|
|
||||||
|
|
||||||
final stream = recognizer.createStream();
|
final stream = recognizer.createStream();
|
||||||
stream.acceptWaveform(
|
stream.acceptWaveform(samples: samples, sampleRate: waveData.sampleRate);
|
||||||
samples: samples, sampleRate: waveData.sampleRate);
|
recognizer.decode(stream);
|
||||||
recognizer.decode(stream);
|
|
||||||
|
|
||||||
final result = recognizer.getResult(stream);
|
final result = recognizer.getResult(stream);
|
||||||
stream.free();
|
stream.free();
|
||||||
print(
|
print(
|
||||||
'${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');
|
'${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');
|
||||||
|
|
||||||
vad.pop();
|
vad.pop();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -81,25 +81,22 @@ void main(List<String> arguments) async {
|
|||||||
vad.acceptWaveform(Float32List.sublistView(
|
vad.acceptWaveform(Float32List.sublistView(
|
||||||
waveData.samples, start, start + vadConfig.sileroVad.windowSize));
|
waveData.samples, start, start + vadConfig.sileroVad.windowSize));
|
||||||
|
|
||||||
if (vad.isDetected()) {
|
while (!vad.isEmpty()) {
|
||||||
while (!vad.isEmpty()) {
|
final samples = vad.front().samples;
|
||||||
final samples = vad.front().samples;
|
final startTime = vad.front().start.toDouble() / waveData.sampleRate;
|
||||||
final startTime = vad.front().start.toDouble() / waveData.sampleRate;
|
final endTime =
|
||||||
final endTime =
|
startTime + samples.length.toDouble() / waveData.sampleRate;
|
||||||
startTime + samples.length.toDouble() / waveData.sampleRate;
|
|
||||||
|
|
||||||
final stream = recognizer.createStream();
|
final stream = recognizer.createStream();
|
||||||
stream.acceptWaveform(
|
stream.acceptWaveform(samples: samples, sampleRate: waveData.sampleRate);
|
||||||
samples: samples, sampleRate: waveData.sampleRate);
|
recognizer.decode(stream);
|
||||||
recognizer.decode(stream);
|
|
||||||
|
|
||||||
final result = recognizer.getResult(stream);
|
final result = recognizer.getResult(stream);
|
||||||
stream.free();
|
stream.free();
|
||||||
print(
|
print(
|
||||||
'${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');
|
'${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');
|
||||||
|
|
||||||
vad.pop();
|
vad.pop();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -73,25 +73,22 @@ void main(List<String> arguments) async {
|
|||||||
vad.acceptWaveform(Float32List.sublistView(
|
vad.acceptWaveform(Float32List.sublistView(
|
||||||
waveData.samples, start, start + vadConfig.sileroVad.windowSize));
|
waveData.samples, start, start + vadConfig.sileroVad.windowSize));
|
||||||
|
|
||||||
if (vad.isDetected()) {
|
while (!vad.isEmpty()) {
|
||||||
while (!vad.isEmpty()) {
|
final samples = vad.front().samples;
|
||||||
final samples = vad.front().samples;
|
final startTime = vad.front().start.toDouble() / waveData.sampleRate;
|
||||||
final startTime = vad.front().start.toDouble() / waveData.sampleRate;
|
final endTime =
|
||||||
final endTime =
|
startTime + samples.length.toDouble() / waveData.sampleRate;
|
||||||
startTime + samples.length.toDouble() / waveData.sampleRate;
|
|
||||||
|
|
||||||
final stream = recognizer.createStream();
|
final stream = recognizer.createStream();
|
||||||
stream.acceptWaveform(
|
stream.acceptWaveform(samples: samples, sampleRate: waveData.sampleRate);
|
||||||
samples: samples, sampleRate: waveData.sampleRate);
|
recognizer.decode(stream);
|
||||||
recognizer.decode(stream);
|
|
||||||
|
|
||||||
final result = recognizer.getResult(stream);
|
final result = recognizer.getResult(stream);
|
||||||
stream.free();
|
stream.free();
|
||||||
print(
|
print(
|
||||||
'${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');
|
'${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');
|
||||||
|
|
||||||
vad.pop();
|
vad.pop();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -80,25 +80,22 @@ void main(List<String> arguments) async {
|
|||||||
vad.acceptWaveform(Float32List.sublistView(
|
vad.acceptWaveform(Float32List.sublistView(
|
||||||
waveData.samples, start, start + vadConfig.sileroVad.windowSize));
|
waveData.samples, start, start + vadConfig.sileroVad.windowSize));
|
||||||
|
|
||||||
if (vad.isDetected()) {
|
while (!vad.isEmpty()) {
|
||||||
while (!vad.isEmpty()) {
|
final samples = vad.front().samples;
|
||||||
final samples = vad.front().samples;
|
final startTime = vad.front().start.toDouble() / waveData.sampleRate;
|
||||||
final startTime = vad.front().start.toDouble() / waveData.sampleRate;
|
final endTime =
|
||||||
final endTime =
|
startTime + samples.length.toDouble() / waveData.sampleRate;
|
||||||
startTime + samples.length.toDouble() / waveData.sampleRate;
|
|
||||||
|
|
||||||
final stream = recognizer.createStream();
|
final stream = recognizer.createStream();
|
||||||
stream.acceptWaveform(
|
stream.acceptWaveform(samples: samples, sampleRate: waveData.sampleRate);
|
||||||
samples: samples, sampleRate: waveData.sampleRate);
|
recognizer.decode(stream);
|
||||||
recognizer.decode(stream);
|
|
||||||
|
|
||||||
final result = recognizer.getResult(stream);
|
final result = recognizer.getResult(stream);
|
||||||
stream.free();
|
stream.free();
|
||||||
print(
|
print(
|
||||||
'${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');
|
'${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');
|
||||||
|
|
||||||
vad.pop();
|
vad.pop();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -84,25 +84,22 @@ void main(List<String> arguments) async {
|
|||||||
vad.acceptWaveform(Float32List.sublistView(
|
vad.acceptWaveform(Float32List.sublistView(
|
||||||
waveData.samples, start, start + vadConfig.sileroVad.windowSize));
|
waveData.samples, start, start + vadConfig.sileroVad.windowSize));
|
||||||
|
|
||||||
if (vad.isDetected()) {
|
while (!vad.isEmpty()) {
|
||||||
while (!vad.isEmpty()) {
|
final samples = vad.front().samples;
|
||||||
final samples = vad.front().samples;
|
final startTime = vad.front().start.toDouble() / waveData.sampleRate;
|
||||||
final startTime = vad.front().start.toDouble() / waveData.sampleRate;
|
final endTime =
|
||||||
final endTime =
|
startTime + samples.length.toDouble() / waveData.sampleRate;
|
||||||
startTime + samples.length.toDouble() / waveData.sampleRate;
|
|
||||||
|
|
||||||
final stream = recognizer.createStream();
|
final stream = recognizer.createStream();
|
||||||
stream.acceptWaveform(
|
stream.acceptWaveform(samples: samples, sampleRate: waveData.sampleRate);
|
||||||
samples: samples, sampleRate: waveData.sampleRate);
|
recognizer.decode(stream);
|
||||||
recognizer.decode(stream);
|
|
||||||
|
|
||||||
final result = recognizer.getResult(stream);
|
final result = recognizer.getResult(stream);
|
||||||
stream.free();
|
stream.free();
|
||||||
print(
|
print(
|
||||||
'${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');
|
'${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');
|
||||||
|
|
||||||
vad.pop();
|
vad.pop();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user