Commit Graph

372 Commits (b9a054e6690385677c499e6732064b60cb85f0ec)

Author SHA1 Message Date
Arron Atchison 39116c4770 Merge pull request #325 from MycroftAI/feature/break-TTS-into-smaller-chunks
Feature/break tts into smaller chunks
2016-08-16 14:45:53 -05:00
isaacnward 45bd268c66 Added support for power control through unit menu mode (#324)
* added subprocess control for unit shutdown and restart

* shell=True

* p e p 8

* added message for wifi client
2016-08-16 13:16:14 -05:00
Arron Atchison 9c2e47af8f Merge branch 'master' into feature/break-TTS-into-smaller-chunks 2016-08-16 11:05:01 -05:00
Arron Atchison 2c0e9903f6 Merge pull request #311 from MycroftAI/features/eye-volume
Features/eye volume
2016-08-16 09:47:01 -05:00
Arron Atchison 8bd2e1c4dc added regex to the speech handler instead 2016-08-15 10:09:14 -05:00
Arron Atchison 036b4fc226 Merge pull request #314 from MycroftAI/issue/dont-compile-pocketsphinx
Issue/dont compile pocketsphinx
2016-08-01 10:38:25 -05:00
Matthew D. Scholefield 9e0fdd0b5a Removed white space on newline to fix PEP8 2016-07-30 13:27:54 -05:00
Arron Atchison a201743ac5 added a little more verbosity to self test feature 2016-07-30 13:01:37 -05:00
Matthew D. Scholefield c95f31c371 Added white noise to hardware test (#312)
Added white noise and dialog to hardware test.
2016-07-29 18:07:15 -05:00
Arron Atchison 62a9649680 Some modifications to dev_setup, build_host_setup, and local_recognizer.py. It seems that on debian systems we can install python-pocketsphinx for the python binding. 2016-07-29 10:27:44 -05:00
Matthew D. Scholefield 1febf1d81e Updated version number in enclosure client 2016-07-28 15:40:59 -05:00
Isaac Ward 0f69e3bdb8 added volume communication with enclosure 2016-07-28 15:23:24 -05:00
Ethan Ward 524c5e0956 Issues #56 - Move TTS process killing to speech client (#308)
* Issues #56 - Move stop functionality into speech client

* Fix pep8

* Issues #56 - Remove old kill
2016-07-28 10:13:14 -05:00
Wolfgange3311999 ca4b189638 Fixed enclosure hardware test issue 2016-07-27 16:37:52 -05:00
Matthew D. Scholefield fde0f32863 Hardware test (#305)
* Added mic test to enclosure

* Added system.test enclosure commands

This also improves the audio test method; it now uses its own voice to make the test faster to perform

* Added set function to mycroft configuration
This allows setting config values to a particular section in the user config

* Added upload and test on first boot features

* Added mute test to enclosure
2016-07-27 15:25:31 -05:00
Arron Atchison 96d2ad5e3e version bump 2016-07-21 14:30:47 -05:00
Arron Atchison b5dce51175 Merge pull request #300 from Wolfgange3311999/bugfix/issues-299
The volume knob now plays a noise for feedback
2016-07-21 13:15:59 -05:00
Arron Atchison 549d5fa98d Enclosure version bump 2016-07-21 12:21:12 -05:00
Wolfgange3311999 6fd22902a1 The volume knob now plays a noise for feedback
Before it would speak the response and degrade the UX
2016-07-20 21:22:16 -05:00
Ethan Ward b60bd99e79 Fix unused imports (#296) 2016-07-18 15:45:11 -05:00
Arron Atchison 993fe22ac6 Merge pull request #292 from Wolfgange3311999/bugfix/temp-file
Temp dict files now have generated names in /tmp/
2016-07-15 12:08:27 -05:00
Wolfgange3311999 11cdc72184 Temp dict files now have generated names in /tmp/
This prevent permission errors associated with storing things in the
/tmp/mycroft directory and with reusing files.
2016-07-15 11:40:59 -05:00
isaacnward 35ce974f14 fixed bug causing weather to occasionally not display (#291) 2016-07-15 11:26:33 -05:00
Wolfgange3311999 da804d3ead Moved generated dicts to temporary directory 2016-07-14 15:50:58 -05:00
isaacnward a7fb9d2fe5 Issues/234: Weather display on faceplate (#255)
* i really need to fork

* Added weather functionality

* pep8

* uncommented line

* removed variable default values

* changed enclosure version

* edited metadata syntax
2016-07-12 10:26:18 -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 08ad57cee8 Decreased false positives (Fixes #200) (#202)
* 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
2016-06-29 15:24:30 -04:00
Arron Atchison 2e847418ac Revert version
Our enclosure builder now refuses to build any release tab beyond 0.1.3  :/
2016-06-27 17:06:51 -05:00
Arron Atchison d994593d47 Bump to current enclosure release 2016-06-27 16:47:01 -05:00
Arron Atchison a9c00d69c3 Merge pull request #230 from Wolfgange3311999/feature/issues-224
Added timeout override to listener - fixes #224
2016-06-23 17:27:29 -05:00
Matthew Scholefield d2dc5443ee Fixed pep8 for mic.py 2016-06-23 17:14:49 -05:00
Matthew Scholefield 54cf720f8b Added timeout override to listener and fixed bug with it
previously the listner's behavior would be influenced by the buffer size. Now, however, it is not since the noise is increased by a factor of the seconds per buffer.
2016-06-23 16:03:47 -05:00
Arron Atchison 88c74cc541 Enclosure version bump for update tests
0.1.3 -> 0.1.4
2016-06-23 12:36:55 -05:00
Matthew D. Scholefield 874f521194 Merge pull request #207 from Wolfgange3311999/listener-fixes
Added back session manager behavior from old listener
2016-06-23 09:15:31 -05:00
isaacnward 083bda8e03 Issues/122 (#220)
* added mouth spelling

* spell word after talking

* removed speech to test

* test

* re-added speech

* used emitter

* mycroft/skills/spelling/__init__.py

* emitters 102: intermediate emitters

* emitters 103: importing the right method

* trying enclosure methods

* more fixing

* sorry slack

* added brief pause

* added api listener method

* fixed syntax

* further edited syntax

* slightly changed syntax

* added brief pause before listener reactivation

* changed ordering

* testing method

* further tests

* test test test

* logger

* further logger

* altered logic

* i really need to fork

* more debug

* changed boolean logic

* more debug

* fixed it??

* added brief pause again

* final commit

* test

* test

* fixed it

* sleep

* more testing

* stuff

* added constants:

* pep8
2016-06-22 14:36:56 -05:00
Matthew Scholefield 7bcdea6604 Added back wakeword handler 2016-06-21 12:26:27 -05:00
Matthew Scholefield e759c8ab33 Added back some SessionManager lines to replicate old behavior more precisely
I'm not quiet sure where the session_id was ever used when emitted in the payload however just to be safe I kept it in there. This is to be sure there are no differences between the old and new listener that could be causing Cerberus problems.
2016-06-21 12:15:58 -05:00
Matthew Scholefield d9905a2d07 Removed unnecessary variable in ResponsiveRecognizer
This was left over from when I was testing with making the class be asynchronous
2016-06-21 11:54:41 -05: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
Wolfgange3311999 379e5361c5 Fixedbug causing remote STT to fail
It turns out that without giving the keyword 'metrics=' in the metrics argument, something strange would happen causing all remote STT to fail
2016-06-18 10:43:57 -05:00
Matthew D. Scholefield 5df1e5e59b Removed extra import from previous commit 2016-06-17 22:13:26 -05:00
Wolfgange3311999 99d125640a Added a timeout of 30 seconds for recording a phrase 2016-06-17 21:05:28 -05:00
Wolfgange3311999 153cd62abd Changed to using += operator
Previously I thought bytearrays were immutable for some reason (which is not the case)
2016-06-17 20:55:01 -05:00
Matthew Scholefield 596ea04078 Fixed try_wake_up method 2016-06-17 17:41:01 -05:00
Matthew Scholefield d0cbddc961 Removed unused variable 2016-06-17 17:10:47 -05:00
Wolfgange3311999 b1900c3d81 Rewrote listener 2016-06-17 16:50:41 -05:00
isaacnward 3870e3c9c7 Features/encoder volume (#157)
* added volume control in enclosure.py

* fixed syntax for skill method usage

* addressing a problem with the enclosure service

* trying to use intents

* oops

* fixed pep8

* fixed issue with reversed volume controls

* changed enclosure version number to reflect updated enclosure code
2016-06-17 17:27:09 -04:00
Jonathan D'Orleans c46bc43e72 Issues 96 - Moving configuration to init 2016-06-09 18:26:10 -04:00
Jonathan D'Orleans efff3dbda6 Issues 96 - Renaming get_config to get only 2016-06-09 18:25:37 -04:00
Jonathan D'Orleans c3e2a25630 Issues 58 - Fixing Cerberus URL pronunciation
- Ensuring "dot" is spoken for Cerberus URL
- Fixing "AI" pause
2016-06-02 21:17:25 -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
Jonathan D'Orleans 45d4026eb8 Issues 54 - Fixing enclosure pep8 issues 2016-06-02 19:30:11 -04:00
Jonathan D'Orleans 27b1e2b22c Issues 54 - Displaying pairing code only once 2016-06-02 19:30:11 -04:00
Jonathan D'Orleans bd1888c642 Issues 54 - Displaying pairing code
- Ensuring Enclosure do not affect unit display state until paired
2016-06-02 19:30:11 -04:00
Jonathan D'Orleans 9f713879b0 Issues 64 - Removing undesirable thread from speak function 2016-05-31 20:45:41 -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 fd1f32e076 Pyflakes fixes
Rebased on master, and fixed all Pyflakes (specifically the pocketsphinx import being to liberal in local_recognizer.
2016-05-27 11:49:22 -05: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 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 a8df44199a Issues 14 - Fixing PEP8 line break at 79 2016-05-26 16:21:44 -04:00
Jonathan D'Orleans f63cd5b78e Issues 14 - Fixing PEP8 line break at 80 2016-05-26 16:21:44 -04:00
Jonathan D'Orleans 406e5dcdcd Issues 14 - Fixing PEP8 line break at 80 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
Ryan Sipes 8f2c451938 Fixed Missing License Headers on All Files.
GPL LIcense added to the top of each python file.
2016-05-26 11:16:13 -05: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