Home › Forums › OpenEars › [Resolved] Noise problem even setting setVadThreshold openEars 2.0 › Reply To: [Resolved] Noise problem even setting setVadThreshold openEars 2.0
A couple of things that should help.
The first is that you can’t use unrealistically low secondsOfSilenceToDetect values like .1 or .2 with OpenEars 2.0 anymore. There isn’t an advantage to using a pause detection of a length which is less than a speaker’s actual pause (at least .3 seconds if not more) so this has never provided a benefit as a UI for the user and causes actual speech to be interrupted, as well as speech-like sounds to be submitted constantly for recognition. It doesn’t result in a real-time-like user experience because speech still has to be processed as a whole, and it is more frequently in the process of being submitted for recognition, meaning it is likely to not be listening at the time that the user is speaking due to processing.
secondsOfSilenceToDetect values that were significantly shorter than a speaker’s pause have been the cause of almost all of the issues reported for 2.0, so it’s pretty likely I’m going to limit that property to realistic values in upcoming versions. It will need to be increased to a value greater than .2 for 2.0.
From the upgrade guide:
Another API change is that before you start setting properties of OEPocketsphinxController for the first time, it is necessary to call its setActive method: [[OEPocketsphinxController sharedInstance] setActive:TRUE error:nil];
If you haven’t called setActive: and your vadThreshold settings are the first properties you’re setting, this will cause them not to take effect.
Lastly, you can set vadThreshold to a value higher than 3.0 if 3.0 is still causing oversensitive recognition, although this is probably more due to the secondsOfSilenceToDetect setting.
Sorry, it isn’t possible to offer dual support to 1.x and 2.x simultaneously – if there are issues with 2.0 they need to be reported and then they will be fixed.