Giter Site home page Giter Site logo

ovos-dinkum-listener's Introduction

OVOS - Buildroot OS

A minimalistic Linux OS bringing the open source voice assistant ovos-core to embedded, low-spec headless and/or small (touch)screen devices.

System.

OpenVoiceOS - Full 64 Bit distribution

  • Linux kernel 6.1.x (LTS)
  • Buildroot 2023.02.x (LTS) (With some modification here and there)
  • OVOS framework / software package utilizing ovos-docker containers (Currently latest alpha/development version)
  • Raspberry Pi 3|3b|3b+ (UEFI based)
  • Raspberry Pi 4 (UEFI based)
  • x86_64 Intel based computers (UEFI based) (Work In Progress)
  • Open Virtual Appliance (UEFI based)

Stats:

Build Status GitHub last commit
This shows if the code is valid and can be build. This shows when this repo was updated for the last time
GitHub stars GitHub issues
Please โญ this repo if you find it useful Issues are like my personal TODO list and information archive
License: Apache License 2.0 contributions welcome
I'm using the Apache License 2.0 similar as Mycroft A.I. which means commercial use is allowed If you have any ideas, they're always welcome. Either submit an issue or a PR!
Uptime Robot status Buy me a
I use uptime robot to monitor for things i can't monitor when the connection drops. If you feel the need, now it's as easy as clicking this button!

Documentation.

More information and instructions can be found within the "documentation" folder.

Credits

Mycroft AI (@MycroftAI)
Buildroot (@buildroot)
HassOS (@home-assistant)

Inspired by;

HassOS (@home-assistant)
SkiffOS (@skiffos)

ovos-dinkum-listener's People

Contributors

emphasize avatar goldyfruit avatar jarbasal avatar neondaniel avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

emphasize

ovos-dinkum-listener's Issues

object has no attribute 'shutdown'

When service starts or reloads.

2023-05-26 13:08:19.598 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:shutdown:301 - ERROR - 'PreciseLiteHotwordPlugin' object has no attribute 'shutdown'
2023-05-26 13:08:19.607 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:shutdown:301 - ERROR - 'PocketsphinxHotWordPlugin' object has no attribute 'shutdown'

"No relevant configuration" even if relevant!

I changed the speech_seconds which is within the listener dict, so "relevant" for the listener but the logs keep saying "No relevant configuration"

