nmpettus

Forum Replies Created

Viewing 9 posts - 1 through 9 (of 9 total)

  • Author
    Posts
  • in reply to: OpenEars detects multiple words during silence #1019806
    nmpettus
    Participant

    I wanted to report back that by using a flag as a switch in the callbacks (didfinishplaying and didfinishspeaking) that I used to signal when to resume or not to resume along with a very short time delay using [NSThread sleepForTimeInterval:1.3];, the app is responding very well to voice commands.

    Thank you so much for your guidance, your work on this framework, and your patience. I will be sure to credit you and OpenEars in my app. I also plan to use this framework in the future. Thanks again!

    in reply to: OpenEars detects multiple words during silence #1019385
    nmpettus
    Participant

    Again you have stimulated my thoughts and increased my knowledge. I believe after some experiments that one of my problems is calling the speech utterance several times in succession. The timing just seems to get out of whack since I was suspending and resuming after each. I am combining the multiple utterances into a single one. I will also look at the audio files. It seems that I was resuming recognition in between speech calls causing some recognition of the second speech. Thanks for your guidance. I will be back in touch in the future with questions and progress.

    in reply to: OpenEars detects multiple words during silence #1019344
    nmpettus
    Participant

    Please forgive my coding I know it needs work. Thanks.

    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        [self becomeFirstResponder];
        
    // Load a background image
        UIImage *backimg = [UIImage imageNamed:@"back.png"];
        [backImage setImage:backimg];
        
        self.synthesizer=[[AVSpeechSynthesizer alloc] init];
        
    // Instantiate Language Model
        LanguageModelGenerator *lmGenerator = [[LanguageModelGenerator alloc] init];
        
    //=============================================================================
    // Build Dynamic Language Model on the fly
    //=============================================================================
        
        NSArray *words = [NSArray arrayWithObjects:@"BET", @"SPIN", @"HELP", @"BALANCE", nil];
        NSString *name = @"OpenEarsModel";
        NSError *err = [lmGenerator generateLanguageModelFromArray:words withFilesNamed:name forAcousticModelAtPath:[AcousticModel pathToModel:@"AcousticModelEnglish"]]; // Change "AcousticModelEnglish" to "AcousticModelSpanish" to create a Spanish language model instead of an English one.
        
        NSDictionary *languageGeneratorResults = nil;
        
        NSString *lmPath = nil;
        NSString *dicPath = nil;
    	
        if([err code] == noErr) {
            
            languageGeneratorResults = [err userInfo];
    		
            lmPath = [languageGeneratorResults objectForKey:@"LMPath"];
            dicPath = [languageGeneratorResults objectForKey:@"DictionaryPath"];
            NSLog(@"Path = %@",lmPath);
    		
        } else {
            NSLog(@"Error: %@",[err localizedDescription]);
        }
    //=============================================================================
    // Check settings bundle if user wants Voice Recognition
    //=============================================================================
        voiceOn = [[[NSUserDefaults standardUserDefaults] objectForKey:@"voiceOn"] boolValue];
        NSLog(@"Voice Recognition = %@", voiceOn ? @"YES" : @"NO");
        
        
        if (voiceOn == TRUE)
        {
            [self.openEarsEventsObserver setDelegate:self];
            
            [self.pocketsphinxController startListeningWithLanguageModelAtPath:lmPath dictionaryAtPath:dicPath acousticModelAtPath:[AcousticModel pathToModel:@"AcousticModelEnglish"] languageModelIsJSGF:NO]; // Change "AcousticModelEnglish" to "AcousticModelSpanish" to perform Spanish recognition instead of English.
            verbosePocketSphinx=YES;
            }
    //=============================================================================
    // Check if user wants tiltSpin capability using CoreMotion
    //=============================================================================
        
    // Check the settings bundle for save game option
        tiltSpin = [[[NSUserDefaults standardUserDefaults] objectForKey:@"tiltSpin"] boolValue];
        NSLog(@"Tilt Spin Gesture = %@", tiltSpin ? @"YES" : @"NO");
    
        
        if (tiltSpin==YES) {
        self.motionManager = [[CMMotionManager alloc] init];
        state = -1;
        if ([self.motionManager isAccelerometerAvailable]){
            NSOperationQueue *queue = [[NSOperationQueue alloc] init];
            [self.motionManager startAccelerometerUpdatesToQueue:queue
                                                     withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) {
    
            CMAcceleration acc = accelerometerData.acceleration;
            [self addAcceleration: acc];
            
                CGFloat x = self->oldX;
                CGFloat y = self->oldY;
                CGFloat z = self->oldZ;
                
    //            NSLog(@"x, y, z = %f %f %f",x,y,z);
                 
                CGFloat accu = 0.2; // feel free to experiment with this value
                
                if (((fabs(x) < accu && fabs(y) < 0.5 && z < -0.5)||(fabs(x) > 0.5 && fabs(y) > 0.5 && z > -0.5))&& hasSpun==0) {
                     if (state == -1 || state == 1) {
                         state = 0;
                         [self slotSpin:self];
                     } else {
                         if (state == -1 || state == 0) {
                             state = 1;
    //             NSLog (@"Hey, put me back down on the table!");
                         }
                     }
                     }
                }];
             } else {
            NSLog(@"Accelerometer is not available.");
        }
    }
        
    //========================================================================================
    // Load reel stop array from plist
    //========================================================================================
    
        NSString* plistPath = [[NSBundle mainBundle] pathForResource:@"slotreels" ofType:@"plist"];
        reelArray = [NSArray arrayWithContentsOfFile:plistPath];
        
        wait = .4;
    
    //========================================================================================
    // Check the settings bundle for save game option
            gameSave = [[[NSUserDefaults standardUserDefaults] objectForKey:@"saveGame"] boolValue];
            NSLog(@"Save Game = %@", gameSave ? @"YES" : @"NO");
        
        if (gameSave==YES) {
    // Retrieve previous score
            amtBal = [[[NSUserDefaults standardUserDefaults] objectForKey:@"PrevAmt"] intValue ];
            NSLog(@"Amount Balance = %d",amtBal);
        }
        else {
            amtBal=0;
        }
    
    // Correct negative amount balance
        if (amtBal<0) {
            amtBal=0;
        }
    
    // Set Up defaults
            hasSpun=0;
            amtScore=0;
        
        if (amtBal==0) {
            amtBal=100;
    
        //    TEST VALUES
        //    if (amtBal==0) {
        //        amtBal=10;
    
    // Give instructions the first time game is started
            
            [self slotHelp:self];
            
            AVSpeechUtterance *utterance= [AVSpeechUtterance speechUtteranceWithString:@"starting the game with one hundred dollars!"];
            utterance.rate = AVSpeechUtteranceMaximumSpeechRate/6; // Tell it to me slower
            utterance.pitchMultiplier=1.1;
            utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-US"];
            self.synthesizer.delegate=self;
            if  (voiceOn) {
                [self.pocketsphinxController suspendRecognition];
            }
            [self.synthesizer speakUtterance:utterance];
        } else {NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
            [formatter setNumberStyle: NSNumberFormatterSpellOutStyle];
            NSString* numberString = [formatter stringFromNumber:[NSNumber numberWithInt: amtBal]];
            result= [NSString stringWithFormat:@"resuming a saved game with %@ dollars!",numberString];
                
            AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:result];
            utterance.rate = AVSpeechUtteranceMaximumSpeechRate/6;
            utterance.pitchMultiplier=1.1;
            utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-US"];
            self.synthesizer.delegate=self;
            if  (voiceOn) {
                [self.pocketsphinxController suspendRecognition];
            }
            [self.synthesizer speakUtterance:utterance];
        }
        
    // Give the current bet
    // Make the game speak the plural correctly
    
        NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
        [formatter setNumberStyle: NSNumberFormatterSpellOutStyle];
        NSString *numberString = [formatter stringFromNumber:[NSNumber numberWithInt: amtBet]];
        
        if (amtBet>1||amtBet==0) {
            result= [NSString stringWithFormat:@" Your bet is %@ dollars", numberString];
            AVSpeechUtterance* utterance = [AVSpeechUtterance speechUtteranceWithString:result];
            utterance.rate = AVSpeechUtteranceMaximumSpeechRate/6;
            self.synthesizer.delegate=self;
            if  (voiceOn) {
                [self.pocketsphinxController suspendRecognition];
            }
            [self.synthesizer speakUtterance:utterance];
        }
        else {
            result= [NSString stringWithFormat:@" Your bet is %@ dollar", numberString];
            AVSpeechUtterance* utterance = [AVSpeechUtterance speechUtteranceWithString:result];
            utterance.rate = AVSpeechUtteranceMaximumSpeechRate/6;
            self.synthesizer.delegate=self;
            if  (voiceOn) {
                [self.pocketsphinxController suspendRecognition];
            }
            [self.synthesizer speakUtterance:utterance];
        }
        
    // Play the background casino ambience sounds - low volume in infinite loop
        
        if (!voiceOn) {
        NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
                                             pathForResource:@"casino"
                                             ofType:@"mp3"]];
        audioPlayer1 = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
        audioPlayer1.delegate=self;
        [audioPlayer1 prepareToPlay];
        [audioPlayer1 setVolume:.15];
        [audioPlayer1 setNumberOfLoops: -1];
        [audioPlayer1 play];
        }
    }
    
    in reply to: OpenEars detects multiple words during silence #1019338
    nmpettus
    Participant

    I noticed that the simulator doesn’t crash but the ipod touch does. Here’s the bt listing:
    * thread #1: tid = 0x1c1181, 0x00159ef4 spokenSlots`clear_buffers() + 76, queue = ‘com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=1, address=0x4c)
    frame #0: 0x00159ef4 spokenSlots`clear_buffers() + 76
    frame #1: 0x0015b0d6 spokenSlots`-[ContinuousModel clearBuffers] + 14
    frame #2: 0x001690ae spokenSlots`-[PocketsphinxController suspendRecognition] + 94
    frame #3: 0x000ebf0c spokenSlots`-[ViewController viewDidLoad](self=0x14d8aa50, _cmd=0x31641f84) + 5012 at ViewController.m:298
    frame #4: 0x3103a37a UIKit`-[UIViewController loadViewIfRequired] + 518
    frame #5: 0x3103a138 UIKit`-[UIViewController view] + 24
    frame #6: 0x31040e04 UIKit`-[UIWindow addRootViewControllerViewIfPossible] + 64
    frame #7: 0x3103e4da UIKit`-[UIWindow _setHidden:forced:] + 306
    frame #8: 0x02711d6c UIKit`-[UIWindowAccessibility(SafeCategory) _orderFrontWithoutMakingKey] + 72
    frame #9: 0x310a908c UIKit`-[UIWindow makeKeyAndVisible] + 60
    frame #10: 0x000ea320 spokenSlots`-[AppDelegate application:didFinishLaunchingWithOptions:](self=0x14d1ec90, _cmd=0x3162060e, application=0x14d1b730, launchOptions=0x00000000) + 1072 at AppDelegate.m:26
    frame #11: 0x310a62fe UIKit`-[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 274
    frame #12: 0x310a5d4e UIKit`-[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1390
    frame #13: 0x310a0352 UIKit`-[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 714
    frame #14: 0x3103b41e UIKit`-[UIApplication handleEvent:withNewEvent:] + 3130
    frame #15: 0x3103a720 UIKit`-[UIApplication sendEvent:] + 72
    frame #16: 0x3109fb3c UIKit`_UIApplicationHandleEvent + 664
    frame #17: 0x334e770c GraphicsServices`_PurpleEventCallback + 608
    frame #18: 0x334e72f6 GraphicsServices`PurpleEventCallback + 34
    frame #19: 0x2e88d9de CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34
    frame #20: 0x2e88d97a CoreFoundation`__CFRunLoopDoSource1 + 346
    frame #21: 0x2e88c14e CoreFoundation`__CFRunLoopRun + 1398
    frame #22: 0x2e7f6c26 CoreFoundation`CFRunLoopRunSpecific + 522
    frame #23: 0x2e7f6a0a CoreFoundation`CFRunLoopRunInMode + 106
    frame #24: 0x3109edd8 UIKit`-[UIApplication _run] + 760
    frame #25: 0x3109a048 UIKit`UIApplicationMain + 1136
    frame #26: 0x000e9ed4 spokenSlots`main(argc=1, argv=0x27d21cfc) + 116 at main.m:16
    (lldb)

    Thanks so much for your help. You are a true blessing and teacher.

    Norm

    in reply to: OpenEars detects multiple words during silence #1019333
    nmpettus
    Participant

    OK I have a few more questions. The first time I call the [self.pocketSphinxController suspendRecognition]; is while I am still in the ViewDidLoad right before the speech synthesizer is speaking the introductory remarks. It causes a Thread 1:EXC_BAD_ACCESS (Code=1, address=0x4c). If I comment out the call the program runs through but I encounter a false recognition. Here is the listing of the output:
    2014-01-06 15:37:31.710 spokenSlots[5429:60b] Path = /var/mobile/Applications/C8E52591-83CD-404C-88BB-EC28DE3FF847/Library/Caches/OpenEarsModel.DMP
    2014-01-06 15:37:31.714 spokenSlots[5429:60b] Voice Recognition = YES
    2014-01-06 15:37:31.717 spokenSlots[5429:60b] Starting OpenEars logging for OpenEars version 1.5.2 on device: iPod touch running iOS version: 7.000000
    2014-01-06 15:37:31.721 spokenSlots[5429:60b] A sample rate was requested that isn’t one of the two supported values of 16000 or 8000 so we will use the default of 16000.
    2014-01-06 15:37:31.725 spokenSlots[5429:60b] The audio session has never been initialized so we will do that now.
    2014-01-06 15:37:31.727 spokenSlots[5429:60b] Checking and resetting all audio session settings.
    2014-01-06 15:37:31.729 spokenSlots[5429:60b] audioCategory is incorrect, we will change it.
    2014-01-06 15:37:31.736 spokenSlots[5429:60b] audioCategory is now on the correct setting of kAudioSessionCategory_PlayAndRecord.
    2014-01-06 15:37:31.739 spokenSlots[5429:60b] bluetoothInput is incorrect, we will change it.
    2014-01-06 15:37:31.741 spokenSlots[5429:60b] bluetooth input is now on the correct setting of 1.
    2014-01-06 15:37:31.744 spokenSlots[5429:60b] Output Device: SpeakerAndMicrophone.
    2014-01-06 15:37:31.746 spokenSlots[5429:60b] categoryDefaultToSpeaker is incorrect, we will change it.
    2014-01-06 15:37:31.748 spokenSlots[5429:60b] CategoryDefaultToSpeaker is now on the correct setting of 1.
    2014-01-06 15:37:31.749 spokenSlots[5429:60b] preferredBufferSize is incorrect, we will change it.
    2014-01-06 15:37:31.751 spokenSlots[5429:60b] PreferredBufferSize is now on the correct setting of 0.128000.
    2014-01-06 15:37:31.753 spokenSlots[5429:60b] preferredSampleRateCheck is incorrect, we will change it.
    2014-01-06 15:37:31.755 spokenSlots[5429:60b] preferred hardware sample rate is now on the correct setting of 16000.000000.
    2014-01-06 15:37:31.801 spokenSlots[5429:60b] AudioSessionManager startAudioSession has reached the end of the initialization.
    2014-01-06 15:37:31.804 spokenSlots[5429:60b] Exiting startAudioSession.
    2014-01-06 15:37:31.816 spokenSlots[5429:4807] Recognition loop has started
    2014-01-06 15:37:31.815 spokenSlots[5429:60b] Tilt Spin Gesture = NO
    2014-01-06 15:37:31.820 spokenSlots[5429:60b] Save Game = YES
    2014-01-06 15:37:31.827 spokenSlots[5429:60b] Amount Balance = 323
    2014-01-06 15:37:32.208 spokenSlots[5429:4807] Starting openAudioDevice on the device.
    2014-01-06 15:37:32.210 spokenSlots[5429:4807] Audio unit wrapper successfully created.
    2014-01-06 15:37:32.223 spokenSlots[5429:3a03] Audio route has changed for the following reason:
    2014-01-06 15:37:32.229 spokenSlots[5429:3a03] There has been a change of category
    2014-01-06 15:37:32.248 spokenSlots[5429:4807] Set audio route to SpeakerAndMicrophone
    2014-01-06 15:37:32.260 spokenSlots[5429:4807] Checking and resetting all audio session settings.
    2014-01-06 15:37:32.262 spokenSlots[5429:4807] audioCategory is correct, we will leave it as it is.
    2014-01-06 15:37:32.263 spokenSlots[5429:4807] bluetoothInput is correct, we will leave it as it is.
    2014-01-06 15:37:32.264 spokenSlots[5429:4807] Output Device: SpeakerAndMicrophone.
    2014-01-06 15:37:32.266 spokenSlots[5429:4807] categoryDefaultToSpeaker is correct, we will leave it as it is.
    2014-01-06 15:37:32.267 spokenSlots[5429:4807] preferredBufferSize is correct, we will leave it as it is.
    2014-01-06 15:37:32.270 spokenSlots[5429:4807] preferredSampleRateCheck is correct, we will leave it as it is.
    2014-01-06 15:37:32.272 spokenSlots[5429:4807] Setting the variables for the device and starting it.
    2014-01-06 15:37:32.276 spokenSlots[5429:4807] Looping through ringbuffer sections and pre-allocating them.
    2014-01-06 15:37:32.242 spokenSlots[5429:3a03] The previous audio route was Speaker
    2014-01-06 15:37:32.819 spokenSlots[5429:4807] Started audio output unit.
    2014-01-06 15:37:32.822 spokenSlots[5429:4807] Calibration has started
    2014-01-06 15:37:32.823 spokenSlots[5429:60b] Pocketsphinx calibration has started.
    2014-01-06 15:37:32.821 spokenSlots[5429:3a03] This is not a case in which OpenEars performs a route change voluntarily. At the close of this function, the audio route is SpeakerAndMicrophone
    2014-01-06 15:37:35.027 spokenSlots[5429:4807] Calibration has completed
    2014-01-06 15:37:35.028 spokenSlots[5429:60b] Pocketsphinx calibration is complete.
    2014-01-06 15:37:35.031 spokenSlots[5429:4807] Project has these words in its dictionary:
    BALANCE
    BET
    HELP
    SPIN
    2014-01-06 15:37:35.034 spokenSlots[5429:4807] Listening.
    2014-01-06 15:37:35.036 spokenSlots[5429:60b] Pocketsphinx is now listening.
    2014-01-06 15:37:35.584 spokenSlots[5429:4807] Speech detected…
    2014-01-06 15:37:35.590 spokenSlots[5429:60b] Pocketsphinx has detected speech.
    2014-01-06 15:37:36.688 spokenSlots[5429:60b] Speech Synthesizer finished speaking utterance
    2014-01-06 15:37:38.732 spokenSlots[5429:60b] Speech Synthesizer finished speaking utterance
    2014-01-06 15:37:40.121 spokenSlots[5429:4807] Stopping audio unit.
    2014-01-06 15:37:40.121 spokenSlots[5429:60b] Pocketsphinx has detected a period of silence, concluding an utterance.
    2014-01-06 15:37:40.251 spokenSlots[5429:4807] Audio Output Unit stopped, cleaning up variable states.
    2014-01-06 15:37:40.254 spokenSlots[5429:4807] Processing speech, please wait…
    2014-01-06 15:37:40.541 spokenSlots[5429:4807] Pocketsphinx heard “” with a score of (-1) and an utterance ID of 000000000.
    2014-01-06 15:37:40.543 spokenSlots[5429:4807] Hypothesis was null so we aren’t returning it. If you want null hypotheses to also be returned, set PocketsphinxController’s property returnNullHypotheses to TRUE before starting PocketsphinxController.
    2014-01-06 15:37:40.545 spokenSlots[5429:4807] Checking and resetting all audio session settings.
    2014-01-06 15:37:40.547 spokenSlots[5429:4807] audioCategory is correct, we will leave it as it is.
    2014-01-06 15:37:40.549 spokenSlots[5429:4807] bluetoothInput is correct, we will leave it as it is.
    2014-01-06 15:37:40.551 spokenSlots[5429:4807] Output Device: SpeakerAndMicrophone.
    2014-01-06 15:37:40.553 spokenSlots[5429:4807] categoryDefaultToSpeaker is correct, we will leave it as it is.
    2014-01-06 15:37:40.555 spokenSlots[5429:4807] preferredBufferSize is correct, we will leave it as it is.
    2014-01-06 15:37:40.558 spokenSlots[5429:4807] preferredSampleRateCheck is correct, we will leave it as it is.
    2014-01-06 15:37:40.560 spokenSlots[5429:4807] Setting the variables for the device and starting it.
    2014-01-06 15:37:40.562 spokenSlots[5429:4807] Looping through ringbuffer sections and pre-allocating them.
    2014-01-06 15:37:40.576 spokenSlots[5429:4807] Started audio output unit.
    2014-01-06 15:37:40.578 spokenSlots[5429:4807] Listening.
    2014-01-06 15:37:40.580 spokenSlots[5429:60b] Pocketsphinx is now listening.
    2014-01-06 15:38:03.120 spokenSlots[5429:4807] Speech detected…
    2014-01-06 15:38:03.122 spokenSlots[5429:60b] Pocketsphinx has detected speech.
    2014-01-06 15:38:08.535 spokenSlots[5429:4807] Stopping audio unit.
    2014-01-06 15:38:08.536 spokenSlots[5429:60b] Pocketsphinx has detected a period of silence, concluding an utterance.
    2014-01-06 15:38:08.663 spokenSlots[5429:4807] Audio Output Unit stopped, cleaning up variable states.
    2014-01-06 15:38:08.666 spokenSlots[5429:4807] Processing speech, please wait…
    2014-01-06 15:38:09.028 spokenSlots[5429:4807] Pocketsphinx heard “BET” with a score of (0) and an utterance ID of 000000001.
    2014-01-06 15:38:09.030 spokenSlots[5429:60b] The received hypothesis is BET with a score of 0 and an ID of 000000001
    2014-01-06 15:38:09.030 spokenSlots[5429:4807] Checking and resetting all audio session settings.
    2014-01-06 15:38:09.034 spokenSlots[5429:4807] audioCategory is correct, we will leave it as it is.
    2014-01-06 15:38:09.036 spokenSlots[5429:4807] bluetoothInput is correct, we will leave it as it is.
    2014-01-06 15:38:09.038 spokenSlots[5429:4807] Output Device: SpeakerAndMicrophone.
    2014-01-06 15:38:09.039 spokenSlots[5429:60b] Amount of Bet = 1
    2014-01-06 15:38:09.040 spokenSlots[5429:4807] categoryDefaultToSpeaker is correct, we will leave it as it is.
    2014-01-06 15:38:09.048 spokenSlots[5429:4807] preferredBufferSize is correct, we will leave it as it is.
    2014-01-06 15:38:09.052 spokenSlots[5429:4807] preferredSampleRateCheck is correct, we will leave it as it is.
    2014-01-06 15:38:09.054 spokenSlots[5429:4807] Setting the variables for the device and starting it.
    2014-01-06 15:38:09.055 spokenSlots[5429:4807] Looping through ringbuffer sections and pre-allocating them.
    2014-01-06 15:38:09.182 spokenSlots[5429:4807] Started audio output unit.
    2014-01-06 15:38:09.301 spokenSlots[5429:60b] Pocketsphinx has suspended recognition.
    2014-01-06 15:38:11.223 spokenSlots[5429:60b] AVAudioPlayer delegate called
    2014-01-06 15:38:11.225 spokenSlots[5429:60b] Pocketsphinx has resumed recognition.
    2014-01-06 15:38:11.787 spokenSlots[5429:4807] Speech detected…
    2014-01-06 15:38:11.790 spokenSlots[5429:60b] Pocketsphinx has detected speech.
    2014-01-06 15:38:13.910 spokenSlots[5429:4807] Stopping audio unit.
    2014-01-06 15:38:13.910 spokenSlots[5429:60b] Pocketsphinx has detected a period of silence, concluding an utterance.
    2014-01-06 15:38:14.039 spokenSlots[5429:4807] Audio Output Unit stopped, cleaning up variable states.
    2014-01-06 15:38:14.042 spokenSlots[5429:4807] Processing speech, please wait…
    2014-01-06 15:38:14.177 spokenSlots[5429:4807] Pocketsphinx heard “SPIN SPIN” with a score of (-826) and an utterance ID of 000000002.
    2014-01-06 15:38:14.182 spokenSlots[5429:4807] Checking and resetting all audio session settings.
    2014-01-06 15:38:14.186 spokenSlots[5429:4807] audioCategory is correct, we will leave it as it is.
    2014-01-06 15:38:14.188 spokenSlots[5429:4807] bluetoothInput is correct, we will leave it as it is.
    2014-01-06 15:38:14.184 spokenSlots[5429:60b] The received hypothesis is SPIN SPIN with a score of -826 and an ID of 000000002
    2014-01-06 15:38:14.190 spokenSlots[5429:4807] Output Device: SpeakerAndMicrophone.
    2014-01-06 15:38:14.193 spokenSlots[5429:4807] categoryDefaultToSpeaker is correct, we will leave it as it is.
    2014-01-06 15:38:14.195 spokenSlots[5429:4807] preferredBufferSize is correct, we will leave it as it is.
    2014-01-06 15:38:14.198 spokenSlots[5429:4807] preferredSampleRateCheck is correct, we will leave it as it is.
    2014-01-06 15:38:14.202 spokenSlots[5429:4807] Setting the variables for the device and starting it.
    2014-01-06 15:38:14.204 spokenSlots[5429:4807] Looping through ringbuffer sections and pre-allocating them.
    2014-01-06 15:38:14.225 spokenSlots[5429:4807] Started audio output unit.
    2014-01-06 15:38:14.228 spokenSlots[5429:4807] Listening.
    2014-01-06 15:38:14.230 spokenSlots[5429:60b] Pocketsphinx is now listening.
    2014-01-06 15:38:17.327 spokenSlots[5429:4807] Speech detected…
    2014-01-06 15:38:17.329 spokenSlots[5429:60b] Pocketsphinx has detected speech.
    2014-01-06 15:38:19.159 spokenSlots[5429:4807] Stopping audio unit.
    2014-01-06 15:38:19.159 spokenSlots[5429:60b] Pocketsphinx has detected a period of silence, concluding an utterance.
    2014-01-06 15:38:19.287 spokenSlots[5429:4807] Audio Output Unit stopped, cleaning up variable states.
    2014-01-06 15:38:19.290 spokenSlots[5429:4807] Processing speech, please wait…
    2014-01-06 15:38:19.360 spokenSlots[5429:4807] Pocketsphinx heard “” with a score of (0) and an utterance ID of 000000003.
    2014-01-06 15:38:19.364 spokenSlots[5429:4807] Hypothesis was null so we aren’t returning it. If you want null hypotheses to also be returned, set PocketsphinxController’s property returnNullHypotheses to TRUE before starting PocketsphinxController.
    2014-01-06 15:38:19.365 spokenSlots[5429:4807] Checking and resetting all audio session settings.
    2014-01-06 15:38:19.369 spokenSlots[5429:4807] audioCategory is correct, we will leave it as it is.
    2014-01-06 15:38:19.371 spokenSlots[5429:4807] bluetoothInput is correct, we will leave it as it is.
    2014-01-06 15:38:19.372 spokenSlots[5429:4807] Output Device: SpeakerAndMicrophone.
    2014-01-06 15:38:19.374 spokenSlots[5429:4807] categoryDefaultToSpeaker is correct, we will leave it as it is.
    2014-01-06 15:38:19.377 spokenSlots[5429:4807] preferredBufferSize is correct, we will leave it as it is.
    2014-01-06 15:38:19.382 spokenSlots[5429:4807] preferredSampleRateCheck is correct, we will leave it as it is.
    2014-01-06 15:38:19.385 spokenSlots[5429:4807] Setting the variables for the device and starting it.
    2014-01-06 15:38:19.386 spokenSlots[5429:4807] Looping through ringbuffer sections and pre-allocating them.
    2014-01-06 15:38:19.409 spokenSlots[5429:4807] Started audio output unit.
    2014-01-06 15:38:19.415 spokenSlots[5429:4807] Listening.
    2014-01-06 15:38:19.418 spokenSlots[5429:60b] Pocketsphinx is now listening.
    2014-01-06 15:38:26.930 spokenSlots[5429:4807] Speech detected…
    2014-01-06 15:38:26.931 spokenSlots[5429:60b] Pocketsphinx has detected speech.
    2014-01-06 15:38:28.375 spokenSlots[5429:4807] Stopping audio unit.
    2014-01-06 15:38:28.375 spokenSlots[5429:60b] Pocketsphinx has detected a period of silence, concluding an utterance.
    2014-01-06 15:38:28.503 spokenSlots[5429:4807] Audio Output Unit stopped, cleaning up variable states.
    2014-01-06 15:38:28.506 spokenSlots[5429:4807] Processing speech, please wait…
    2014-01-06 15:38:28.573 spokenSlots[5429:4807] Pocketsphinx heard “BET” with a score of (-1049) and an utterance ID of 000000004.
    2014-01-06 15:38:28.576 spokenSlots[5429:4807] Checking and resetting all audio session settings.
    2014-01-06 15:38:28.580 spokenSlots[5429:4807] audioCategory is correct, we will leave it as it is.
    2014-01-06 15:38:28.581 spokenSlots[5429:4807] bluetoothInput is correct, we will leave it as it is.
    2014-01-06 15:38:28.577 spokenSlots[5429:60b] The received hypothesis is BET with a score of -1049 and an ID of 000000004
    2014-01-06 15:38:28.583 spokenSlots[5429:4807] Output Device: SpeakerAndMicrophone.
    2014-01-06 15:38:28.585 spokenSlots[5429:4807] categoryDefaultToSpeaker is correct, we will leave it as it is.
    2014-01-06 15:38:28.588 spokenSlots[5429:4807] preferredBufferSize is correct, we will leave it as it is.
    2014-01-06 15:38:28.593 spokenSlots[5429:4807] preferredSampleRateCheck is correct, we will leave it as it is.
    2014-01-06 15:38:28.594 spokenSlots[5429:4807] Setting the variables for the device and starting it.
    2014-01-06 15:38:28.595 spokenSlots[5429:4807] Looping through ringbuffer sections and pre-allocating them.
    2014-01-06 15:38:28.589 spokenSlots[5429:60b] Amount of Bet = 2
    2014-01-06 15:38:28.627 spokenSlots[5429:4807] Started audio output unit.
    2014-01-06 15:38:28.636 spokenSlots[5429:4807] Listening.
    2014-01-06 15:38:28.757 spokenSlots[5429:60b] Pocketsphinx is now listening.
    2014-01-06 15:38:28.759 spokenSlots[5429:60b] Pocketsphinx has suspended recognition.
    2014-01-06 15:38:30.807 spokenSlots[5429:60b] AVAudioPlayer delegate called
    2014-01-06 15:38:30.809 spokenSlots[5429:60b] Pocketsphinx has resumed recognition.
    2014-01-06 15:38:31.386 spokenSlots[5429:4807] Speech detected…
    2014-01-06 15:38:31.388 spokenSlots[5429:60b] Pocketsphinx has detected speech.
    2014-01-06 15:38:32.601 spokenSlots[5429:4807] Stopping audio unit.
    2014-01-06 15:38:32.601 spokenSlots[5429:60b] Pocketsphinx has detected a period of silence, concluding an utterance.
    2014-01-06 15:38:32.728 spokenSlots[5429:4807] Audio Output Unit stopped, cleaning up variable states.
    2014-01-06 15:38:32.731 spokenSlots[5429:4807] Processing speech, please wait…
    2014-01-06 15:38:32.763 spokenSlots[5429:4807] Pocketsphinx heard “” with a score of (0) and an utterance ID of 000000005.
    2014-01-06 15:38:32.766 spokenSlots[5429:4807] Hypothesis was null so we aren’t returning it. If you want null hypotheses to also be returned, set PocketsphinxController’s property returnNullHypotheses to TRUE before starting PocketsphinxController.
    2014-01-06 15:38:32.769 spokenSlots[5429:4807] Checking and resetting all audio session settings.
    2014-01-06 15:38:32.772 spokenSlots[5429:4807] audioCategory is correct, we will leave it as it is.
    2014-01-06 15:38:32.773 spokenSlots[5429:4807] bluetoothInput is correct, we will leave it as it is.
    2014-01-06 15:38:32.775 spokenSlots[5429:4807] Output Device: SpeakerAndMicrophone.
    2014-01-06 15:38:32.779 spokenSlots[5429:4807] categoryDefaultToSpeaker is correct, we will leave it as it is.
    2014-01-06 15:38:32.781 spokenSlots[5429:4807] preferredBufferSize is correct, we will leave it as it is.
    2014-01-06 15:38:32.783 spokenSlots[5429:4807] preferredSampleRateCheck is correct, we will leave it as it is.
    2014-01-06 15:38:32.786 spokenSlots[5429:4807] Setting the variables for the device and starting it.
    2014-01-06 15:38:32.788 spokenSlots[5429:4807] Looping through ringbuffer sections and pre-allocating them.
    2014-01-06 15:38:32.812 spokenSlots[5429:4807] Started audio output unit.
    2014-01-06 15:38:32.815 spokenSlots[5429:4807] Listening.
    2014-01-06 15:38:32.818 spokenSlots[5429:60b] Pocketsphinx is now listening.
    2014-01-06 15:38:34.078 spokenSlots[5429:4807] Speech detected…
    2014-01-06 15:38:34.080 spokenSlots[5429:60b] Pocketsphinx has detected speech.
    2014-01-06 15:38:35.289 spokenSlots[5429:4807] Stopping audio unit.
    2014-01-06 15:38:35.289 spokenSlots[5429:60b] Pocketsphinx has detected a period of silence, concluding an utterance.
    2014-01-06 15:38:35.415 spokenSlots[5429:4807] Audio Output Unit stopped, cleaning up variable states.
    2014-01-06 15:38:35.419 spokenSlots[5429:4807] Processing speech, please wait…
    2014-01-06 15:38:35.470 spokenSlots[5429:4807] Pocketsphinx heard “BET” with a score of (-813) and an utterance ID of 000000006.
    2014-01-06 15:38:35.473 spokenSlots[5429:4807] Checking and resetting all audio session settings.
    2014-01-06 15:38:35.475 spokenSlots[5429:4807] audioCategory is correct, we will leave it as it is.
    2014-01-06 15:38:35.477 spokenSlots[5429:4807] bluetoothInput is correct, we will leave it as it is.
    2014-01-06 15:38:35.478 spokenSlots[5429:4807] Output Device: SpeakerAndMicrophone.
    2014-01-06 15:38:35.473 spokenSlots[5429:60b] The received hypothesis is BET with a score of -813 and an ID of 000000006
    2014-01-06 15:38:35.479 spokenSlots[5429:4807] categoryDefaultToSpeaker is correct, we will leave it as it is.
    2014-01-06 15:38:35.484 spokenSlots[5429:4807] preferredBufferSize is correct, we will leave it as it is.
    2014-01-06 15:38:35.492 spokenSlots[5429:4807] preferredSampleRateCheck is correct, we will leave it as it is.
    2014-01-06 15:38:35.494 spokenSlots[5429:4807] Setting the variables for the device and starting it.
    2014-01-06 15:38:35.484 spokenSlots[5429:60b] Amount of Bet = 3
    2014-01-06 15:38:35.495 spokenSlots[5429:4807] Looping through ringbuffer sections and pre-allocating them.
    2014-01-06 15:38:35.516 spokenSlots[5429:4807] Started audio output unit.
    2014-01-06 15:38:35.524 spokenSlots[5429:4807] Listening.
    2014-01-06 15:38:35.541 spokenSlots[5429:60b] Pocketsphinx is now listening.
    2014-01-06 15:38:35.543 spokenSlots[5429:60b] Pocketsphinx has suspended recognition.
    2014-01-06 15:38:37.720 spokenSlots[5429:60b] AVAudioPlayer delegate called
    2014-01-06 15:38:37.722 spokenSlots[5429:60b] Pocketsphinx has resumed recognition.
    2014-01-06 15:38:38.302 spokenSlots[5429:4807] Speech detected…
    2014-01-06 15:38:38.304 spokenSlots[5429:60b] Pocketsphinx has detected speech.
    2014-01-06 15:38:39.509 spokenSlots[5429:4807] Stopping audio unit.
    2014-01-06 15:38:39.510 spokenSlots[5429:60b] Pocketsphinx has detected a period of silence, concluding an utterance.
    2014-01-06 15:38:39.639 spokenSlots[5429:4807] Audio Output Unit stopped, cleaning up variable states.
    2014-01-06 15:38:39.642 spokenSlots[5429:4807] Processing speech, please wait…
    2014-01-06 15:38:39.676 spokenSlots[5429:4807] Pocketsphinx heard “” with a score of (0) and an utterance ID of 000000007.
    2014-01-06 15:38:39.681 spokenSlots[5429:4807] Hypothesis was null so we aren’t returning it. If you want null hypotheses to also be returned, set PocketsphinxController’s property returnNullHypotheses to TRUE before starting PocketsphinxController.
    2014-01-06 15:38:39.683 spokenSlots[5429:4807] Checking and resetting all audio session settings.
    2014-01-06 15:38:39.686 spokenSlots[5429:4807] audioCategory is correct, we will leave it as it is.
    2014-01-06 15:38:39.688 spokenSlots[5429:4807] bluetoothInput is correct, we will leave it as it is.
    2014-01-06 15:38:39.690 spokenSlots[5429:4807] Output Device: SpeakerAndMicrophone.
    2014-01-06 15:38:39.692 spokenSlots[5429:4807] categoryDefaultToSpeaker is correct, we will leave it as it is.
    2014-01-06 15:38:39.694 spokenSlots[5429:4807] preferredBufferSize is correct, we will leave it as it is.
    2014-01-06 15:38:39.699 spokenSlots[5429:4807] preferredSampleRateCheck is correct, we will leave it as it is.
    2014-01-06 15:38:39.701 spokenSlots[5429:4807] Setting the variables for the device and starting it.
    2014-01-06 15:38:39.703 spokenSlots[5429:4807] Looping through ringbuffer sections and pre-allocating them.
    2014-01-06 15:38:39.726 spokenSlots[5429:4807] Started audio output unit.
    2014-01-06 15:38:39.729 spokenSlots[5429:4807] Listening.
    2014-01-06 15:38:39.730 spokenSlots[5429:60b] Pocketsphinx is now listening.
    2014-01-06 15:38:56.508 spokenSlots[5429:4807] Speech detected…
    2014-01-06 15:38:56.510 spokenSlots[5429:60b] Pocketsphinx has detected speech.
    2014-01-06 15:38:59.226 spokenSlots[5429:4807] Stopping audio unit.
    2014-01-06 15:38:59.226 spokenSlots[5429:60b] Pocketsphinx has detected a period of silence, concluding an utterance.
    2014-01-06 15:38:59.353 spokenSlots[5429:4807] Audio Output Unit stopped, cleaning up variable states.
    2014-01-06 15:38:59.356 spokenSlots[5429:4807] Processing speech, please wait…
    2014-01-06 15:38:59.471 spokenSlots[5429:4807] Pocketsphinx heard “” with a score of (0) and an utterance ID of 000000008.
    2014-01-06 15:38:59.479 spokenSlots[5429:4807] Hypothesis was null so we aren’t returning it. If you want null hypotheses to also be returned, set PocketsphinxController’s property returnNullHypotheses to TRUE before starting PocketsphinxController.
    2014-01-06 15:38:59.480 spokenSlots[5429:4807] Checking and resetting all audio session settings.
    2014-01-06 15:38:59.483 spokenSlots[5429:4807] audioCategory is correct, we will leave it as it is.
    2014-01-06 15:38:59.486 spokenSlots[5429:4807] bluetoothInput is correct, we will leave it as it is.
    2014-01-06 15:38:59.488 spokenSlots[5429:4807] Output Device: SpeakerAndMicrophone.
    2014-01-06 15:38:59.491 spokenSlots[5429:4807] categoryDefaultToSpeaker is correct, we will leave it as it is.
    2014-01-06 15:38:59.493 spokenSlots[5429:4807] preferredBufferSize is correct, we will leave it as it is.
    2014-01-06 15:38:59.494 spokenSlots[5429:4807] preferredSampleRateCheck is correct, we will leave it as it is.
    2014-01-06 15:38:59.496 spokenSlots[5429:4807] Setting the variables for the device and starting it.
    2014-01-06 15:38:59.497 spokenSlots[5429:4807] Looping through ringbuffer sections and pre-allocating them.
    2014-01-06 15:38:59.603 spokenSlots[5429:4807] Started audio output unit.
    2014-01-06 15:38:59.608 spokenSlots[5429:4807] Listening.
    2014-01-06 15:38:59.609 spokenSlots[5429:60b] Pocketsphinx is now listening.
    2014-01-06 15:39:04.820 spokenSlots[5429:4807] Speech detected…
    2014-01-06 15:39:04.822 spokenSlots[5429:60b] Pocketsphinx has detected speech.
    2014-01-06 15:39:06.393 spokenSlots[5429:4807] Stopping audio unit.
    2014-01-06 15:39:06.393 spokenSlots[5429:60b] Pocketsphinx has detected a period of silence, concluding an utterance.
    2014-01-06 15:39:06.519 spokenSlots[5429:4807] Audio Output Unit stopped, cleaning up variable states.
    2014-01-06 15:39:06.523 spokenSlots[5429:4807] Processing speech, please wait…
    2014-01-06 15:39:06.608 spokenSlots[5429:4807] Pocketsphinx heard “SPIN” with a score of (-885) and an utterance ID of 000000009.
    2014-01-06 15:39:06.612 spokenSlots[5429:4807] Checking and resetting all audio session settings.
    2014-01-06 15:39:06.615 spokenSlots[5429:4807] audioCategory is correct, we will leave it as it is.
    2014-01-06 15:39:06.616 spokenSlots[5429:4807] bluetoothInput is correct, we will leave it as it is.
    2014-01-06 15:39:06.612 spokenSlots[5429:60b] The received hypothesis is SPIN with a score of -885 and an ID of 000000009
    2014-01-06 15:39:06.617 spokenSlots[5429:4807] Output Device: SpeakerAndMicrophone.
    2014-01-06 15:39:06.655 spokenSlots[5429:4807] categoryDefaultToSpeaker is correct, we will leave it as it is.
    2014-01-06 15:39:06.773 spokenSlots[5429:60b] Blank Blank Orange
    2014-01-06 15:39:06.772 spokenSlots[5429:4807] preferredBufferSize is correct, we will leave it as it is.
    2014-01-06 15:39:06.776 spokenSlots[5429:4807] preferredSampleRateCheck is correct, we will leave it as it is.
    2014-01-06 15:39:06.779 spokenSlots[5429:4807] Setting the variables for the device and starting it.
    2014-01-06 15:39:06.782 spokenSlots[5429:4807] Looping through ringbuffer sections and pre-allocating them.
    2014-01-06 15:39:06.791 spokenSlots[5429:4807] Started audio output unit.
    2014-01-06 15:39:07.157 spokenSlots[5429:60b] ChanceBonus = 12
    2014-01-06 15:39:07.159 spokenSlots[5429:60b] Pocketsphinx has suspended recognition.
    2014-01-06 15:39:08.824 spokenSlots[5429:60b] AVAudioPlayer delegate called
    2014-01-06 15:39:08.826 spokenSlots[5429:60b] Pocketsphinx has resumed recognition.
    2014-01-06 15:39:08.952 spokenSlots[5429:60b] AVAudioPlayer delegate called
    2014-01-06 15:39:09.389 spokenSlots[5429:4807] Speech detected…
    2014-01-06 15:39:09.391 spokenSlots[5429:60b] Pocketsphinx has detected speech.
    2014-01-06 15:39:09.975 spokenSlots[5429:60b] AVAudioPlayer delegate called
    2014-01-06 15:39:10.871 spokenSlots[5429:60b] AVAudioPlayer delegate called
    2014-01-06 15:39:12.536 spokenSlots[5429:4807] Stopping audio unit.
    2014-01-06 15:39:12.536 spokenSlots[5429:60b] Pocketsphinx has detected a period of silence, concluding an utterance.
    2014-01-06 15:39:12.663 spokenSlots[5429:4807] Audio Output Unit stopped, cleaning up variable states.
    2014-01-06 15:39:12.666 spokenSlots[5429:4807] Processing speech, please wait…
    2014-01-06 15:39:12.868 spokenSlots[5429:4807] Pocketsphinx heard “BALANCE” with a score of (-747) and an utterance ID of 000000010.
    2014-01-06 15:39:12.870 spokenSlots[5429:4807] Checking and resetting all audio session settings.
    2014-01-06 15:39:12.873 spokenSlots[5429:4807] audioCategory is correct, we will leave it as it is.
    2014-01-06 15:39:12.875 spokenSlots[5429:4807] bluetoothInput is correct, we will leave it as it is.
    2014-01-06 15:39:12.876 spokenSlots[5429:4807] Output Device: SpeakerAndMicrophone.
    2014-01-06 15:39:12.871 spokenSlots[5429:60b] The received hypothesis is BALANCE with a score of -747 and an ID of 000000010
    2014-01-06 15:39:12.877 spokenSlots[5429:4807] categoryDefaultToSpeaker is correct, we will leave it as it is.
    2014-01-06 15:39:12.879 spokenSlots[5429:4807] preferredBufferSize is correct, we will leave it as it is.
    2014-01-06 15:39:12.929 spokenSlots[5429:4807] preferredSampleRateCheck is correct, we will leave it as it is.
    2014-01-06 15:39:12.930 spokenSlots[5429:4807] Setting the variables for the device and starting it.
    2014-01-06 15:39:12.931 spokenSlots[5429:4807] Looping through ringbuffer sections and pre-allocating them.
    2014-01-06 15:39:12.893 spokenSlots[5429:60b] Pocketsphinx has suspended recognition.
    2014-01-06 15:39:12.966 spokenSlots[5429:4807] Started audio output unit.
    2014-01-06 15:39:15.374 spokenSlots[5429:60b] Speech Synthesizer finished speaking utterance
    2014-01-06 15:39:15.377 spokenSlots[5429:60b] Pocketsphinx has resumed recognition.
    2014-01-06 15:39:16.098 spokenSlots[5429:4807] Speech detected…
    2014-01-06 15:39:16.099 spokenSlots[5429:60b] Pocketsphinx has detected speech.

    The third BET and the last BALANCE were both recognitions that were not spoken. Any ideas or pointers would be greatly appreciated. Thank you very much.

    in reply to: OpenEars detects multiple words during silence #1019326
    nmpettus
    Participant

    Thanks so much for your tutorial. I believe I understand where to place the suspend and to locate the resume in the delegates that are called when audio and speech are completed. I have implemented all of the delegates but I am still having an issue. It seems that my app works but still has an occasional double, triple, or more hypothesis. I am still doing testing to find any places in the code that I may have overlooked. In another day or two I should have it narrowed down. If I continue to have difficulty I will provide the verbose logging info and let you know.

    Again I cannot express my gratitude enough for your patience and explanation. I feel I have learned so much. I want to continue using OpenEars in other apps I hope to develop. Thanks again, I will be back in touch with the results.

    in reply to: OpenEars detects multiple words during silence #1019300
    nmpettus
    Participant

    Sorry for being slow but I believe your second question about the suspend/resume holds the answer to my problem. I am using this code to determine the event from the hypothesis:

    
    - (void) pocketsphinxDidReceiveHypothesis:(NSString *)hypothesis recognitionScore:(NSString *)recognitionScore utteranceID:(NSString *)utteranceID {
        NSLog(@"The received hypothesis is %@ with a score of %@ and an ID of %@", hypothesis, recognitionScore, utteranceID);
        
        if ([hypothesis isEqualToString:@"HELP"])  {
            [self slotHelp:self];
        }
        if ([hypothesis isEqualToString:@"BET"]) {
            [self slotBet:self];
        }
        if ([hypothesis isEqualToString:@"SPIN"]) {
            [self slotSpin:self];
        }
        if ([hypothesis isEqualToString:@"BALANCE"]) {
            [self slotScore:self];
        }
    }
    

    During each event there is speech from both TTS and audioPlayer. I use this conditional to test when there is no speech at the beginning of each event but am not sure where to suspend and resume:

    if (self.synthesizer.speaking == NO && ![audioPlayer1 isPlaying] && ![audioPlayer2 isPlaying] && ![audioPlayer3 isPlaying] && ![audioPlayer4 isPlaying]) {
    // no speech currently
    }

    I thought I could suspend recognition after this conditional and let the event take place but I am not sure where or how to resume recognition after the speech is completed.

    Thanks so much for your patience and help. I am hoping to develop several apps using OpenEars for people who are visually challenged. OpenEars is a vital part of my vision. Again thanks for your help.

    in reply to: OpenEars detects multiple words during silence #1019287
    nmpettus
    Participant

    I just tried it on the ipad 2 and had the same problem. It gave a hypothesis of 8 words when no speech was occuring Then when I used and it detected a correct word it also detected (gave a hypothesis) of the same word a second and third time when there was no spoken word. Maybe it is getting some feed from the game speech or audio?

    in reply to: OpenEars detects multiple words during silence #1019286
    nmpettus
    Participant

    I am writing and testing the app for iphone and ipad. I have observed this behavior on the ipod touch and in the simulator. I am currently testing on the ipad. Thanks for your quick response.

Viewing 9 posts - 1 through 9 (of 9 total)