Commit Graph

2094 Commits (02eb1b8277d06c61a2448a6a9e2767f7cb1cc54a)

Author SHA1 Message Date
Michael Nguyen 02eb1b8277
Merge pull request #1379 from forslund/feature/settings-changed-callback
Add callback on settings change from backend
2018-01-25 15:21:15 -06:00
Åke d9c288129c Add support for deepspeech_server (#1370)
* Add support for deepspeech_server

deepspeech_server is a server running deepspeech (obviously). It's quite
easy to install and run (package available in pip and then a config file
pointing to the model)

This pr adds the DeepSpeechServerTTS class, a STT interface allowing
mycroft to use one of these servers.

config needed:

  "stt": {
    "module": "deepspeech_server",
    "deepspeech_server": {
      "uri": "http://IP-ADDRESS:PORT/stt"
    }
  }

* Add deepspeech_server example to mycroft.conf
2018-01-25 14:02:42 -06:00
Ale 158b25170b translate italian functions for format.py and parse.py based on pt_pt job (#1363)
Add basic functions for Italian language

- nice_number()
- extract_number()
- normalize()
2018-01-25 15:58:32 +01:00
Åke 3f4c576ecd
Merge pull request #1377 from JarbasAl/msm_fix
Run requirements.sh before pip install requirements.txt to ensure requirements for the python packages are installed.
2018-01-25 15:19:22 +01:00
Åke ecf8f876b4
Merge pull request #1373 from MycroftAI/bugfix/show_cli_errors
Make sure exceptions are printed to stdout on exceptions in cli
2018-01-25 08:53:38 +01:00
Åke Forslund aab426a140 Add settable callback on change from backend
If settings are updated a callback can be set to notify the skill that a
change has occured.
2018-01-23 17:12:09 +01:00
jarbasai 21ad61b272 fix msm install order 2018-01-23 10:11:32 +00:00
Matthew D. Scholefield 856fed036b Restore captured text on cli exceptions 2018-01-19 16:46:51 -06:00
devs-mycroft 11cd652889 Version bump from 0.9.13 to 0.9.14 2018-01-18 23:46:48 +00:00
Åke f0d48c4262
Merge pull request #1371 from MycroftAI/feature/ntp-ui-tweaks
Tweak UI for NTP checking
2018-01-18 22:00:23 +01:00
penrods 26444c9c5f Tweak UI for NTP checking
Withe the NTP checks in place, the sequence of visual and audio queues
was a little clunky.  This refines it slightly for normal use and to
play better with the pairing process.
2018-01-18 14:44:53 -06:00
Jarbas 5541c4717f is_remote_list check (#1365)
use is_remote_list() to verify that a list needs to be converted for use in mycroft.
2018-01-18 12:12:02 +01:00
Steve Penrod 4a62ab5a40 Implement max-line to limit memory usage (#1369)
* Implement max-line to limit memory usage

The major point of the PR is to limit the memory usage of the CLI by
implementing a maximum log limit.  It defaults to 5000.

Other changes:
* Add "--debug" option to support troubleshooting/debugging the CLI itself
* Add support for jumping to the top (Ctrl+T/Ctrl+PgUp) or bottom (Ctrl+B/Ctrl+PgDn) of the logs.
* Remove the "OLDEST" message from the log.  It was really no longer necessary since the log navigation issues got straightened out, and it complicated the max log line logic.
2018-01-18 09:44:29 +01:00
Matthew D. Scholefield e046ee38d1
Merge pull request #1368 from MycroftAI/feature/time-warp
Fix startup time-warp issue
2018-01-17 22:14:20 -06:00
penrods e142b1f92b Update help to reflect changed message name 2018-01-17 21:51:39 -06:00
penrods a6bfed268b Fix Codacy gripe and add new .dialog 2018-01-17 21:16:39 -06:00
penrods 6c1cdb47b3 Fix startup time-warp issue
Raspberry Pi's don't have a built-in clock, so at boot-up the clock just picks up from when they were last running.  Normally this is corrected very quickly by NTP from an internet server, but if there is no network connection that cannot happen.

When an out-of-the-box Mark 1 or Picroft is being setup, the clock is set to whenever the image was created.  Upon completing the Wifi setup step the NTP service can finally sync with the internet, so time suddenly "jumps" to weeks later -- usually.  In either case (when the date jumps or when the date is erronously months old), there is potential for havoc.

These changes deal with that situation.  Upon network connection, an NTP synchonization is forced.  If it is detected that a major time jump happened
(more than 1 hour), then the user is notified that the clock change requires
a reboot and the system restarts.

Other changes:
* use the new "system." message namespace
* add pause before the system.reboot during a WIPE, allowing reset to totally complete
*
2018-01-17 21:05:51 -06:00
Åke da0f8ec9cd
Merge pull request #1360 from MycroftAI/bugfix/docs
Fix Sphinx documentation
2018-01-15 08:44:35 +01:00
Åke Forslund fa4be0fe53 Fix Pep8 2018-01-15 08:36:19 +01:00
Steve Penrod b18821d338
Fix PEP8 2018-01-15 01:25:40 -06:00
Matthew D. Scholefield cc65e045e6 Fix Sphinx documentation 2018-01-12 19:04:13 -06:00
Michael Nguyen f48068a50c
Merge pull request #1356 from forslund/test/separate-langs
Split the test_parse.py by language
2018-01-12 02:49:12 -06:00
Åke Forslund 35a5528a48 Split the test_parse.py by language
- switch over to utf-8 encoding for all the files
2018-01-10 16:21:28 +01:00
Åke 121787de1f
Merge pull request #1260 from JarbasAl/bing_tts
Add Bing tts option.
2018-01-09 21:16:05 +01:00
jarbasai 29e18cba8f fix bing gender 2018-01-09 19:16:39 +00:00
jarbasai 5c14fb3b62 bing tts 2018-01-09 19:16:26 +00:00
jarbasai f1c64471c6 bing tts 2018-01-09 19:15:28 +00:00
Jarbas 905e5397ed bing + houndify stt (#1229)
Add bing and Houndify stt backends
2018-01-09 13:41:26 +01:00
Åke Forslund c2a5288407 Update for latest changes 2018-01-08 18:04:07 -06:00
Åke Forslund a701e782e0 Replace open with more modern io.open
io.open is the default open in python 3 and sets encoding to unicode by
default.
2018-01-08 18:04:07 -06:00
Åke Forslund 6550b9c115 Attempt to allow CLI to display utf-8 encoded text. 2018-01-08 18:04:07 -06:00
Åke Forslund f88acdb60f Fix converse handling
Fallbacks were triggered even if utterance had been handled by converse.
This checks if converse handled the utterance as well.
2018-01-08 18:01:03 -06:00
Åke Forslund 4ac720ec53 Report None type as transcription when STT fails 2018-01-08 18:01:03 -06:00
Åke Forslund 936bd54180 Add a function to build the standard timing report 2018-01-08 18:01:03 -06:00
Åke Forslund 9d52c517f2 Add docstrings for stopwatch class 2018-01-08 18:01:03 -06:00
Åke Forslund c1d3342fc6 Add playback timing reports in playback thread
This covers the default case with mimic and in the future more as they
are moved over to using the playback thread
2018-01-08 18:01:03 -06:00
Åke Forslund fe3b85c755 Add tts into the flow by digging throug the stack
The speak method digs through the stack trying to find a Message object
and if found uses the context from that message when sending the data to
the speech subsystem.
2018-01-08 18:01:03 -06:00
Åke Forslund baa15b98aa Send timing metrics for various subsystems
====  Tech Notes ====
STT, intent handling, intent fallbacks, skill handlers are now timed and
tied together with a ident (consistent through the chain so the flow from
STT until completion of the skill handler can be follewed.

TTS execution time is also measured, right now this is not tied into the
ident due to the nature of the speech.

The report is always called "timing" and always contain the following
fields:

- id: Identifier grouping the metrics into interactions
- system: Which part (STT, intent service, skill handler, etc)
- start_time: timestamp for when the action started
- time: how long it took to execute the action

The different system adds their own specific information, for example
the intent_service adds the intent_type, i.e. which handler was matched.

==== Protocol Notes ====
mycroft.skills.loaded is sent togheter with skill id and skill name
whenever a skill is loaded. This is used in the intent_service to
convert from id to skill name when reporting
2018-01-08 18:01:03 -06:00
Åke Forslund cb35d4bb66 Handle network problems inside report_metric
Basically at any place where handle_metric is called I was adding a try-except
block to catch possible network/http issues. Due to this fact I feel
it's best to add it here.
2018-01-08 18:01:03 -06:00
Åke Forslund 72091f2b8e Add convenient methods to Stopwatch
- add with
- keep start time and stop time after stop
- str() will return a string of the time
2018-01-08 18:01:03 -06:00
Åke Forslund 6a977ac96b Update Speech recognition module to 3.8.1
As suggested by @turboproc this restores GoogleCloudSTT. For details on the change see https://github.com/Uberi/speech_recognition/releases

==== Fixed Issues ====
#1329

==== Environment Notes ====
SpeechRecognition updated to 3.8.1
2018-01-08 17:39:04 -06:00
penrods c88447a274 Add code to load appropriate config pieces 2018-01-08 17:09:58 -06:00
penrods 5fd05ad509 Add platform type/build to info sent to register
Add platform information (type and build #) to the messages
send to the server to pair and to update version info.
2018-01-08 17:09:58 -06:00
Åke Forslund 5e0aa28362 Fix code standard issues reported by Codacy 2018-01-08 17:08:31 -06:00
Åke Forslund 0114ce473e Split format.py and parse.py per language
Move the language specific functions and constants into separate files.
This will avoid many unnecessary conflicts due to involuntary encoding
changes.
2018-01-08 17:08:31 -06:00
Michael Nguyen 5d842fd369 removed log line 2018-01-08 17:02:49 -06:00
Michael Nguyen 884b65f0e4 fixed settings disappearing on load 2018-01-08 17:02:49 -06:00
Kathy Reid 50e57fdac5 Create ISSUE_TEMPLATE.md 2018-01-08 17:00:45 -06:00
Åke c3d0c1bcb9
Merge pull request #1261 from JarbasAl/ibm_tts
Add IBM Watson tts
2018-01-07 16:58:45 +01:00
Kathy Reid a7299beb6c Create SUPPORT.md (#1324)
* Create SUPPORT.md
2018-01-05 14:04:49 +01:00