2023-05-25 16:04:39.076 - OVOS - ovos_config.config:_on_file_change:295 - INFO - /home/ovos/.config/mycroft/mycroft.conf changed on disk, reloading!
2023-05-25 16:04:39.136 - OVOS - ovos_config.models:load_local:105 - DEBUG - Configuration /home/ovos/.config/mycroft/mycroft.conf loaded
2023-05-25 16:04:39.161 - OVOS - ovos_dinkum_listener.service:reload_configuration:822 - INFO - Maybe reloading configuration
2023-05-25 16:04:39.166 - OVOS - ovos_dinkum_listener.service:reload_configuration:826 - DEBUG - Lock Acquired
2023-05-25 16:04:39.178 - OVOS - ovos_dinkum_listener.service:on_alive:58 - INFO - DinkumVoiceService is alive.
2023-05-25 16:04:39.184 - OVOS - ovos_dinkum_listener.service:reload_configuration:849 - INFO - Reloading Hotwords
2023-05-25 16:04:39.190 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:shutdown:301 - ERROR - 'PreciseLiteHotwordPlugin' object has no attribute 'shutdown'
2023-05-25 16:04:39.195 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:shutdown:301 - ERROR - 'PocketsphinxHotWordPlugin' object has no attribute 'shutdown'
2023-05-25 16:04:39.200 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:load_hotword_engines:88 - INFO - creating hotword engines
2023-05-25 16:04:39.216 - OVOS - ovos_plugin_manager.wakewords:load_module:134 - INFO - Loading "hey_mycroft" wake word via ovos-ww-plugin-precise-lite with config: {'module': 'ovos-ww-plugin-precise-lite', 'model': 'https://github.com/OpenVoiceOS/precise-lite-models/raw/master/wakewords/en/hey_mycroft.tflite', 'expected_duration': 3, 'trigger_level': 3, 'sensitivity': 0.5, 'listen': True, 'fallback_ww': 'hey_mycroft_precise'}
2023-05-25 16:04:39.387 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-25 16:04:39.400 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-25 16:04:39.470 - OVOS - ovos_plugin_manager.wakewords:load_module:141 - INFO - Loaded the Wake Word hey_mycroft with module ovos-ww-plugin-precise-lite
2023-05-25 16:04:39.489 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:load_hotword_engines:138 - INFO - Loading hotword: hey_mycroft with engine: <ovos_ww_plugin_precise_lite.PreciseLiteHotwordPlugin object at 0x7f7ab50b10>
2023-05-25 16:04:39.497 - OVOS - ovos_plugin_manager.wakewords:load_module:134 - INFO - Loading "wake_up" wake word via ovos-ww-plugin-pocketsphinx with config: {'module': 'ovos-ww-plugin-pocketsphinx', 'phonemes': 'W EY K . AH P', 'threshold': 1e-20, 'lang': 'en-us', 'wakeup': True}
2023-05-25 16:04:39.554 - OVOS - ovos_plugin_manager.wakewords:load_module:141 - INFO - Loaded the Wake Word wake_up with module ovos-ww-plugin-pocketsphinx
2023-05-25 16:04:39.735 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:load_hotword_engines:138 - INFO - Loading hotword: wake_up with engine: <ovos_ww_plugin_pocketsphinx.PocketsphinxHotWordPlugin object at 0x7f7cccb150>
2023-05-25 16:04:39.740 - OVOS - ovos_dinkum_listener.service:reload_configuration:855 - INFO - Reloading Listener
2023-05-25 16:04:39.786 - OVOS - ovos_dinkum_listener.voice_loop.voice_loop:run:232 - INFO - Loop stopped running
2023-05-25 16:04:43.714 - OVOS - ovos_plugin_manager.microphone:create:51 - DEBUG - Loaded microphone plugin ovos-microphone-plugin-alsa
2023-05-25 16:04:43.776 - OVOS - ovos_microphone_plugin_alsa:_run:67 - DEBUG - Opening microphone (device=default, rate=16000, width=2, channels=1)
2023-05-25 16:04:45.783 - OVOS - ovos_dinkum_listener.voice_loop.voice_loop:start:150 - INFO - Listening mode: ListeningMode.WAKEWORD
2023-05-25 16:04:45.868 - OVOS - ovos_dinkum_listener.voice_loop.voice_loop:run:174 - INFO - Starting loop in mode: ListeningMode.WAKEWORD
2023-05-25 16:04:45.872 - OVOS - ovos_dinkum_listener.service:on_ready:54 - INFO - DinkumVoiceService is ready.
2023-05-25 16:04:45.878 - OVOS - ovos_dinkum_listener.service:reload_configuration:891 - INFO - Reload Completed
2023-05-25 16:04:45.908 - OVOS - ovos_dinkum_listener.service:reload_configuration:820 - INFO - No relevant configuration changed

From a discussion with @JarbasAl and @NeonDaniel

JarbasAI
I think there's a race condition where it loads file before it fully finished writing
It detects file changes too fast!!

"log_level" option not honorred

Even if "log_level": "INFO" is set into the configuration, DinKum still display DEBUG messages.

