Fangjun Kuang
Committed by GitHub

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

There is no need to invoke vad.isDetected().
@@ -69,27 +69,25 @@ void main(List<String> arguments) async { @@ -69,27 +69,25 @@ void main(List<String> arguments) async {
69 vad.acceptWaveform(Float32List.sublistView( 69 vad.acceptWaveform(Float32List.sublistView(
70 waveData.samples, start, start + vadConfig.sileroVad.windowSize)); 70 waveData.samples, start, start + vadConfig.sileroVad.windowSize));
71 71
72 - if (vad.isDetected()) {  
73 - while (!vad.isEmpty()) {  
74 - final stream = recognizer.createStream();  
75 - final segment = vad.front();  
76 - stream.acceptWaveform(  
77 - samples: segment.samples, sampleRate: waveData.sampleRate);  
78 - recognizer.decode(stream);  
79 -  
80 - final result = recognizer.getResult(stream);  
81 -  
82 - final startTime = segment.start * 1.0 / waveData.sampleRate;  
83 - final duration = segment.samples.length * 1.0 / waveData.sampleRate;  
84 - final stopTime = startTime + duration;  
85 - if (result.text != '') {  
86 - print(  
87 - '${startTime.toStringAsPrecision(4)} -- ${stopTime.toStringAsPrecision(4)}: ${result.text}');  
88 - }  
89 -  
90 - stream.free();  
91 - vad.pop(); 72 + while (!vad.isEmpty()) {
  73 + final stream = recognizer.createStream();
  74 + final segment = vad.front();
  75 + stream.acceptWaveform(
  76 + samples: segment.samples, sampleRate: waveData.sampleRate);
  77 + recognizer.decode(stream);
  78 +
  79 + final result = recognizer.getResult(stream);
  80 +
  81 + final startTime = segment.start * 1.0 / waveData.sampleRate;
  82 + final duration = segment.samples.length * 1.0 / waveData.sampleRate;
  83 + final stopTime = startTime + duration;
  84 + if (result.text != '') {
  85 + print(
  86 + '${startTime.toStringAsPrecision(4)} -- ${stopTime.toStringAsPrecision(4)}: ${result.text}');
92 } 87 }
  88 +
  89 + stream.free();
  90 + vad.pop();
93 } 91 }
94 } 92 }
95 93
@@ -76,25 +76,22 @@ void main(List<String> arguments) async { @@ -76,25 +76,22 @@ void main(List<String> arguments) async {
76 vad.acceptWaveform(Float32List.sublistView( 76 vad.acceptWaveform(Float32List.sublistView(
77 waveData.samples, start, start + vadConfig.sileroVad.windowSize)); 77 waveData.samples, start, start + vadConfig.sileroVad.windowSize));
78 78
79 - if (vad.isDetected()) {  
80 - while (!vad.isEmpty()) {  
81 - final samples = vad.front().samples;  
82 - final startTime = vad.front().start.toDouble() / waveData.sampleRate;  
83 - final endTime =  
84 - startTime + samples.length.toDouble() / waveData.sampleRate;  
85 -  
86 - final stream = recognizer.createStream();  
87 - stream.acceptWaveform(  
88 - samples: samples, sampleRate: waveData.sampleRate);  
89 - recognizer.decode(stream);  
90 -  
91 - final result = recognizer.getResult(stream);  
92 - stream.free();  
93 - print(  
94 - '${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');  
95 -  
96 - vad.pop();  
97 - } 79 + while (!vad.isEmpty()) {
  80 + final samples = vad.front().samples;
  81 + final startTime = vad.front().start.toDouble() / waveData.sampleRate;
  82 + final endTime =
  83 + startTime + samples.length.toDouble() / waveData.sampleRate;
  84 +
  85 + final stream = recognizer.createStream();
  86 + stream.acceptWaveform(samples: samples, sampleRate: waveData.sampleRate);
  87 + recognizer.decode(stream);
  88 +
  89 + final result = recognizer.getResult(stream);
  90 + stream.free();
  91 + print(
  92 + '${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');
  93 +
  94 + vad.pop();
98 } 95 }
99 } 96 }
100 97
@@ -84,25 +84,22 @@ void main(List<String> arguments) async { @@ -84,25 +84,22 @@ void main(List<String> arguments) async {
84 84
85 vad.acceptWaveform(samples); 85 vad.acceptWaveform(samples);
86 86
87 - if (vad.isDetected()) {  
88 - while (!vad.isEmpty()) {  
89 - final samples = vad.front().samples;  
90 - final startTime = vad.front().start.toDouble() / waveData.sampleRate;  
91 - final endTime =  
92 - startTime + samples.length.toDouble() / waveData.sampleRate;  
93 -  
94 - final stream = recognizer.createStream();  
95 - stream.acceptWaveform(  
96 - samples: samples, sampleRate: waveData.sampleRate);  
97 - recognizer.decode(stream);  
98 -  
99 - final result = recognizer.getResult(stream);  
100 - stream.free();  
101 - print(  
102 - '${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');  
103 -  
104 - vad.pop();  
105 - } 87 + while (!vad.isEmpty()) {
  88 + final samples = vad.front().samples;
  89 + final startTime = vad.front().start.toDouble() / waveData.sampleRate;
  90 + final endTime =
  91 + startTime + samples.length.toDouble() / waveData.sampleRate;
  92 +
  93 + final stream = recognizer.createStream();
  94 + stream.acceptWaveform(samples: samples, sampleRate: waveData.sampleRate);
  95 + recognizer.decode(stream);
  96 +
  97 + final result = recognizer.getResult(stream);
  98 + stream.free();
  99 + print(
  100 + '${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');
  101 +
  102 + vad.pop();
106 } 103 }
107 } 104 }
108 105
@@ -81,25 +81,22 @@ void main(List<String> arguments) async { @@ -81,25 +81,22 @@ void main(List<String> arguments) async {
81 vad.acceptWaveform(Float32List.sublistView( 81 vad.acceptWaveform(Float32List.sublistView(
82 waveData.samples, start, start + vadConfig.sileroVad.windowSize)); 82 waveData.samples, start, start + vadConfig.sileroVad.windowSize));
83 83
84 - if (vad.isDetected()) {  
85 - while (!vad.isEmpty()) {  
86 - final samples = vad.front().samples;  
87 - final startTime = vad.front().start.toDouble() / waveData.sampleRate;  
88 - final endTime =  
89 - startTime + samples.length.toDouble() / waveData.sampleRate;  
90 -  
91 - final stream = recognizer.createStream();  
92 - stream.acceptWaveform(  
93 - samples: samples, sampleRate: waveData.sampleRate);  
94 - recognizer.decode(stream);  
95 -  
96 - final result = recognizer.getResult(stream);  
97 - stream.free();  
98 - print(  
99 - '${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');  
100 -  
101 - vad.pop();  
102 - } 84 + while (!vad.isEmpty()) {
  85 + final samples = vad.front().samples;
  86 + final startTime = vad.front().start.toDouble() / waveData.sampleRate;
  87 + final endTime =
  88 + startTime + samples.length.toDouble() / waveData.sampleRate;
  89 +
  90 + final stream = recognizer.createStream();
  91 + stream.acceptWaveform(samples: samples, sampleRate: waveData.sampleRate);
  92 + recognizer.decode(stream);
  93 +
  94 + final result = recognizer.getResult(stream);
  95 + stream.free();
  96 + print(
  97 + '${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');
  98 +
  99 + vad.pop();
103 } 100 }
104 } 101 }
105 102
@@ -73,25 +73,22 @@ void main(List<String> arguments) async { @@ -73,25 +73,22 @@ void main(List<String> arguments) async {
73 vad.acceptWaveform(Float32List.sublistView( 73 vad.acceptWaveform(Float32List.sublistView(
74 waveData.samples, start, start + vadConfig.sileroVad.windowSize)); 74 waveData.samples, start, start + vadConfig.sileroVad.windowSize));
75 75
76 - if (vad.isDetected()) {  
77 - while (!vad.isEmpty()) {  
78 - final samples = vad.front().samples;  
79 - final startTime = vad.front().start.toDouble() / waveData.sampleRate;  
80 - final endTime =  
81 - startTime + samples.length.toDouble() / waveData.sampleRate;  
82 -  
83 - final stream = recognizer.createStream();  
84 - stream.acceptWaveform(  
85 - samples: samples, sampleRate: waveData.sampleRate);  
86 - recognizer.decode(stream);  
87 -  
88 - final result = recognizer.getResult(stream);  
89 - stream.free();  
90 - print(  
91 - '${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');  
92 -  
93 - vad.pop();  
94 - } 76 + while (!vad.isEmpty()) {
  77 + final samples = vad.front().samples;
  78 + final startTime = vad.front().start.toDouble() / waveData.sampleRate;
  79 + final endTime =
  80 + startTime + samples.length.toDouble() / waveData.sampleRate;
  81 +
  82 + final stream = recognizer.createStream();
  83 + stream.acceptWaveform(samples: samples, sampleRate: waveData.sampleRate);
  84 + recognizer.decode(stream);
  85 +
  86 + final result = recognizer.getResult(stream);
  87 + stream.free();
  88 + print(
  89 + '${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');
  90 +
  91 + vad.pop();
95 } 92 }
96 } 93 }
97 94
@@ -80,25 +80,22 @@ void main(List<String> arguments) async { @@ -80,25 +80,22 @@ void main(List<String> arguments) async {
80 vad.acceptWaveform(Float32List.sublistView( 80 vad.acceptWaveform(Float32List.sublistView(
81 waveData.samples, start, start + vadConfig.sileroVad.windowSize)); 81 waveData.samples, start, start + vadConfig.sileroVad.windowSize));
82 82
83 - if (vad.isDetected()) {  
84 - while (!vad.isEmpty()) {  
85 - final samples = vad.front().samples;  
86 - final startTime = vad.front().start.toDouble() / waveData.sampleRate;  
87 - final endTime =  
88 - startTime + samples.length.toDouble() / waveData.sampleRate;  
89 -  
90 - final stream = recognizer.createStream();  
91 - stream.acceptWaveform(  
92 - samples: samples, sampleRate: waveData.sampleRate);  
93 - recognizer.decode(stream);  
94 -  
95 - final result = recognizer.getResult(stream);  
96 - stream.free();  
97 - print(  
98 - '${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');  
99 -  
100 - vad.pop();  
101 - } 83 + while (!vad.isEmpty()) {
  84 + final samples = vad.front().samples;
  85 + final startTime = vad.front().start.toDouble() / waveData.sampleRate;
  86 + final endTime =
  87 + startTime + samples.length.toDouble() / waveData.sampleRate;
  88 +
  89 + final stream = recognizer.createStream();
  90 + stream.acceptWaveform(samples: samples, sampleRate: waveData.sampleRate);
  91 + recognizer.decode(stream);
  92 +
  93 + final result = recognizer.getResult(stream);
  94 + stream.free();
  95 + print(
  96 + '${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');
  97 +
  98 + vad.pop();
102 } 99 }
103 } 100 }
104 101
@@ -84,25 +84,22 @@ void main(List<String> arguments) async { @@ -84,25 +84,22 @@ void main(List<String> arguments) async {
84 vad.acceptWaveform(Float32List.sublistView( 84 vad.acceptWaveform(Float32List.sublistView(
85 waveData.samples, start, start + vadConfig.sileroVad.windowSize)); 85 waveData.samples, start, start + vadConfig.sileroVad.windowSize));
86 86
87 - if (vad.isDetected()) {  
88 - while (!vad.isEmpty()) {  
89 - final samples = vad.front().samples;  
90 - final startTime = vad.front().start.toDouble() / waveData.sampleRate;  
91 - final endTime =  
92 - startTime + samples.length.toDouble() / waveData.sampleRate;  
93 -  
94 - final stream = recognizer.createStream();  
95 - stream.acceptWaveform(  
96 - samples: samples, sampleRate: waveData.sampleRate);  
97 - recognizer.decode(stream);  
98 -  
99 - final result = recognizer.getResult(stream);  
100 - stream.free();  
101 - print(  
102 - '${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');  
103 -  
104 - vad.pop();  
105 - } 87 + while (!vad.isEmpty()) {
  88 + final samples = vad.front().samples;
  89 + final startTime = vad.front().start.toDouble() / waveData.sampleRate;
  90 + final endTime =
  91 + startTime + samples.length.toDouble() / waveData.sampleRate;
  92 +
  93 + final stream = recognizer.createStream();
  94 + stream.acceptWaveform(samples: samples, sampleRate: waveData.sampleRate);
  95 + recognizer.decode(stream);
  96 +
  97 + final result = recognizer.getResult(stream);
  98 + stream.free();
  99 + print(
  100 + '${startTime.toStringAsPrecision(5)} -- ${endTime.toStringAsPrecision(5)} : ${result.text}');
  101 +
  102 + vad.pop();
106 } 103 }
107 } 104 }
108 105