Commit Graph

313 Commits (refactor/python-detect)

Author SHA1 Message Date
Åke Forslund 6b5d45e507 Do not create configs folders until writing
This replaces save_*_path with usage of the xdg_*_home when handling
config files. This means the config folders will not be created unless
actually written to.

The check for whether a directory needs to be created is handled behind
a lock to avoid race conditions
2021-11-30 22:50:09 +01:00
Åke Forslund 3fd96cf71b WIP Review comments
- Add TODO for 22.02 to remove the compatibility code
- Make Warning a single Log statement
- mycroft-config script now uses XDG-environment variable
- Remove redundant code
- Replace hard coded references to ~/.config
- Explicitly remove new path before move of "filesystem" (if needed)
2021-08-05 10:04:45 +02:00
Åke Forslund 9029dc1f41 Slight cleanup
- Make XDG usage more visible by using the xdg module prefix
- fix overloaded python keywords
- remove unused imports
2021-08-05 10:04:45 +02:00
Bart Ribbers e20443b824 Use XDG Base directories for settings, cache and runtime data
Improve deprecation warning message
2021-08-05 10:04:45 +02:00
Kris Gesling 0e2a78068a
Merge pull request #2910 from MycroftAI/feature/avx-check
Check for the AVX instruction set during install
2021-06-02 06:54:08 +09:30
mathmauney 305b93625a Update hotword_factory.py
Fix long line string
2021-05-28 21:48:49 +09:30
mathmauney 011c3899a9 Fix line too long 2021-05-28 21:48:49 +09:30
mathmauney 4ca656caac Issue-2232 Add warning when AVX is not detected and fallback. 2021-05-28 21:48:49 +09:30
Kris Gesling e75a05557b docstring cleanup 2021-05-11 15:10:32 +09:30
Kris Gesling 1273425799 add ProcessStatus to key services 2021-01-28 17:24:21 +01:00
Kris Gesling 73f0299cfa
Merge pull request #2722 from forslund/bugfix/latest-porcupine
Update for newer Porcupine engines
2021-01-25 16:29:48 +09:30
Kris Gesling ad32a7a873 move bus connect method to process_utils 2021-01-11 16:57:25 +09:30
Kris Gesling 0423daeb4c Voice service to use common bus cilent method 2021-01-11 16:57:25 +09:30
dalgwen 4747dd0e59 Fix UnboundLocalError in AudioProducer
==== Fixed Issues ====

====  Tech Notes ====
The variable should be declared outside the loop.
2020-12-15 10:16:34 +01:00
Åke Forslund 4b1efc7db9 Add deprecation notice 2020-12-13 21:53:01 +01:00
Åke Forslund 23cf197eb0 Pylint cleanup of imports and Porcupine class 2020-12-09 12:38:54 +01:00
Åke Forslund cb8c3fe7de Switch to using the pvporcupine pip package
This is the same set of bindings as previously but packaged and
published on pypi

Picovoce library finder functions are used to determine the location of
libraries.
2020-12-09 12:37:31 +01:00
Åke Forslund 32279894f2 Update for latest Porcupine release
- Update the creation of Porcupine object
- Update the detection to accept >= 0 (index of detected hot word)
2020-12-09 12:37:31 +01:00
Åke Forslund 50f049032b Add docstrings for Hotword base class 2020-11-04 08:03:15 +01:00
Åke Forslund 0a9de0ab7c Update to pyee 8.1.0
pyee 8.1.0 adds a small change to make the once call to be more safe in
multithreaded environments.