2023-05-27 14:13:00.933 - OVOS - ovos_config.models:load_local:105 - DEBUG - Configuration /Users/goldyfruit/Virtualenvs/ovos/lib/python3.11/site-packages/ovos_config/mycroft.conf loaded
2023-05-27 14:13:00.944 - OVOS - ovos_config.models:load_local:111 - DEBUG - Configuration '/etc/mycroft/mycroft.conf' not defined, skipping
2023-05-27 14:13:00.954 - OVOS - ovos_config.models:load_local:111 - DEBUG - Configuration '/Users/goldyfruit/.config/mycroft/web_cache.json' not defined, skipping
2023-05-27 14:13:01.075 - OVOS - ovos_config.models:load_local:105 - DEBUG - Configuration /Users/goldyfruit/.config/mycroft/mycroft.conf loaded
2023-05-27 14:13:01.086 - OVOS - ovos_config.models:load_local:111 - DEBUG - Configuration '/etc/xdg/mycroft/mycroft.conf' not defined, skipping
2023-05-27 14:13:01.096 - OVOS - ovos_config.models:load_local:111 - DEBUG - Configuration '/Users/goldyfruit/.mycroft/mycroft.conf' not defined, skipping
2023-05-27 14:13:01.136 - OVOS - ovos_utils.configuration:get_xdg_config_save_path:141 - WARNING - configuration moved to the `ovos_config` package. This submodule will be removed in ovos_utils 0.1.0
2023-05-27 14:13:01.200 - OVOS - ovos_utils.configuration:get_xdg_base:76 - WARNING - configuration moved to the `ovos_config` package. This submodule will be removed in ovos_utils 0.1.0
2023-05-27 14:13:01.492 - OVOS - ovos_dinkum_listener.service:__init__:123 - INFO - Starting Voice Service
2023-05-27 14:13:01.525 - OVOS - ovos_dinkum_listener.service:on_alive:58 - INFO - DinkumVoiceService is alive.
2023-05-27 14:13:01.526 - OVOS - ovos_dinkum_listener.service:_before_start:280 - INFO - Starting service...
2023-05-27 14:13:01.527 - OVOS - ovos_bus_client.conf:load_message_bus_config:19 - DEBUG - Loading message bus configs
2023-05-27 14:13:01.528 - OVOS - ovos_dinkum_listener.service:_connect_to_bus:365 - DEBUG - Starting bus connection
2023-05-27 14:13:01.534 - OVOS - ovos_bus_client.client.client:on_open:85 - DEBUG - Connected
2023-05-27 14:13:01.541 - OVOS - ovos_bus_client.session:from_message:184 - DEBUG - Creating default session on reference
2023-05-27 14:13:01.543 - OVOS - ovos_bus_client.session:reset_default_session:225 - INFO - New Default Session Start: e07ae434-7e00-44fd-aa99-e5ca32567319
2023-05-27 14:13:01.689 - OVOS - ovos_config.models:load_local:111 - DEBUG - Configuration '/Users/goldyfruit/.config/mycroft/web_cache.json' not defined, skipping
2023-05-27 14:13:01.690 - OVOS - ovos_dinkum_listener.service:_connect_to_bus:372 - INFO - Connected to Mycroft Core message bus
2023-05-27 14:13:02.015 - OVOS - ovos_plugin_manager.microphone:create:71 - DEBUG - Loaded microphone plugin ovos-microphone-plugin-sounddevice
2023-05-27 14:13:02.037 - OVOS - ovos_dinkum_listener.plugins:load_stt_module:60 - DEBUG - Using FakeStreamingSTT wrapper
2023-05-27 14:13:02.045 - OVOS - ovos_dinkum_listener.service:_before_start:280 - INFO - Starting service...
2023-05-27 14:13:02.192 - OVOS - ovos_config.models:load_local:111 - DEBUG - Configuration '/Users/goldyfruit/.config/mycroft/web_cache.json' not defined, skipping
2023-05-27 14:13:02.194 - OVOS - ovos_dinkum_listener.service:_connect_to_bus:372 - INFO - Connected to Mycroft Core message bus
2023-05-27 14:13:02.200 - OVOS - ovos_microphone_plugin_sounddevice:start:56 - DEBUG - Opening microphone (device=default, rate=16000, width=2, channels=1)
2023-05-27 14:13:02.201 - OVOS - ovos_microphone_plugin_sounddevice:find_input_device:43 - INFO - Searching for input device: default
2023-05-27 14:13:02.202 - OVOS - ovos_microphone_plugin_sounddevice:find_input_device:44 - DEBUG - Devices: 
2023-05-27 14:13:02.202 - OVOS - ovos_microphone_plugin_sounddevice:find_input_device:48 - DEBUG -    Built-in Microphone
2023-05-27 14:13:02.203 - OVOS - ovos_microphone_plugin_sounddevice:find_input_device:48 - DEBUG -    Built-in Output
2023-05-27 14:13:02.268 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:load_hotword_engines:88 - INFO - creating hotword engines
2023-05-27 14:13:02.270 - OVOS - ovos_plugin_manager.wakewords:load_module:147 - INFO - Loading "hey_mycroft_vosk" wake word via ovos-ww-plugin-vosk with config: {'module': 'ovos-ww-plugin-vosk', 'samples': ['hey mycroft', 'hey microsoft', 'hey mike roft', 'hey minecraft'], 'rule': 'fuzzy', 'listen': True, 'fallback_ww': 'hey_mycroft_pocketsphinx', 'active': True}
2023-05-27 14:13:02.358 - OVOS - ovos_plugin_manager.utils:find_plugins:111 - DEBUG - Failed to load plugin entry point EntryPoint(name='ovos-precise-lite', value='ovos_ww_plugin_precise_lite:PreciseLiteHotwordPlugin', group='mycroft.plugin.wake_word'): No module named 'tflite_runtime'
2023-05-27 14:13:02.360 - OVOS - ovos_plugin_manager.utils:find_plugins:111 - DEBUG - Failed to load plugin entry point EntryPoint(name='ovos-ww-plugin-precise-lite', value='ovos_ww_plugin_precise_lite:PreciseLiteHotwordPlugin', group='mycroft.plugin.wake_word'): No module named 'tflite_runtime'
2023-05-27 14:13:02.409 - OVOS - ovos_plugin_manager.wakewords:load_module:154 - INFO - Loaded the Wake Word hey_mycroft_vosk with module ovos-ww-plugin-vosk
LOG (VoskAPI:ReadDataFiles():model.cc:213) Decoding params beam=10 max-active=3000 lattice-beam=2
LOG (VoskAPI:ReadDataFiles():model.cc:216) Silence phones 1:2:3:4:5:6:7:8:9:10
LOG (VoskAPI:RemoveOrphanNodes():nnet-nnet.cc:948) Removed 0 orphan nodes.
LOG (VoskAPI:RemoveOrphanComponents():nnet-nnet.cc:847) Removing 0 orphan components.
LOG (VoskAPI:ReadDataFiles():model.cc:248) Loading i-vector extractor from /Users/goldyfruit/.local/share/vosk/vosk-model-small-en-us-0/ivector/final.ie
LOG (VoskAPI:ComputeDerivedVars():ivector-extractor.cc:183) Computing derived variables for iVector extractor
LOG (VoskAPI:ComputeDerivedVars():ivector-extractor.cc:204) Done.
LOG (VoskAPI:ReadDataFiles():model.cc:282) Loading HCL and G from /Users/goldyfruit/.local/share/vosk/vosk-model-small-en-us-0/graph/HCLr.fst /Users/goldyfruit/.local/share/vosk/vosk-model-small-en-us-0/graph/Gr.fst
LOG (VoskAPI:ReadDataFiles():model.cc:303) Loading winfo /Users/goldyfruit/.local/share/vosk/vosk-model-small-en-us-0/graph/phones/word_boundary.int
LOG (VoskAPI:Recognizer():recognizer.cc:63) ["hey mycroft", "hey microsoft", "hey mike roft", "hey minecraft", "[unk]"]
WARNING (VoskAPI:Recognizer():recognizer.cc:84) Ignoring word missing in vocabulary: 'mycroft'
WARNING (VoskAPI:Recognizer():recognizer.cc:84) Ignoring word missing in vocabulary: 'roft'
LOG (VoskAPI:Estimate():language_model.cc:142) Estimating language model with ngram-order=2, discount=0.5
LOG (VoskAPI:OutputToFst():language_model.cc:209) Created language model with 6 states and 13 arcs.
2023-05-27 14:13:02.845 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:load_hotword_engines:138 - INFO - Loading hotword: hey_mycroft_vosk with engine: <ovos_ww_plugin_vosk.VoskWakeWordPlugin object at 0x110777d50>
2023-05-27 14:13:02.846 - OVOS - ovos_dinkum_listener.voice_loop.voice_loop:start:150 - INFO - Listening mode: ListeningMode.WAKEWORD
2023-05-27 14:13:02.847 - OVOS - ovos_dinkum_listener.service:register_event_handlers:315 - DEBUG - Messagebus events registered
2023-05-27 14:13:02.848 - OVOS - ovos_dinkum_listener.service:on_started:62 - INFO - DinkumVoiceService started.
2023-05-27 14:13:02.848 - OVOS - ovos_dinkum_listener.service:run:250 - DEBUG - Service started
2023-05-27 14:13:02.849 - OVOS - ovos_dinkum_listener.service:on_ready:54 - INFO - DinkumVoiceService is ready.
2023-05-27 14:13:02.850 - OVOS - ovos_dinkum_listener.service:run:254 - INFO - Service ready
2023-05-27 14:13:02.850 - OVOS - ovos_dinkum_listener.voice_loop.voice_loop:run:174 - INFO - Starting loop in mode: ListeningMode.WAKEWORD

