Commit Graph

40 Commits (18f4ff3e901faae71351204c66a901b19eed2dc1)

Author SHA1 Message Date
Åke Forslund be8dd47250 Add expect_response option to speak_methods
if expect_response flag is set to True the stt will be triggered just as if the wakeword has been received or the button on the mycroft enclosure has been pressed.
2017-03-17 20:20:27 +01:00
Arron Atchison de00192dc6 all lil peps fixed 2017-02-15 15:37:52 -06:00
penrods 5f8775883a Refining new "listening" sound mechanism
This adds several refinements to the listening sound mechanism added by:
* Added a default sound file
* Allowing various ways to override "resource files" for customization
* Moved the sound configuration path from "confirm_ding" to
  "sounds" > "start_listening"
* Also added "sounds" > "end_listening" configuration for the future

This submission adds the new mycroft.util.resolve_resource_file(res_name)
method.  This method takes a name such as "snd/start_listening.wav" and
looks (in order):
* For an absolute path <res_name>
* For ~/.mycroft/<res_name>
* For /opt/mycroft/<res_name>
* For mycroft/res/<res_name> within the source package
2017-02-15 15:37:52 -06:00
Arron Atchison 990dd27c5e Revert "Refining new "listening" sound mechanism (#503)" 2017-02-15 15:37:52 -06:00
Steve Penrod a53a5bf0a6 Refining new "listening" sound mechanism (#504)
This adds several refinements to the listening sound mechanism added by:
* Added a default sound file
* Allowing various ways to override "resource files" for customization
* Moved the sound configuration path from "confirm_ding" to
  "sounds" > "start_listening"
* Also added "sounds" > "end_listening" configuration for the future

This submission adds the new mycroft.util.resolve_resource_file(res_name)
method.  This method takes a name such as "snd/start_listening.wav" and
looks (in order):
* For an absolute path <res_name>
* For ~/.mycroft/<res_name>
* For /opt/mycroft/<res_name>
* For mycroft/res/<res_name> within the source package
2017-02-15 15:37:52 -06:00
tmajibon 647f90f836 Listen Confirmation Ding (#472)
* Listen confirmation

If enabled, will play a wave file to confirm that Mycroft is listening

* Listen confirmation ding config options

* Rename config option

* Update mycroft.conf

* Type: Rename config option

* Missing imports

Whoops, forgot them (was copying edits since I didn't have my dev environment set up)

* Removing unnecessary import functions
2017-02-15 15:37:52 -06:00
Åke Forslund a1d7fa79db Fix silent mycroft when config lacks enclosure/platform 2017-01-23 18:04:45 +01:00
Steve Penrod b64c4ecfe6 Fixes issue #466 (#467)
This is a bit of a hack for Picroft.  The analog audio on a Pi blocks
for 30 seconds fairly often, so we don't want to break on periods
(decreasing the chance of encountering the block).  But we will
keep the split for non-Picroft installs since it give user feedback
faster on longer phrases.
2017-01-20 16:17:24 -06:00
Steve Penrod 0ecc736829 Fixes issue #434. Developers working on both Cerberus and Home durin… (#435)
* Fixes issue #434.  Developers working on both Cerberus and Home during the transition would have to re-pair.

Also bumping enclosure client version.

* Correcting error from when Tarturus code was merged.  At startup it was calling Enclosure.system_reset(), which rebooted the Arduino, instead of implementing Enclosure.reset(), which sets the UI to a "ready for input" state.

While in here, I also added docstrings for all Enclosure API methods.

* Increment Arduino code version

* Adding a call to reset the face UI when the enclosure service starts up.  This is needed because the enclosure.reset that is posted by the speech service on the messagebus sometimes occurs before the enclosure client is up and listening for it -- especially if there is a Arduino firmware upgrade.

In the future, we may want to consider a core service roll-call that gets triggered whenever any of the core services come up.

* Update dev_setup.sh
2016-12-28 15:00:03 -06:00
Jonathan D'Orleans 11d78a55b8 Issues 426 - TTS web socket is not initialized properly
- Initialize tts ws and enclosure at the main process

Note:
- This is a minimal change to fix the problem.
- The ultimate goal is to have a totally isolated TTS process which requires its own main and ws initialization to be developed soon.
2016-12-21 00:18:25 -05:00
Jonathan D'Orleans 99ff4e3ce8 Issues 351 - Tartarus Integration
- Master rebase
- Renaming Websocket variable from client to ws
- Resetting enclosure when ws open
- Formatting pairing skill
2016-12-17 14:53:22 -05:00
Jonathan D'Orleans 416191e598 Issues 350 - Synchronizing local and remote configuration 2016-12-17 10:27:01 -05:00
Jonathan D'Orleans 1ed5496676 Issues 350 - Updating listener identity after pairing 2016-12-17 10:27:01 -05:00
Jonathan D'Orleans 4c1ba4e337 Issues 356 - Rebasing with master 2016-12-17 10:16:29 -05:00
Jonathan D'Orleans 89e9c2ff77 Issues 351 - Moving TTS Factory to tts __init__.py 2016-12-17 10:15:24 -05:00
Jonathan D'Orleans ccceb62b7a Issues 351 - Renaming metadata to data and simplifying data usage 2016-12-17 10:15:24 -05:00
Jonathan D'Orleans fe5b96e051 Issues 351 - Updating STT configuration 2016-12-17 10:15:24 -05:00
Steve Penrod e47ac6b895 Renamed the EnclosureAPI "system_reset()" method which generated an
"enclosure.system.reset" on the messagebus (which was intended to
only reset the enclosure's visual elements) to simply "reset()" and
"enclosure.reset" to avoid confusion with the "system.reset" serial
port message (which resets the Arduino).
2016-11-08 01:44:20 -06:00
Steve Penrod f08bbe5902 Refined the reset mechanism on boot. Now there is a single Enclosure API
system_reset() that means the Enclosure appearance should be reset to
its defaults.  The implementation of this is now a reset of both the
mouth and the eyes.  This command gets sent to the Enclosure once the
speech client has fully opened its connection to the messagebus.
2016-11-03 16:18:08 -05:00
Steve Penrod e251a1c625 Switched to using the EnclosureAPI instead of writting directly to the
serial port.  This is a stopgap, as potentially this message is sent
before the enclosure is fully active and listening.
2016-11-02 16:14:03 -05:00
Steve cac955fa64 Feature button behavior (#365)
* Several changes related to button pressing on the Mycroft unit:
- Pressing the button when it isn't listening starts it listening
- Pressing the button when listening will stop the listen
- Added a mycroft.util.signal() mechanism for out-of-thread communication
- Pressing the button now creates an "buttonPress" signal from the Enclosure
- The viseme playback and aplay check for the 'buttonPress' signal to abort
- Removed "Sorry I didn't catch that", irritating during false activations

* Fixed spacing that pep8 yelled about
2016-09-22 13:16:11 -05:00
Steve c653c43910 Added viseme support for TTS, allowing enclosure to display visemes (#357)
* Added viseme support for TTS, allowing enclosure to display visemes as appropriate

* Enclosure versino bump
2016-09-05 16:27:09 -05:00
Arron Atchison 5a1184eff9 Fixed issue #334 with a try: clause 2016-08-21 13:32:28 -05:00
Ethan Ward 73a74761bc Fix wifi indication in speech client main 2016-08-18 17:09:00 -05:00
Isaac Ward 9cdde253a1 added eye reset at bootup 2016-08-18 14:28:50 -05:00
Isaac Ward 4dd46c4837 added eye reset when listener is created 2016-08-17 13:33:28 -05:00
Arron Atchison 76eae6341d Merge pull request #327 from ethanaward/feature/issues-321
Add checks for wifi connection (Fixes #321)
2016-08-16 15:27:51 -05:00
Ethan Ward 2aa54abbac Issues #321 - Integrate connection test 2016-08-16 15:12:57 -05:00
Arron Atchison 8bd2e1c4dc added regex to the speech handler instead 2016-08-15 10:09:14 -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
Matthew Scholefield 7bcdea6604 Added back wakeword handler 2016-06-21 12:26:27 -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 b1900c3d81 Rewrote listener 2016-06-17 16:50:41 -05: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
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
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