Home › Forums › OpenEars plugins › May Need Previous Version of Rejecto › Reply To: May Need Previous Version of Rejecto
The bundle is making it to the product so it’s not that. I am somewhat stumped now. Here are the functions from my plugin which call the updated code
/*
* ++++++++++++++++++++++++++++++++++++++++
* LanguageModelGenerator methods
* ++++++++++++++++++++++++++++++++++++++++
*/
-(void)languageModelGeneratorGenerateLanguageModelFromArray:(NSArray *)arguments withDict:(NSDictionary *)options{
NSString *languageArrayCSV = [arguments objectAtIndex:0];
NSArray *languageArray = [languageArrayCSV componentsSeparatedByString:@”,”];
/*NSError *error = [self.language_model_generator generateRejectingLanguageModelFromArray:languageArray withFilesNamed:@”dynamic”withOptionalExclusions:nil
usingVowelsOnly:FALSE
withWeight:nil];*/
NSError *error = [self.language_model_generator generateRejectingLanguageModelFromArray:languageArray
withFilesNamed:@”dynamic”
withOptionalExclusions:nil
usingVowelsOnly:FALSE
withWeight:nil
// Change “AcousticModelEnglish” to “AcousticModelSpanish” to create a Spanish Rejecto model.
forAcousticModelAtPath:[self.current_language_model pathToModel:@”AcousticModelEnglish”]];
NSDictionary *dynamicLanguageGenerationResultsDictionary = nil;
if([error code] != noErr) {
NSLog(@”Dynamic language generator reported error %@”, [error description]);
} else {
dynamicLanguageGenerationResultsDictionary = [error userInfo];
NSString *lmFile = [dynamicLanguageGenerationResultsDictionary objectForKey:@”LMFile”];
NSString *dictionaryFile = [dynamicLanguageGenerationResultsDictionary objectForKey:@”DictionaryFile”];
NSString *lmPath = [dynamicLanguageGenerationResultsDictionary objectForKey:@”LMPath”];
NSString *dictionaryPath = [dynamicLanguageGenerationResultsDictionary objectForKey:@”DictionaryPath”];
NSLog(@”Dynamic language generator completed successfully, you can find your new files %@\n and \n%@\n at the paths \n%@ \nand \n%@”, lmFile,dictionaryFile,lmPath,dictionaryPath);
self.path_to_dynamic_language_model = lmPath;
self.path_to_dynamic_grammar = dictionaryPath;
}
//[languageArray release];
if(dynamicLanguageGenerationResultsDictionary){
NSLog(@”LANGUAGE MODEL PATH: %@”,self.path_to_dynamic_language_model);
NSLog(@”DYNAMIC GRAMMAR PATH: %@”,self.path_to_dynamic_grammar);
switch ([self.started_listening intValue]) {
// Pocketsphinx is listening, switch to new language model
case 1:
NSLog(@”***Switching to new lm.”);
[self.pocket_sphinx_controller changeLanguageModelToFile:self.path_to_dynamic_language_model withDictionary:self.path_to_dynamic_grammar];
break;
// Otherwise, start listening with language model
default:
NSLog(@”***Starting with new lm.”);
//[self.pocket_sphinx_controller startListeningWithLanguageModelAtPath:self.path_to_dynamic_language_model dictionaryAtPath:self.path_to_dynamic_grammar languageModelIsJSGF:NO];
[self.pocket_sphinx_controller startListeningWithLanguageModelAtPath:self.path_to_dynamic_language_model dictionaryAtPath:self.path_to_dynamic_grammar acousticModelAtPath:[self.current_language_model pathToModel:@”AcousticModelEnglish”] languageModelIsJSGF:NO]; // Change “AcousticModelEnglish” to “AcousticModelSpanish” to perform Spanish recognition instead of English.
break;
}
}
}
/*
* ++++++++++++++++++++++++++++++++++++++++
* LanguageModelGenerator methods
* ++++++++++++++++++++++++++++++++++++++++
*/
-(void)languageModelGeneratorGenerateLanguageModelFromArray:(NSArray *)arguments withDict:(NSDictionary *)options{
NSString *languageArrayCSV = [arguments objectAtIndex:0];
NSArray *languageArray = [languageArrayCSV componentsSeparatedByString:@”,”];
/*NSError *error = [self.language_model_generator generateRejectingLanguageModelFromArray:languageArray withFilesNamed:@”dynamic”withOptionalExclusions:nil
usingVowelsOnly:FALSE
withWeight:nil];*/
NSError *error = [self.language_model_generator generateRejectingLanguageModelFromArray:languageArray
withFilesNamed:@”dynamic”
withOptionalExclusions:nil
usingVowelsOnly:FALSE
withWeight:nil
// Change “AcousticModelEnglish” to “AcousticModelSpanish” to create a Spanish Rejecto model.
forAcousticModelAtPath:[self.current_language_model pathToModel:@”AcousticModelEnglish”]];
NSDictionary *dynamicLanguageGenerationResultsDictionary = nil;
if([error code] != noErr) {
NSLog(@”Dynamic language generator reported error %@”, [error description]);
} else {
dynamicLanguageGenerationResultsDictionary = [error userInfo];
NSString *lmFile = [dynamicLanguageGenerationResultsDictionary objectForKey:@”LMFile”];
NSString *dictionaryFile = [dynamicLanguageGenerationResultsDictionary objectForKey:@”DictionaryFile”];
NSString *lmPath = [dynamicLanguageGenerationResultsDictionary objectForKey:@”LMPath”];
NSString *dictionaryPath = [dynamicLanguageGenerationResultsDictionary objectForKey:@”DictionaryPath”];
NSLog(@”Dynamic language generator completed successfully, you can find your new files %@\n and \n%@\n at the paths \n%@ \nand \n%@”, lmFile,dictionaryFile,lmPath,dictionaryPath);
self.path_to_dynamic_language_model = lmPath;
self.path_to_dynamic_grammar = dictionaryPath;
}
//[languageArray release];
if(dynamicLanguageGenerationResultsDictionary){
NSLog(@”LANGUAGE MODEL PATH: %@”,self.path_to_dynamic_language_model);
NSLog(@”DYNAMIC GRAMMAR PATH: %@”,self.path_to_dynamic_grammar);
switch ([self.started_listening intValue]) {
// Pocketsphinx is listening, switch to new language model
case 1:
NSLog(@”***Switching to new lm.”);
[self.pocket_sphinx_controller changeLanguageModelToFile:self.path_to_dynamic_language_model withDictionary:self.path_to_dynamic_grammar];
break;
// Otherwise, start listening with language model
default:
NSLog(@”***Starting with new lm.”);
//[self.pocket_sphinx_controller startListeningWithLanguageModelAtPath:self.path_to_dynamic_language_model dictionaryAtPath:self.path_to_dynamic_grammar languageModelIsJSGF:NO];
[self.pocket_sphinx_controller startListeningWithLanguageModelAtPath:self.path_to_dynamic_language_model dictionaryAtPath:self.path_to_dynamic_grammar acousticModelAtPath:[self.current_language_model pathToModel:@”AcousticModelEnglish”] languageModelIsJSGF:NO]; // Change “AcousticModelEnglish” to “AcousticModelSpanish” to perform Spanish recognition instead of English.
break;
}
}
}