This switches back from the now deprecated BaseEventEmitter to the
standard EventEmitter.
2020-10-22 11:43:06 +02:00
jarbasal 02cb489f63 wake word plugins 2020-10-10 18:03:40 +01:00
katridi 6e197d0138
Bugfix/issue 2563 (#2692)
* Issue-2563 Added fallback to english model
* Added test case for checking config set up
* Added more descriptive log message
2020-09-22 15:01:01 +09:30
Åke Forslund 1202417f86 Handle ntp syncs during precise Startup
Use MonotonicEvent instead of the builtin Event class
2020-09-10 13:27:21 +02:00
Kris Gesling d1ea9088fb
Merge pull request #2670 from MycroftAI/remove/startListening
remove deprecated startListening signal
2020-08-21 00:31:30 +00:00
Kris Gesling d4d7d09e40 remove hardcoded timeouts; already moved to conf 2020-08-19 20:35:23 +09:30
Kris Gesling 23d1d35ea9 remove deprecated startListening signal 2020-08-18 22:21:38 +09:30
Kris Gesling 5dac7fe54c disable wakeword uploads before deprecating API 2020-08-13 16:49:54 +09:30
Kris Gesling 7aa80e2b7d remove duplicate and unused method 2020-08-13 16:46:08 +09:30
Åke Forslund 236a2ed594 Add hook for stopping 2020-07-22 11:06:47 +02:00
Åke Forslund a1fdae3415 Add support for watchdog in skills and speech client
If no watchdog is provided a dummy function will be called
2020-07-22 10:52:32 +02:00
Åke Forslund 09b1deb511 Add possibility for notification hooks for services
- skills
- audio
- speech client
- messagebus service
- enclosure

The main functions now accepts the arguments ready_hook and error_hook
allowing a service or runner script to catch these states and perform
actions accordingly.

This is useful for things like systemd or a desktop launcher.

Fix audio service startup
2020-07-22 10:52:27 +02:00
Åke Forslund 0fc1ba325a Update pyee to v7.0.1
pyee has added ThreadExecutor variant of the EventEmitter which can
replace the home-spun threadpool based emitter
2020-07-07 08:21:42 +02:00
Åke Forslund 926d3ff1c1 Extract noise-tracking from _record_phrase
_record_phrase now uses a helper class to track the noise in a sentence
to determine when the user has stopped speaking.

The logic should be the same but the same but allow for easier testing
and manipulation.
2020-05-26 12:12:12 +02:00
Åke Forslund 9e73180206 Make sec_to_bytes a member of MutableMic
The function is based on the parameters of the Mic and is much more a
method of the mic than a static function
2020-05-26 12:12:12 +02:00
Åke Forslund 225f22fe82 Remove unused member variables
Move wakeword duration to the wakeword engine since all wakeword engines
doesn't really use phonemes
2020-05-26 12:12:12 +02:00
Åke Forslund dbf2bf45b1 Return status from wakeword as tuple
- Return the data from the wakeword as a tuple.
- Extract post wakeword actions from wait for wakeword method
2020-05-26 12:12:12 +02:00
Åke Forslund 567e08809a Refactor _wait_for_wakeword
- Add RollingMean data structure
- Add simple CyclicBuffer data structure
- Move out post find actions into separate method
2020-05-26 12:12:12 +02:00
Åke Forslund 7586de86d9 Fix MutableStream __init__ with mute=True
If the stream is restarted while muted this would cause an Exception
leading to an unresponsive voice client due to the read_lock being
called before creation.
2020-04-20 09:26:31 +02:00
Aditya Mehra c5c0881d94 Add configuration option to set microphone timeout
listener->recording_timeout: Maximum length of recording
listener->recording_timeout: Maximum length of silence before stopping
recording
2020-04-17 11:23:25 +02:00
dalgwen 003f2920a3 Enable snowboy to use several wakeword models
Snowboy could use several wakeword models, not only the first one.
2020-03-11 08:34:50 +01:00
ludwhe 49c6b298f1 Add path checks 2020-02-27 08:33:11 +01:00
ludwhe af6b7353e6 Added a "save_path" configuration for saved wake words and utterances. 2020-02-27 08:33:06 +01:00
jarbasal 75c796a29d add context to all listener messages 2020-02-15 15:35:38 +01:00
Jarbas-Core d16964c580 bus message targetting 2020-02-15 12:37:25 +01:00
Åke Forslund 308b0c5111 Fix incorrect porcupine shutdown and Exception
Flagged by flake8 after merge
2019-12-12 17:51:47 +01:00
Åke 3315d98582
Merge pull request #2139 from alumae/feature/issue-1491
Add support for the Porcupine wakeword engine.
2019-12-12 16:59:12 +01:00
Åke Forslund f9585e47ba Clean up of create_wake_word_recognizer
- Proper docstring
- " -> '
2019-12-07 20:22:20 +01:00
Åke Forslund 2c2c933832 Make sure hotword entry has phonemes and threshold
If hotword entry is missing either add from old listener location
2019-12-07 20:18:47 +01:00
Åke Forslund 026f769028 Fix using of hotword structure for custom wakeword
Fixes overriding settings from listener config
2019-11-26 09:07:15 +01:00
Christian Clauss a1ff3fb355 Upgrade from pycodestyle to flake8 2019-11-19 23:07:52 +01:00