Commit Graph

41 Commits (340542df2a616319ecae6f25017f27e8b154d655)

Author SHA1 Message Date
Ethan Ward b60bd99e79 Fix unused imports (#296) 2016-07-18 15:45:11 -05:00
Ethan Ward 743c430996 Update test coverage to include loading vocab (#294)
* Issues #226 - Add tests for adding vocab

* pep8

* Issues 226 - Update tests

* Issues #226 - Remove debug lines
2016-07-18 15:44:36 -05:00
Matthew D. Scholefield a43b7b3ace Add new listener config options- Fixes #260 (#266)
* 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
2016-07-07 18:24:52 -05:00
Matthew D. Scholefield 9405dce4d9 Decreased "wake up" false positives - Fixes #189 (#252)
* Increased kws threshold for the wakeup_recognizer

* Fixed pep8 in listener

* Fixed unit tests
2016-06-30 14:22:53 -05:00
Matthew D. Scholefield e626f5490f Added more tests to EnglishQuestionParser (#251)
* Added more tests

* Changed example verb in question parser test
2016-06-30 15:14:32 -04:00
Ethan Ward 90905d526c Issues 108 - Change regex to be localized (#222)
* Issues 108 - Add load_regex_files

* Issues 108 - Update weather skill with new regex syntax

* Issues 108 - Update stock skill with new regex syntax

* Issues 108 - Add stock regex file

* Issues 108 - Update time skill to use new regex syntax

* Issues 108 - Update desktop skill to use new regex syntax

* Issues 108 - Update volume skill to use new regex syntax

* Issues 108 - Update wikipedia skill to use new regex syntax

* Issues 108 - Update spelling skill to use new regex syntax

* Issues 108 - Update sms skill to use new regex syntax

* Issues 108 - Update calling skill to use new regex syntax

* Issues 108 - Remove unused argument

* Issues 108 - Add unit tests

* Issues 108 - Minor changes to fix tests

* Issues 108 - Preserve intended test logic

* Issues 108 - Address feedback

* Issues 108 - Update test formatting

* Issues 108 - Change file location
2016-06-28 16:20:48 -04:00
Matthew D. Scholefield eed03f3036 Added new compiled regex for "what's" in wolfram - Fixes #159 (#235)
* Added new compiled regex for what's
This is for verbs that don't have a space between the question word and verb

* Added support for 'whats' in wolfram

* Added tests for the EnglishQuestionParser
2016-06-28 15:13:30 -05:00
Ethan Ward 0a89a9016c WA skill will now search again if there is one `didyoumean` in the results (#236)
* Issues 192 - WA skill will now search again with top alternative

* Issues 192 - Add tests for new method

* Issues 192 - Fix pep8

* Issues 192 - Update test syntax

* Issues 192 - Change WA skill to use dialog

* Issues 192 - Address feedback
2016-06-27 17:30:45 -04:00
Ethan Ward 2a5e61bf34 Update scheduled skill formatting (Fixed #158) (#231)
* Issues 158 - Update ScheduledSkill time formatting

* Issues 158 - Add unit tests for new method changes

* Issues 158 - Change to not use date-based implementation to fix tests

* Issues 158 - Address feedback
2016-06-24 18:20:31 -04:00
Jonathan D'Orleans 81be192801 Issues 209 - Keep user configuration by default (#211) 2016-06-23 16:42:46 -04:00
Ethan Ward 9cefb4ee5f Issues 187 - Make Wolfram default to pod 2 (#188)
* Issues 187 - Make Wolfram default to pod 2

* Issues 187 - Add tests

* Issues 187 - Add decimal truncating back

* Issues 187 - Rename method

* Issues 187 - Minor bugfix
2016-06-21 16:16:28 -04:00
Ryan Sipes 159ece558d Revert "Revert "Listener improvements (Fixes #128)"" 2016-06-18 14:00:07 -05:00
Ryan Sipes 32ce7a492f Revert "Listener improvements (Fixes #128)" 2016-06-18 13:21:21 -05:00
Matthew Scholefield a6b0bb632f Fixed unit tests
One unit test, call and response, no longer directly applies. Perhaps we should test that the listener waits for the user to respond however for that I think the 1000 sudio samples would work better.

Another unit test, testing the WakeWord extractor, should be routed through the WakWord extractor directly. For the moment this has been disabled (since it isn't too much a priority because the WakeWord extractor is not used at the moment) but should be a TODO.
2016-06-17 17:55:19 -05:00
Arron Atchison a14ff48f2e Merge pull request #155 from MycroftAI/issues/154
Fix test runner so it only runs once.
2016-06-17 16:11:51 -05:00
Ethan Ward c7f1c81e37 Issue 150 - Add unit tests 2016-06-17 09:44:51 -05:00
Sean Fitzgerald d857a3cc31 Fix test runner to it only runs once. 2016-06-16 10:33:02 -07:00
Ethan Ward 78b917a71f Issues 63 - Ensuring pod.id usage in place of pod.title (#141) 2016-06-14 18:07:24 -04:00
Ethan Ward 30a00d72ca Issues 63 - Add more cases where Wolfram responds (#124)
* Issues 63 - Move result to own method

* Issues 63 - Add first test

* Issues 63 - Update syntax

* Issues 63 - Update syntax

* Issues 63 - Move test file

* Issues 63 - Make __find_value method more consistent

* Issues 63 - Add more extensive tests

* Issues 63 - Comply with pep8 formatting

* Issues 63 - Update test file for pep8

* Issues 63 - Refactor code to reduce size

* Issues 63 - Update for pep8
2016-06-10 17:16:26 -04:00
Jonathan D'Orleans 0e1c0f4589 Issues 96 - Fixing config file location 2016-06-09 18:50:24 -04:00
Jonathan D'Orleans 9b8db944a9 Issues 96 - Updating unit test configuration file 2016-06-09 18:29:37 -04:00
Jonathan D'Orleans fa5893cddb Issues 96 - Configuration
- Raising exception for invalid configuration
- Adding more unit tests
2016-06-09 18:27:04 -04:00
Jonathan D'Orleans 2be81631b8 Issues 96 - Configuration Test
- Adding ConfigurationManager tests
2016-06-09 18:26:20 -04:00
Jonathan D'Orleans 6cfe4a765c Issues 96 - Configuration Test
- Adding AbstractConfigurationTest
- Adding ConfigurationManagerTest
2016-06-09 18:26:20 -04:00
Jonathan D'Orleans e75d51b296 Issues 96 - Adding ConfigurationLoaderTest 2016-06-09 18:26:20 -04:00
Jonathan D'Orleans 8d1373387a Issues 96 - Renaming config to mycroft 2016-06-09 18:26:20 -04:00
Jonathan D'Orleans 42453b69d3 Issues 125 - Running test files without the need of 'test' suffix
- Removing unused 'util' folder
- Migrating test runner to module level __init__.py
- Updating start.sh to run new test file
2016-06-09 17:53:39 -04:00
Jonathan D'Orleans 2698e14f72 Issues 61 - Adjusting silence threshold
- Prevent short words commands such as 'stop' and 'record' to be ignored
 - Adding unit tests for the new silence threshold
2016-06-02 19:31:29 -04:00
Sean Fitzgerald 745d4920e1 More gracefully handle unexpected errors in listener, unit test mock class shouldn't generate unexpected errors. 2016-05-28 14:28:12 -07:00
Ryan Sipes fac834cf4a Merge remote-tracking branch 'refs/remotes/origin/master'
Conflicts:
	mycroft/client/speech/listener.py
	mycroft/client/speech/wakeword_recognizer.py
2016-05-27 11:40:24 -05:00
Jonathan D'Orleans 1fdeb65d1b Issues 14 - Listener Improvements
- Adding headers
2016-05-26 16:55:40 -04:00
Ryan Sipes ffb088ef7b Fixed Pyflakes errors
Fixed Pyflakes errors, had to add exceptions and debugs. May need further work.
2016-05-26 15:28:28 -05:00
Jonathan D'Orleans 11e1230889 Issues 14 - Listener Improvements
- Adding call_response audio test
2016-05-26 16:21:44 -04:00
Jonathan D'Orleans 08d07360da Issues 14 - Listener Improvements
- Renaming methods name to convey more meaning
- Renaming variable names to disambiguate
- Adding description for word extractor test
2016-05-26 16:21:44 -04:00
Jonathan D'Orleans 841fc588a6 Issues 14 - Fixing weather audio filename 2016-05-26 16:21:44 -04:00
Jonathan D'Orleans 41027edc89 Issues 14 - Listener Improvements
- Fixing audio tests
- Adding wakeup audio test
2016-05-26 16:21:44 -04:00
Jonathan D'Orleans a7361ba14a Issues 14 - Listener Improvements
- Fixing audio test type
2016-05-26 16:21:43 -04:00
Jonathan D'Orleans d947a8ec98 Issues 14 - Listener Improvements
- Word extractor refactoring
2016-05-26 16:21:43 -04:00
Jonathan D'Orleans b9a34a03b5 Issues 14 - Listener Improvements
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)
2016-05-26 16:21:43 -04:00
Leo Arias d618676089 Issues-4 - Fix pep8 errors. 2016-05-23 17:23:47 +00:00
Arron Atchison 6e42bb1736 In the 1970s computer users had to understand the arcane syntax of the machines they used. They programed their computers using the machine's native language and hardly gave it a thought.
The 1980s birthed a new form of interaction between computers and users.  For the first time computers became capable of understanding the most basic form of human communication - pointing and grunting.  The mouse and the GUI revolutionized computing and made computers accessible to the masses.

We have now entered a third era.  We are rapidly approaching a time when computer systems will understand human language and respond using the most natural form of human communication – speech.

This is an important development.  Some might even call it revolutionary.

Despite its importance, however, the technologies that will underpin this new method of interaction are the property of major tech firms who don't necessarily have the public's best interests at heart.

Not anymore.

Meet Mycroft – the worlds first open source natural language platform.  Mycroft understands human language and responds with speech.  It is being designed to run on anything from a phone to an automobile and will change the way we interact with open source technologies in profound ways.

Our goal here at Mycroft is to improve this technology to the point that when you interact with the software it is impossible to tell if you are talking to a human or a machine.

This initial release of the Mycroft software represents a significant effort by the Mycroft community to give the open source world access to this important technology.  We are all hoping that the software will be useful to the public and will help to usher in a new era of human machine interaction.

Our community welcomes everyone to use Mycroft, improve the software and contribute back to the project.  With your help and support we can truly make Mycroft an AI for everyone.

Joshua W Montgomery – May 17, 2016
2016-05-20 09:16:01 -05:00