Hello,
I believe I read the tutorial and it mentions that you can pregenerate this language model so users don’t have to generate the language model each time the app initializes the pocketsphinx.
Currently, I am generating the language model on initialization and for some reason it works most of the time, however if I add words it will sometimes crash. I also get warnings
sih_add WARNING: repeated hashing of ‘REFRESH’, older value will be overridden.
sih_add WARNING: repeated hashing of ‘THREE’, older value will be overridden.
Here is the code I use:
LanguageModelGenerator *lmGenerator = [[LanguageModelGenerator alloc] init];
NSArray *words = [NSArray arrayWithObjects:@"OPEN REQUEST", @"ONE", @"TWO",@"THREE", @"FOUR", @"FIVE", @"SIX", @"SEVEN", @"EIGHT", @"NINE", @"ZERO", @"CURRENT STATUS", @"UNASSIGNED TAB", @"MY OPEN TAB", @"MY TEAM TAB", @"PENDING TAB", @"AUTO REFRESH ON", @"AUTO REFRESH OFF", @"SELECT ROW", @"PAGE UP", @"PAGE DOWN", nil];
NSString *name = @"HDMLanguageModel";
NSError *err = [lmGenerator generateLanguageModelFromArray:words withFilesNamed:name];
NSDictionary *languageGeneratorResults = nil;
NSString *lmPath = nil;
NSString *dicPath = nil;
if([err code] == noErr) {
languageGeneratorResults = [err userInfo];
lmPath = [languageGeneratorResults objectForKey:@"LMPath"];
dicPath = [languageGeneratorResults objectForKey:@"DictionaryPath"];
} else {
NSLog(@"Error: %@",[err localizedDescription]);
}
//STARTING LISTENING
[self.pocketsphinxController startListeningWithLanguageModelAtPath:lmPath dictionaryAtPath:dicPath languageModelIsJSGF:NO];