Can't see RapidEars version in logs

Home Forums OpenEars plugins Can't see RapidEars version in logs

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

  • Author
    Posts
  • #1031040

    darasan
    Participant

    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!

    #1031043

    darasan
    Participant

    Also – 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!

    #1031044

    Halle Winkler
    Politepix

    Hi,

    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.

    #1031046

    darasan
    Participant

    Thanks 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…

    #1031047

    Halle Winkler
    Politepix

    Hi,

    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.

    #1031293

    evilliam
    Participant

    @darasan – this looks like you’re using Unity – did you find this problematic at all?

    #1031295

    darasan
    Participant

    Hi, 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.

    #1031297

    Halle Winkler
    Politepix

    Hi 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!

Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.