* Added new listener config options
* Fixed audio unit tests
This adds a cleareraudio file for the wakeup test and changesto the new LocalRecognizer constructor
* Added .dict files to .gitignore
This is because they are now auto-generated on startup rather than stored permanently
* Fixed audio accuracy test for new LocalRecognizer constructor
* Added support for spaces in wake word config
In the phonemes a new word is indicated by a period character. The separating of the words actually changes the way pocketsphinx interprets the sound of it and in this case improves it
* Fixed unit test
* Changed keyword to 'hey mycroft' and increased threshold
The threshold increase is necessary since the keyphrase is now more syllables
* Fixed pocketsphinxnot loading and pep8
Previously I tried using a new word called 'hey-mycroft' (with the appropriate phoenetic version in the .dict) however it worked just as well as how it is now as separate words
* Increased threshold further
1. To prevent many of the listener "dead state" (avoiding unwanted exceptions to break the loop)
2. Wake up must work for both "mycroft wake up" and "wake up mycroft"
3. To ensure "mycroft" keyword is always detected when it exists
4. To rely on "mycroft" instead of "hey mycroft"
5. To process "ok", "okay" and "allright" as part of the wake word detection
Some of the possible test cases:
1. wake up mycroft with: "mycroft wake up" and "wake up mycroft"
- it must wake up no matter the position of the "wake up" keyword
- it must always say it's awake at the first time (before, it'd only say it the second time you try to wake up)
2. try "okay mycroft, what's the weather in lawrence" and similar requests with "alright"
- this ensures we ignore "okay" and "alright" on the sentence
3. "mycroft" keyword should be detected as much as possible even if the sentence does not trigger a real skill/action
- that means the wake word detection is working
4. try all of those from close distance to the unit
- this ensures the changes are working
5. try all of those from a far distance to the unit
- to test the auto gain mic (for those who have one)