"No listen_words loaded" loop pretty agressive

If no hotwords are configured to listen then DinKum is looping pretty aggressively forever.

2023-05-27 12:51:32.660 - OVOS - ovos_dinkum_listener.voice_loop.voice_loop:run:174 - INFO - Starting loop in mode: ListeningMode.WAKEWORD
2023-05-27 12:51:32.792 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:32.928 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:32.929 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:33.067 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:33.068 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:33.205 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:33.206 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:33.343 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:33.344 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:33.481 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:33.482 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:33.618 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:33.619 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:33.757 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:33.758 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:33.895 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:33.896 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:34.033 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:34.034 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:34.171 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:34.172 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:34.308 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:34.309 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:34.447 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:34.448 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:34.585 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:34.586 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:34.723 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:34.724 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:34.861 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:34.862 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:34.999 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:35.000 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:35.137 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:35.138 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:35.275 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:35.276 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:35.413 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded
2023-05-27 12:51:35.414 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:found:207 - DEBUG - No listen_words loaded

Exception raised when (re-)loading hotwords

2023-06-01 11:34:27.909 - voice - ovos_dinkum_listener.service:reload_configuration:881 - INFO - Reloading Hotwords
2023-06-01 11:34:27.911 - voice - ovos_dinkum_listener.service:reload_configuration:882 - DEBUG - old={'hey_mycroft': {'active': True, 'module': 'ovos-ww-plugin-precise', 'listen': True, 'sound': 'snd/start_listening.wav', 'version': '0.3', 'model': '/home/neon/.local/share/neon/hey-mycroft.pb', 'binary_path': '/home/neon/.local/share/precise-engine/precise-engine'}, 'hey_neon': {'module': 'ovos-ww-plugin-vosk', 'listen': True, 'sound': 'snd/start_listening.wav', 'debug': False, 'rule': 'fuzzy', 'lang': 'en', 'samples': ['hey neon'], 'model_folder': '/home/neon/.local/share/neon/vosk-model-small-en-us-0.15', 'active': False}, 'thank_you': {'module': 'ovos-ww-plugin-vosk', 'sound': 'snd/acknowledge.mp3'}, 'wake_up': {'module': 'ovos-ww-plugin-vosk', 'active': False}}
2023-06-01 11:34:27.925 - voice - ovos_dinkum_listener.voice_loop.hotwords:load_hotword_engines:88 - INFO - creating hotword engines
2023-06-01 11:34:27.936 - voice - ovos_plugin_manager.wakewords:load_module:165 - INFO - Loading "hey_mycroft" wake word via ovos-ww-plugin-precise with config: {'active': True, 'module': 'ovos-ww-plugin-precise', 'listen': True, 'sound': 'snd/start_listening.wav', 'version': '0.3', 'model': '/home/neon/.local/share/neon/hey-mycroft.pb', 'binary_path': '/home/neon/.local/share/precise-engine/precise-engine'}
2023-06-01 11:34:27.964 - voice - ovos_dinkum_listener.service:run:263 - ERROR - voice_loop failed
Traceback (most recent call last):
  File "/home/neon/venv/lib/python3.7/site-packages/ovos_dinkum_listener/service.py", line 259, in run
    self.voice_loop.run()
  File "/home/neon/venv/lib/python3.7/site-packages/ovos_dinkum_listener/voice_loop/voice_loop.py", line 203, in run
    elif self._detect_ww(chunk):
  File "/home/neon/venv/lib/python3.7/site-packages/ovos_dinkum_listener/voice_loop/voice_loop.py", line 408, in _detect_ww
    ww = self.hotwords.found()
  File "/home/neon/venv/lib/python3.7/site-packages/ovos_dinkum_listener/voice_loop/hotwords.py", line 215, in found
    f"Waiting for listen_words but none are available!")
