@@ -7,13 +7,13 @@ import com.intellij.openapi.application.ApplicationInfo
7
7
import com.intellij.openapi.application.ApplicationManager
8
8
import com.intellij.openapi.util.Pair
9
9
import com.intellij.util.Consumer
10
+ import org.openasr.idear.GoogleHelper
10
11
import org.openasr.idear.GoogleHelper.getBestTextForUtterance
11
12
import org.openasr.idear.WordToNumberConverter
12
13
import org.openasr.idear.actions.ExecuteVoiceCommandAction
13
14
import org.openasr.idear.actions.recognition.SurroundWithNoNullCheckRecognizer
14
15
import org.openasr.idear.ide.IDEService
15
16
import org.openasr.idear.ide.IDEService.invokeAction
16
- import org.openasr.idear.recognizer.CustomLiveSpeechRecognizer
17
17
import org.openasr.idear.recognizer.CustomMicrophone
18
18
import org.openasr.idear.tts.TTSService.say
19
19
import java.awt.EventQueue
@@ -25,11 +25,11 @@ import java.util.logging.Logger
25
25
import java.util.regex.Pattern
26
26
import javax.sound.sampled.AudioSystem
27
27
28
- class ASRControlLoop (private val recognizer : CustomLiveSpeechRecognizer ) : Runnable {
28
+ class ASRControlLoop (private val asrProvider : ASRProvider ) : Runnable {
29
29
override fun run () {
30
30
while (! ListeningState .isTerminated) {
31
31
// This blocks on a recognition result
32
- val result = resultFromRecognizer
32
+ val result = asrProvider.waitForUtterance()
33
33
34
34
if (ListeningState .isInit) {
35
35
if (result == HI_IDEA ) {
@@ -45,23 +45,7 @@ class ASRControlLoop(private val recognizer: CustomLiveSpeechRecognizer) : Runna
45
45
}
46
46
}
47
47
48
- private val resultFromRecognizer: String
49
- get() {
50
- val result = recognizer.result
51
-
52
- println (" Recognized: " )
53
- println (" \t Top H: " + result.result + " / " + result.result.bestToken + " / " + result.result.bestPronunciationResult)
54
- println (" \t Top 3H: " + result.getNbest(3 ))
55
-
56
- logger.info(" Recognized: " )
57
- logger.info(" \t Top H: " + result.result + " / " + result.result.bestToken + " / " + result.result.bestPronunciationResult)
58
- logger.info(" \t Top 3H: " + result.getNbest(3 ))
59
-
60
- return result.hypothesis
61
- }
62
-
63
48
private fun applyAction (c : String ) {
64
-
65
49
if (c == HI_IDEA ) {
66
50
// Greet some more
67
51
say(" Hi, again!" )
@@ -291,7 +275,7 @@ class ASRControlLoop(private val recognizer: CustomLiveSpeechRecognizer) : Runna
291
275
292
276
var result: String? = null
293
277
while (" who is there" != result) {
294
- result = resultFromRecognizer
278
+ result = asrProvider.waitForUtterance()
295
279
}
296
280
297
281
say(" Hang on, I will be right back" )
@@ -305,7 +289,7 @@ class ASRControlLoop(private val recognizer: CustomLiveSpeechRecognizer) : Runna
305
289
say(" Jah, jah, jav, jav, jav, a, a, a, va, va, va, va, va" )
306
290
307
291
while (! result!! .contains(" wait who" ) && ! result.contains(" who are you" )) {
308
- result = resultFromRecognizer
292
+ result = asrProvider.waitForUtterance()
309
293
}
310
294
311
295
say(" It is me, Jah java va va, va, va. Open up already!" )
@@ -342,15 +326,15 @@ class ASRControlLoop(private val recognizer: CustomLiveSpeechRecognizer) : Runna
342
326
val searchQueryTuple = webSpeechResult ? : return
343
327
say(" I think you said " + searchQueryTuple.first + " , searching Google now" )
344
328
345
- org.openasr.idear. GoogleHelper .searchGoogle(searchQueryTuple.first)
329
+ GoogleHelper .searchGoogle(searchQueryTuple.first)
346
330
}
347
331
348
332
private /* || searchQuery.second < CONFIDENCE_LEVEL_THRESHOLD */ val webSpeechResult: Pair <String , Double >?
349
333
get() {
350
334
var searchQueryTuple: Pair <String , Double >? = null
351
335
beep()
352
336
try {
353
- searchQueryTuple = org.openasr.idear. GoogleHelper .getBestTextForUtterance(CustomMicrophone .recordFromMic(GOOGLE_QUERY_DURATION ))
337
+ searchQueryTuple = GoogleHelper .getBestTextForUtterance(CustomMicrophone .recordFromMic(GOOGLE_QUERY_DURATION ))
354
338
} catch (e: IOException ) {
355
339
logger.log(Level .SEVERE , " Panic! Failed to dump WAV" , e)
356
340
}
@@ -366,7 +350,7 @@ class ASRControlLoop(private val recognizer: CustomLiveSpeechRecognizer) : Runna
366
350
beep()
367
351
var result: String
368
352
while (ListeningState .isActive) {
369
- result = resultFromRecognizer
353
+ result = asrProvider.waitForUtterance()
370
354
if (result == " speech resume" ) {
371
355
beep()
372
356
break
@@ -378,7 +362,7 @@ class ASRControlLoop(private val recognizer: CustomLiveSpeechRecognizer) : Runna
378
362
var result: String
379
363
logger.info(" Recognizing number..." )
380
364
while (true ) {
381
- result = resultFromRecognizer
365
+ result = asrProvider.waitForUtterance()
382
366
if (result.startsWith(" jump " )) {
383
367
val number = WordToNumberConverter .getNumber(result.substring(5 ))
384
368
logger.info(" Recognized number: " + number)
0 commit comments