Skip to content

Commit

Permalink
update troubleshooting sections (#71)
Browse files Browse the repository at this point in the history
* update troubleshooting sections
  • Loading branch information
builderjer authored Aug 15, 2023
1 parent 6632de1 commit 91b0b2c
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 38 deletions.
29 changes: 10 additions & 19 deletions docs/troubleshooting_audio.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ This will list the cards, which can then be referenced in arecord using -D hw:<c
arecord -f dat -r 16000 -D hw:4,0 -c 4 -d 10 test2.wav
```
You can then play the file back to test your speakers
```
```
aplay -D hw:2,0 test2.wav
```
** If PulseAudio is installed, Alsa should be configured to use PulseAudio as it's default, and we don't change anything in Alsa, we configure our default sources and sinks in Pulse Audio**
Expand All @@ -35,7 +35,7 @@ Verify that pulseaudio is installed
apt list pulseaudio
```
Verify that Alsa is using Pulse Audio as the default
```
```
$ aplay -L | head -n9
null
Discard all samples (playback) or generate zero samples (capture)
Expand All @@ -56,32 +56,18 @@ e.g.
```
pacmd set-default-source alsa_input.usb-OmniVision_Technologies__Inc._USB_Camera-B4.09.24.1-01.multichannel-input
```
### Test if OVOS is receiving mic input
You can test if OVOS is recieving mic input using the `ovos-cli-client`

Install the ovos-cli-client from github to ensure you have the latest version
```
cd ~
git clone https://github.com/openvoiceos/ovos-cli-client
pip install ./ovos-cli-client
```
Run the ovos-cli-client
```
ovos-cli-client
```
In the lower left you can observe the microphone levels, when you talk, the levels should increase. If they don't ovos is probably using the wrong microphone.
### Gather Data
Before submitting an issue or asking a question on Element, please gather the following data.

For Microphone issues:
```
```
arecord -l
arecord -L | head -n9
pactl list sources
pacmd dump
```
For Speaker issues:
```
```
aplay -l
aplay -L | head -n9
pactl list sinks
Expand All @@ -104,4 +90,9 @@ to this:
### Automatically suspend sinks/sources that become idle for too long
#load-module module-suspend-on-idle
```
and then restart PulseAudio. There is quite a lot of variation in how people do this but killall pulseaudio is one option (it gets automatically started again). If you want to be sure, you can restart the system.
and restart pulseaudio
```
pulseaudio -k
pulseaudio --start
```

5 changes: 1 addition & 4 deletions docs/troubleshooting_installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@
### Gather Data

## Problem/Fix
### Install fails to create OVOS wifi hotspot
### Install fails to create OVOS wifi hotspot
There is a known issue with balena (the wifi access point app) when it detects a WPA3 network of any sort, it fails.
[More Information](https://github.com/balena-os/wifi-connect/issues/416)

### Raspbian OVOS stuck on "Generating SSH keys..."
Not sure what is causing this, but if you reboot the pi (ctrl-alt-del) it will come up fine on the second boot.
73 changes: 58 additions & 15 deletions docs/troubleshooting_wakeword.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,70 @@
# Troubleshooting Wake Word

## Architecture
OpenVoiceOS uses a plugin (or plugins) to recognize the wake word. In your mycroft.conf file you'll specify the plugin used and what the wakeword is.
OpenVoiceOS uses a plugin (or plugins) to recognize the wake word. In your mycroft.conf file you'll specify the plugin used and what the wakeword is.
## Troubleshooting Commands
### Gather Data

### Verify it's the Wake Word and not the microphone
To verify that it is the Wake Word and not the microphone causing the issue, we will get OVOS to ask us a question that we can respond to. In the OVOS cli type in the utterance "set timer". OVOS will then ask how long of a timer you would like. Speaking now should result in your utterance being transcribed.
To verify that it is the Wake Word and not the microphone causing the issue, we will get OVOS to ask us a question that we can respond to.
From a terminal, type the command `ovos-say-to "set timer"` and make sure to include the quotation marks around the command you want to say. OVOS will then ask how long of a timer you would like. Speaking now should result in your utterance being transcribed.

If your response is successfully transcribed, it is most likely the Wake Word engine causing the problem.

### Check your mycroft.conf file to see what plugin and wake word is configured.
Determine which configuration files are being loaded
```
grep mycroft.conf /var/log/syslog
```
ovos-config show --section hotwords
```
The output will show which hotword is configured for your wake word.

```
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Configuration keys (Configuration: Joined, Section: hotwords) ┃ Value ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ hey_mycroft │ │
│ 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 │
├───────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────┤
│ hey_mycroft_precise │ │
│ module │ ovos-ww-plugin-precise │
│ version │ 0.3 │
│ model │ https://github.com/MycroftAI/precise-data/raw/models-dev/hey-mycroft.tar.gz │
│ expected_duration │ 3 │
│ trigger_level │ 3 │
│ sensitivity │ 0.5 │
│ listen │ False │
│ fallback_ww │ hey_mycroft_vosk │
├───────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────┤
│ hey_mycroft_vosk │ │
│ module │ ovos-ww-plugin-vosk │
│ samples │ ['hey mycroft', 'hey microsoft', 'hey mike roft', 'hey minecraft'] │
│ rule │ fuzzy │
│ listen │ False │
│ fallback_ww │ hey_mycroft_pocketsphinx │
├───────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────┤
│ hey_mycroft_pocketsphinx │ │
│ module │ ovos-ww-plugin-pocketsphinx │
│ phonemes │ HH EY . M AY K R AO F T │
│ threshold │ 1e-90 │
│ lang │ en-us │
│ listen │ False │
├───────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────┤
│ wake_up │ │
│ module │ ovos-ww-plugin-pocketsphinx │
│ phonemes │ W EY K . AH P │
│ threshold │ 1e-20 │
│ lang │ en-us │
│ wakeup │ True │
│ active │ False │
└───────────────────────────────────────────────────────────────┴───────────────────────────────────────────────────────────────────────────────────────────────┘
```

Look at your mycoft.conf file and verify how your wake word is configured. Look for the following lines (or similar):
```
"wake_word": "hey_mycroft" ## this will match a hotword listed later in the config
Expand All @@ -32,22 +82,15 @@ Look at your mycoft.conf file and verify how your wake word is configured. Loo
},
```
### Verify the Wake Word plugin is loading properly
`grep wake /var/log/syslog`
`grep wake ~/.local/state/mycroft/voice.log`
Look for lines similar to:
```
voice - ovos_plugin_manager.wakewords:load_module:85 - INFO - Loading "wake_up" wake word via ovos-ww-plugin-pocketsphinx
voice - ovos_plugin_manager.wakewords:load_module:92 - INFO - Loaded the Wake Word plugin ovos-ww-plugin-pocketsphinx
voice - ovos_plugin_manager.wakewords:load_module:85 - INFO - Loading "hey_mycroft" wake word via ovos-ww-plugin-precise
voice - ovos_plugin_manager.wakewords:load_module:92 - INFO - Loaded the Wake Word plugin ovos-ww-plugin-precise
```
If you see an error about "failed to load plugin" make sure the plugin is installed.
If you see an error about "failed to load plugin" make sure the plugin is installed.

Use ovos-cli-client to see if the microphone is working and the wakeword is being triggered.
`ovos-cli-client`
Look for
```
05:19:54.975 - voice - mycroft.listener.service:handle_wakeword:97 - INFO - Wakeword Detected: hey_mycroft
05:19:55.555 - voice - mycroft.listener.service:handle_record_begin:71 - INFO - Begin Recording...
05:19:57.052 - voice - mycroft.listener.service:handle_record_end:78 - INFO - End Recording...
```
## Problem/Fix
## Problem/Fix
Here is a [great blog](https://blog.graywind.org/posts/neon-change-wakeword/) about the wakeword and changing it.

0 comments on commit 91b0b2c

Please sign in to comment.