RuntimeWarning: Waiting for listen_words but none are available!
2023-06-01 11:34:27.973 - voice - ovos_dinkum_listener.service:run:266 - INFO - Service stopping
2023-06-01 11:34:28.076 - voice - ovos_plugin_manager.wakewords:load_module:172 - INFO - Loaded the Wake Word hey_mycroft with module ovos-ww-plugin-precise

numpy.core._exceptions._UFuncNoLoopError: ufunc 'add' did not contain a loop with signature matching types (dtype('S96000'), dtype('float32')) -> None

When starting the service with a minimal this minimal configuration:

{
  "listener": {
    "microphone": {
      "module": "ovos-microphone-plugin-sounddevice"
    }
  },
  "hotwords": {
    "hey_mycroft": {
      "active": false
    },
    "hey_mycroft_precise": {
      "active": false
    },
    "hey_mycroft_pocketsphinx": {
      "active": false
    },
    "wake_up": {
      "active": false
    }
  }
}

Trace:

2023-05-26 16:42:13.841 - OVOS - ovos_dinkum_listener.service:__init__:123 - INFO - Starting Voice Service
2023-05-26 16:42:13.873 - OVOS - ovos_dinkum_listener.service:on_alive:58 - INFO - DinkumVoiceService is alive.
2023-05-26 16:42:13.874 - OVOS - ovos_dinkum_listener.service:_before_start:280 - INFO - Starting service...
2023-05-26 16:42:13.887 - OVOS - ovos_bus_client.session:reset_default_session:225 - INFO - New Default Session Start: 71888aeb-1513-41c8-b4d3-c7eb7db880d3
2023-05-26 16:42:14.174 - OVOS - ovos_dinkum_listener.service:_connect_to_bus:372 - INFO - Connected to Mycroft Core message bus
2023-05-26 16:42:14.558 - OVOS - ovos_dinkum_listener.service:_before_start:280 - INFO - Starting service...
2023-05-26 16:42:15.079 - OVOS - ovos_dinkum_listener.service:_connect_to_bus:372 - INFO - Connected to Mycroft Core message bus
2023-05-26 16:42:15.768 - OVOS - ovos_dinkum_listener.voice_loop.hotwords:load_hotword_engines:88 - INFO - creating hotword engines
2023-05-26 16:42:15.769 - OVOS - ovos_dinkum_listener.voice_loop.voice_loop:start:150 - INFO - Listening mode: ListeningMode.WAKEWORD
2023-05-26 16:42:15.772 - OVOS - ovos_dinkum_listener.service:on_started:62 - INFO - DinkumVoiceService started.
2023-05-26 16:42:15.773 - OVOS - ovos_dinkum_listener.service:on_ready:54 - INFO - DinkumVoiceService is ready.
2023-05-26 16:42:15.773 - OVOS - ovos_dinkum_listener.service:run:254 - INFO - Service ready
2023-05-26 16:42:15.774 - OVOS - ovos_dinkum_listener.voice_loop.voice_loop:run:174 - INFO - Starting loop in mode: ListeningMode.WAKEWORD
2023-05-26 16:42:15.883 - OVOS - ovos_dinkum_listener.service:run:263 - ERROR - voice_loop failed
Traceback (most recent call last):
  File "/Users/goldyfruit/Virtualenvs/ovos/lib/python3.11/site-packages/ovos_dinkum_listener/service.py", line 259, in run
    self.voice_loop.run()
  File "/Users/goldyfruit/Virtualenvs/ovos/lib/python3.11/site-packages/ovos_dinkum_listener/voice_loop/voice_loop.py", line 200, in run
    elif self._detect_ww(chunk):
         ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/goldyfruit/Virtualenvs/ovos/lib/python3.11/site-packages/ovos_dinkum_listener/voice_loop/voice_loop.py", line 340, in _detect_ww
    self.hotwords.update(chunk)
  File "/Users/goldyfruit/Virtualenvs/ovos/lib/python3.11/site-packages/ovos_dinkum_listener/voice_loop/hotwords.py", line 259, in update
    self.audio_buffer.append(chunk)
  File "/Users/goldyfruit/Virtualenvs/ovos/lib/python3.11/site-packages/ovos_dinkum_listener/voice_loop/hotwords.py", line 51, in append
    buff = self._buffer + data
           ~~~~~~~~~~~~~^~~~~~
