Home › Forums › OpenEars plugins › Can't see RapidEars version in logs
- This topic has 7 replies, 3 voices, and was last updated 7 years, 5 months ago by Halle Winkler.
-
AuthorPosts
-
September 29, 2016 at 9:30 pm #1031040darasanParticipant
Hi Halle,
I’m trying to confirm the RapidEars version from the debug logs, but I can’t see it. I have enabled logging and verbose output for both OE and RE. I am using OE and RE = 2.502. This is how I initialise OE and enable logging:
void InitialiseSpeechEngine() { NSLog(@"OE: InitialiseSpeechEngine"); const char* StatusString_UTF8; if(!wrapper.isInitialised) { wrapper.dialogueCounter = 0; //Init wrapper if (wrapper == nil) wrapper = [[OEWrapper alloc] init]; //Init observer OEObserver = [[OEEventsObserver alloc] init]; [OEObserver setDelegate:wrapper]; //Init controller [[OEPocketsphinxController sharedInstance] setActive:TRUE error:nil]; //Init dictionaries wrapper.LangModelPaths = [NSMutableDictionary dictionary]; wrapper.DictionaryPaths = [NSMutableDictionary dictionary]; //Get mic permissions NSLog(@"permission granted: %d",[OEPocketsphinxController sharedInstance].micPermissionIsGranted); if([OEPocketsphinxController sharedInstance].micPermissionIsGranted == false) { NSLog(@"Request permissions"); [[OEPocketsphinxController sharedInstance] requestMicPermission]; } [OEPocketsphinxController sharedInstance].vadThreshold = 3.5; NSLog(@"VAD threshold: %.2f", [[OEPocketsphinxController sharedInstance] vadThreshold]); wrapper.DBLevel_Range = MAX_DB_LEVEL - MIN_DB_LEVEL; NSLog(@"DBLevel_Range: %.2f",wrapper.DBLevel_Range); //For debugging [OELogging startOpenEarsLogging]; [OEPocketsphinxController sharedInstance].verbosePocketSphinx = TRUE; [[OEPocketsphinxController sharedInstance] setRapidEarsToVerbose:TRUE]; wrapper.isInitialised = true; } else { NSLog(@"OE: already initialised"); } }
The resulting log is:
2016-09-29 20:22:01.169 A5[1211:603401] -> registered mono modules 0x100eeeed0 2016-09-29 20:22:01.385 A5[1211:603401] You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgroundModes in your Info.plist. -> applicationDidFinishLaunching() -> applicationDidBecomeActive() Init: screen size 640x1136 Initializing Metal device caps Initialize engine version: 5.3.4f1 (fdbb5133b820) UnloadTime: 4.025375 ms SpeechEngineOpenEars: Initialise() SpeechEngineOpenEars:Initialise() GameControllers.SpeechController:OnAwake() Controllers.MainGameController:Awake() (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37) 2016-09-29 20:22:03.314 [1211:603401] OE: InitialiseSpeechEngine 2016-09-29 20:22:03.327 [1211:603401] permission granted: 1 2016-09-29 20:22:03.327 [1211:603401] VAD threshold: 3.50 2016-09-29 20:22:03.327 [1211:603401] DBLevel_Range: 60.00 2016-09-29 20:22:03.328 [1211:603401] Starting OpenEars logging for OpenEars version 2.502 on 64-bit device (or build): iPhone running iOS version: 9.300000 2016-09-29 20:22:03.513 [1211:603401] AE: InitialiseAudioEngine 2016-09-29 20:22:03.615 [1211:603401] micPermissionCheckCompleted, result: 1 2016-09-29 20:22:03.615 [1211:603401] micPermissionCheckCompleted, result: 1 Unloading 7 Unused Serialized files (Serialized files now loaded: 0) UnloadTime: 7.109333 ms Unloading 35 unused Assets to reduce memory usage. Loaded Objects now: 765. Total: 3.079583 ms (FindLiveObjects: 0.079083 ms CreateObjectMapping: 0.032916 ms MarkObjects: 1.808750 ms DeleteObjects: 0.663416 ms) SpeechEngineOpenEars: Initialise() SpeechEngineOpenEars:CreateLanguageModel(String, String[], Int32) .GameControllers.SpeechController:OnCreateLanguageModel(CreateLanguageModelEvent) .GameControllers.EventController:Publish(GameEvent) .ChallengeControllers.ConversationStructure:Start() (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37) 2016-09-29 20:22:11.778 [1211:603401] OE: Create LanguageModel [Yes hello Its a] 2016-09-29 20:22:11.779 [1211:603401] Added sentence 0: [Yes hello Its a pleasure to meet you Hannah] 2016-09-29 20:22:11.783 [1211:603401] Rejecto version 2.500000 2016-09-29 20:22:11.800 [1211:603401] Since there is no cached version, loading the language model lookup list for the acoustic model called AcousticModelEnglish 2016-09-29 20:22:11.817 [1211:603401] Returning a cached version of LanguageModelGeneratorLookupList.text 2016-09-29 20:22:11.854 [1211:603401] I'm done running performDictionaryLookup and it took 0.036794 seconds 2016-09-29 20:22:11.854 [1211:603401] I'm done running performDictionaryLookup and it took 0.038008 seconds 2016-09-29 20:22:11.861 [1211:603401] Starting dynamic language model generation INFO: ngram_model_arpa_legacy.c(504): ngrams 1=50, 2=88, 3=48 INFO: ngram_model_arpa_legacy.c(136): Reading unigrams INFO: ngram_model_arpa_legacy.c(543): 50 = #unigrams created INFO: ngram_model_arpa_legacy.c(196): Reading bigrams INFO: ngram_model_arpa_legacy.c(561): 88 = #bigrams created INFO: ngram_model_arpa_legacy.c(562): 3 = #prob2 entries INFO: ngram_model_arpa_legacy.c(570): 3 = #bo_wt2 entries INFO: ngram_model_arpa_legacy.c(293): Reading trigrams INFO: ngram_model_arpa_legacy.c(583): 48 = #trigrams created INFO: ngram_model_arpa_legacy.c(584): 2 = #prob3 entries INFO: ngram_model_dmp_legacy.c(521): Building DMP model... INFO: ngram_model_dmp_legacy.c(551): 50 = #unigrams created INFO: ngram_model_dmp_legacy.c(652): 88 = #bigrams created INFO: ngram_model_dmp_legacy.c(653): 3 = #prob2 entries INFO: ngram_model_dmp_legacy.c(660): 3 = #bo_wt2 entries INFO: ngram_model_dmp_legacy.c(664): 48 = #trigrams created INFO: ngram_model_dmp_legacy.c(665): 2 = #prob3 entries 2016-09-29 20:22:11.939 [1211:603401] Done creating language model with CMUCLMTK in 0.078287 seconds. INFO: ngram_model_arpa_legacy.c(504): ngrams 1=50, 2=88, 3=48 INFO: ngram_model_arpa_legacy.c(136): Reading unigrams INFO: ngram_model_arpa_legacy.c(543): 50 = #unigrams created INFO: ngram_model_arpa_legacy.c(196): Reading bigrams INFO: ngram_model_arpa_legacy.c(561): 88 = #bigrams created INFO: ngram_model_arpa_legacy.c(562): 3 = #prob2 entries INFO: ngram_model_arpa_legacy.c(570): 3 = #bo_wt2 entries INFO: ngram_model_arpa_legacy.c(293): Reading trigrams INFO: ngram_model_arpa_legacy.c(583): 48 = #trigrams created INFO: ngram_model_arpa_legacy.c(584): 2 = #prob3 entries INFO: ngram_model_dmp_legacy.c(521): Building DMP model... INFO: ngram_model_dmp_legacy.c(551): 50 = #unigrams created INFO: ngram_model_dmp_legacy.c(652): 88 = #bigrams created INFO: ngram_model_dmp_legacy.c(653): 3 = #prob2 entries INFO: ngram_model_dmp_legacy.c(660): 3 = #bo_wt2 entries INFO: ngram_model_dmp_legacy.c(664): 48 = #trigrams created INFO: ngram_model_dmp_legacy.c(665): 2 = #prob3 entries 2016-09-29 20:22:11.947 [1211:603401] I'm done running dynamic language model generation and it took 0.162557 seconds <code></code> I can see other verbose output for OE, but not the RapidEars version number. I'm assuming that enabling verbose RapidEars would print it's version number? I am also using Rejecto and that version gets printed OK, as seen above. I tried re-adding the frameworks but still the same issue.
Thanks!
September 29, 2016 at 9:35 pm #1031043darasanParticipantAlso – my last comment got converted to code and I couldnt edit any more. It should read:
I can see other verbose output for OE, but not the RapidEars version number. I’m assuming that enabling verbose RapidEars would print it’s version number? I am also using Rejecto and that version gets printed OK, as seen above. I tried re-adding the frameworks but still the same issue.
Thanks!
September 29, 2016 at 10:15 pm #1031044Halle WinklerPolitepixHi,
The RapidEars version would normally print when it starts listening, does this log get that far? There has been a reported and elusive issue where having verbosePocketsphinx on sometimes suppresses RapidEars’ version printing (version printing is a function of OELogging rather than verbosePocketsphinx) so you can try setting verbosePocketsphinx to off and see if it helps. Another reason to not see RapidEars version printing would be if it were a pre-2.5.x version of RapidEars, since plugin version printing via OELogging is a recent feature.
October 1, 2016 at 11:01 pm #1031046darasanParticipantThanks for your reply.
The log does get to StartListening but still no version printed. I set verbosePocketsphinx to off, left OELogging on and re-imported the RapidEars framework (which is 2.502, as downloaded from the licensee portal) but still no version – is there any other way to check, via a file in the framework etc?
Also do you think it would be a good idea to have an API to query the framework version, for OE and plugins too? Seems like it would be useful though you may have a reason for not implementing that…
October 2, 2016 at 8:59 am #1031047Halle WinklerPolitepixHi,
OELogging is the API for printing the version for OE and the plugins. If the RapidEars version isn’t showing with only OELogging and not verbose on, the actual linked framework version is most likely a version which precedes the addition of this feature. I think a good approach for troubleshooting is to turn off all of your other app logging and to remove your RapidEars framework to the extent that it decisively breaks (including in Framework Search Paths), then reinstall it and see what OELogging says without any extraneous logging statements. The reason I suggest this is that your excerpt from your logging above (please be so kind as to show whole sessions when sharing logging) stops well before the RapidEars version would be able to appear, but most of its logging output isn’t from OELogging.
November 16, 2016 at 3:20 pm #1031293evilliamParticipant@darasan – this looks like you’re using Unity – did you find this problematic at all?
November 16, 2016 at 3:40 pm #1031295darasanParticipantHi, I never figured this out in the end, I had to work on other issues so never verified I could get the version number to print (sorry Halle, for not closing the issue). But the speech recognition itself was working fine.
Yes I was using Unity, never had any issues.
November 17, 2016 at 11:18 am #1031297Halle WinklerPolitepixHi guys,
I’m fairly sure that the reason darasan didn’t have the logging output was because the excerpted log output section precedes the initialization of RapidEars’ methods, and evilliam, plugin version logging in OELogging was only added in RapidEars 2.5 so you would not have any under any circumstances except with 2.5 or later plugins.
There is a mysterious console bug in which a great deal of other simultaneous logging can “squash” RapidEars version output logging, but the info available in this post doesn’t really point to that bug. In order to avoid it, just make sure that OELogging is on but verbosePocketsphinx isn’t, and other extraneous app logging isn’t, and you are using a 2.5 or later version of RapidEars. If OELogging reports your OpenEars version as being the current 2.504 version, and RapidEars links and builds with it, that can be assumed to be a 2.5 or later version of RapidEars (it should of course be the most recent version, but I understand that the entire reason you want to see the version output is to verify whether you are using the most recent version :) ).
I’m going to ask that any further discussion in this topic start with OELogging output from the complete app session (but without any other logging) since I think not having it and speculating is probably generating some confusion about causes both within this discussion and probably also for searchers finding this thread while troubleshooting, thanks!
-
AuthorPosts
- You must be logged in to reply to this topic.