Commit Graph

28 Commits (cfdc405da53c5840ef83e10348afb7e9424fb2d0)

Author SHA1 Message Date
Matthew D. Scholefield cfdc405da5 Add new LOG class 2017-09-18 13:56:06 -05:00
Åke Forslund d378c9d1a6 Refactor Mimic class to keep caching functions in base class 2017-07-06 09:39:28 +02:00
Åke Forslund 0de3f49a82 Add threading for mimic tts 2017-07-06 09:34:33 +02:00
penrods 582b77891e One more pass at onboarding, including a major bug fix:
* BUGFIX: The big bug was calling is_paired() during wake_word_in_audio().  When not paired, that call hit the server, taking about a second.  Since it happened multiple times a second, the audio buffers got backed up hugely.  This resulted in weird behavior later as the buffers get cleared out.
* Added mycroft.api.has_been_paired(), which just looks for the pairing key (it does not validate it is still active with the server, like is_paired())
* The enclosure now checks for internet connectivity and kicks off the wifisetup process, not the wifisetup client itself.
* During the "onboarding" process, the microphone is muted using the new "mycroft.mic.mute" message.  After pairing completes, the "mycroft.mic.unmute" is expected to be sent from the pairing skill.  Unmuting again after a re-pairing is harmless.
* mute_and_speak() is smart enough to not unmute itself when complete if muted before
* util.check_for_signal() now accepts -1 as the lifetime.  This means it never times out.
* util.stop_speaking() is more intelligent about shutting down the spoken text (including text that has been split at periods) and visemes
2017-06-13 05:35:06 -05:00
penrods ffc3f6ec60 Implementing changes to out-of-the-box experience, providing an "onboarding" process.
* Added a mycroft.api.is_paired() method
* Added mycroft.util.is_speaking and mycroft.util.wait_while_speaking() methods
* RESET now waits for the spoken notice to complete
* Stopped the "Checking for updates" and "Skills updated" prompts (commented out for now, probably will eliminate)
* Wifi setup filters out hidden ("x00") networks
* Visemes should keep up better if they get behind (will skip)
* Mimic is now searched for on the users path
* Onboarding process:
  - wifi setup starts automatically
  - User is walked through the process
  - wake word and button pressing are ignored
  - At end, a short tutorial is given
2017-06-07 11:45:06 -05:00
Åke Forslund 925cadc19e Add support for switching tts and settings
- If tts config hash has changed re-initialize tts
- Cache is cleared on mimic initialization
2017-05-20 21:43:53 +02:00
Åke Forslund f4c1f4d2e5 Convert unicode string to bytes before hashing
Ignore flag set for extra safety.
2017-04-09 23:50:26 -07:00
Steve Penrod 10ff5debd7 Adding missing import and improved error messages 2017-03-30 11:05:46 -07:00
penrods 0043e6c889 Implementing audio cache feature in issue #598
The TTS audio is now cached.  If the same TTS is requested again, the cached WAV and phoneme sequence is reused.

Major points:
* Created mycroft.util.get_cache_directory().  You can give this a domain, also.  The mycroft.conf can define where this directory resides, so enclosures can have this reside on a ramdisk, for instance.
* Created mycroft.util.curate_cache().  This retains a percentage of the disk size free.
2017-03-30 02:40:56 -05:00
Jonathan D'Orleans d8308470d2 Issues 356 - Checking button press signal during visime loop in mimic 2016-12-17 10:27:01 -05:00
Jonathan D'Orleans 6cf59a0b94 Issues 356 - Fixing visime delta duration 2016-12-17 10:16:29 -05:00
Jonathan D'Orleans 86e712ec84 Issues 356 - Ensuring only code is sent as a message to visime enclosure 2016-12-17 10:16:29 -05:00
Jonathan D'Orleans 184e400e9e Issues 356 - Moving Visime logic to Mimic TTS 2016-12-17 10:16:29 -05:00
Jonathan D'Orleans 9e632a3c8a Issues 356 - Stopping processes during audio playback 2016-12-17 10:16:29 -05:00
Jonathan D'Orleans 4c1ba4e337 Issues 356 - Rebasing with master 2016-12-17 10:16:29 -05:00
Jonathan D'Orleans e76c1b7d21 Issues 356 - Refactoring TTS 2016-12-17 10:15:24 -05:00
Åke 218c53c127 Add support for duration_stretch config parameter (#334) 2016-09-22 09:18:27 -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 8bd2e1c4dc added regex to the speech handler instead 2016-08-15 10:09:14 -05:00
Arron Atchison 8a4145782c fixed regex to handle sentences better 2016-08-15 09:46:30 -05:00
Arron Atchison ac1b2324dd fixed pep8 error 2016-08-15 09:17:46 -05:00
Arron Atchison e761ac5a0b mimic_tts.py now splits Mimic imput into sentences, speaks them one a time. 2016-08-13 17:14:04 -05:00
Arron Atchison d55f785c55 mimic_tts.py now splits Mimic imput into sentences, speaks them one a time. 2016-08-13 17:08:23 -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 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