numpy.core._exceptions._UFuncNoLoopError: ufunc 'add' did not contain a loop with signature matching types (dtype('S96000'), dtype('float32')) -> None
2023-05-26 16:42:15.885 - OVOS - ovos_dinkum_listener.service:on_error:66 - ERROR - DinkumVoiceService failed to launch (ufunc 'add' did not contain a loop with signature matching types (dtype('S96000'), dtype('float32')) -> None).
2023-05-26 16:42:15.885 - OVOS - ovos_dinkum_listener.service:run:266 - INFO - Service stopping
2023-05-26 16:42:16.018 - OVOS - ovos_dinkum_listener.service:on_stopping:70 - INFO - DinkumVoiceService is shutting down...

ValueError: mutable default <class 'collections.deque'> for field hotword_chunks is not allowed: use default_factory

When I try to start ovos-dinkum-listener this is what I got:

2023-04-22 17:56:27.123 - OVOS - ovos_config.models:load_local:105 - DEBUG - Configuration /home/ovos/.venv/lib/python3.11/site-packages/mycroft/configuration/mycroft.conf loaded
2023-04-22 17:56:27.376 - OVOS - ovos_config.models:load_local:111 - DEBUG - Configuration '/etc/mycroft/mycroft.conf' not defined, skipping
2023-04-22 17:56:27.625 - OVOS - ovos_config.models:load_local:105 - DEBUG - Configuration /home/ovos/.config/mycroft/web_cache.json loaded
2023-04-22 17:56:27.899 - OVOS - ovos_config.models:load_local:105 - DEBUG - Configuration /home/ovos/.config/mycroft/mycroft.conf loaded
2023-04-22 17:56:28.136 - OVOS - ovos_config.models:load_local:111 - DEBUG - Configuration '/etc/xdg/mycroft/mycroft.conf' not defined, skipping
2023-04-22 17:56:28.373 - OVOS - ovos_config.models:load_local:111 - DEBUG - Configuration '/home/ovos/.mycroft/mycroft.conf' not defined, skipping
2023-04-22 17:56:28.768 - OVOS - ovos_utils.configuration:get_xdg_config_save_path:141 - WARNING - configuration moved to the `ovos_config` package. This submodule will be removed in ovos_utils 0.1.0
2023-04-22 17:56:28.893 - OVOS - ovos_utils.configuration:get_xdg_base:76 - WARNING - configuration moved to the `ovos_config` package. This submodule will be removed in ovos_utils 0.1.0
Traceback (most recent call last):
  File "/home/ovos/.venv/bin/ovos-dinkum-listener", line 5, in <module>
    from ovos_dinkum_listener.__main__ import main
  File "/home/ovos/.venv/lib/python3.11/site-packages/ovos_dinkum_listener/__main__.py", line 40, in <module>
    from ovos_dinkum_listener.voice_loop import AlsaMicrophone, DinkumVoiceLoop, ListeningMode, ListeningState
  File "/home/ovos/.venv/lib/python3.11/site-packages/ovos_dinkum_listener/voice_loop/__init__.py", line 16, in <module>
    from ovos_dinkum_listener.voice_loop.voice_loop import DinkumVoiceLoop, ListeningMode, ListeningState
  File "/home/ovos/.venv/lib/python3.11/site-packages/ovos_dinkum_listener/voice_loop/voice_loop.py", line 98, in <module>
    @dataclass
     ^^^^^^^^^
  File "/usr/lib/python3.11/dataclasses.py", line 1220, in dataclass
    return wrap(cls)
           ^^^^^^^^^
  File "/usr/lib/python3.11/dataclasses.py", line 1210, in wrap
    return _process_class(cls, init, repr, eq, order, unsafe_hash,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/dataclasses.py", line 958, in _process_class
    cls_fields.append(_get_field(cls, name, type, kw_only))
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/dataclasses.py", line 815, in _get_field
    raise ValueError(f'mutable default {type(f.default)} for field '
ValueError: mutable default <class 'collections.deque'> for field hotword_chunks is not allowed: use default_factory

Multiple connections to the bus

Not sure why it connects twice to the bus and not sure if its the expected behaviour.

2023-05-27 11:35:33.001 - OVOS - ovos_dinkum_listener.service:_connect_to_bus:372 - INFO - Connected to Mycroft Core message bus
2023-05-27 11:35:33.554 - OVOS - ovos_dinkum_listener.service:_before_start:280 - INFO - Starting service...
2023-05-27 11:35:33.668 - OVOS - ovos_dinkum_listener.service:_connect_to_bus:372 - INFO - Connected to Mycroft Core message bus

Missing requirements

Compare to ovos-listener, ovos-dinkum-listener is missing some libraries.

Here is the list that I'm using to have a functional ovos-dinkum-listener with wake word and VAD detection.

ovos-stt-plugin-server
ovos-stt-plugin-vosk
ovos-vad-plugin-silero
ovos-ww-plugin-pocketsphinx
ovos-ww-plugin-precise
ovos-ww-plugin-precise-lite
ovos-ww-plugin-vosk

Should reconnect/restart when microphone got lost

Sometimes, after a while without interaction, the listener just lost the connection with the microphone and shutdown itself when I think it should reconnect/restart

2023-05-21 08:51:42.718 - OVOS - ovos_dinkum_listener.voice_loop.voice_loop:_after_cmd:532 - DEBUG - reset VAD
2023-05-22 10:24:15.283 - OVOS - ovos_dinkum_listener.voice_loop.microphone:_run:91 - DEBUG - Opening microphone (device=default, rate=16000, width=2, channels=1)
2023-05-22 10:24:16.784 - OVOS - ovos_dinkum_listener.voice_loop.microphone:_run:91 - DEBUG - Opening microphone (device=default, rate=16000, width=2, channels=1)
2023-05-22 10:24:17.044 - OVOS - ovos_dinkum_listener.voice_loop.microphone:_run:91 - DEBUG - Opening microphone (device=default, rate=16000, width=2, channels=1)
2023-05-22 10:24:17.320 - OVOS - ovos_dinkum_listener.service:on_stopping:69 - INFO - DinkumVoiceService is shutting down...
2023-05-22 10:24:17.344 - OVOS - ovos_dinkum_listener.service:run:210 - ERROR - Service failed to start
Traceback (most recent call last):
  File "/home/ovos/.venv/lib/python3.11/site-packages/ovos_dinkum_listener/service.py", line 201, in run
    self.voice_loop.run()
  File "/home/ovos/.venv/lib/python3.11/site-packages/ovos_dinkum_listener/voice_loop/voice_loop.py", line 164, in run
    chunk = self.mic.read_chunk()
            ^^^^^^^^^^^^^^^^^^^^^
  File "/home/ovos/.venv/lib/python3.11/site-packages/ovos_dinkum_listener/voice_loop/microphone.py", line 71, in read_chunk
    return self._queue.get(timeout=self.timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/queue.py", line 179, in get
    raise Empty
_queue.Empty
2023-05-22 10:24:17.728 - OVOS - ovos_dinkum_listener.service:on_error:65 - ERROR - DinkumVoiceService failed to launch ().

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.