Greetings,
I’m working through a checklist to get our wall panel going, and hitting a wall with wyoming-satellite.
I’ve tried by using the python3 -m installer
method, and I’ve tried with script/setup, and problem other ways too.
The issue I ran into is this:
If I run installer
as a sudo user then it won’t be able to capture audio because the non-sudo “tablet” user has the mic and speakers locked. ChatGPT suggested using pulse
as the audio devices. That doesn’t help with the sudo install.
If I install as “tablet” I can configure, and pulse
works during the setup/test. Since the installer wants to move .service
files to /etc/systemd/system/ it requires sudo and I can’t do that, so I tried to just copy the services that were generated to my ~/.config/systemd/user/ folder, but then I have these errors when I try to run the command that the installer put into wyoming-wakeword.service
.
/home/tablet/wyoming-satellite/local/wyoming-openwakeword/.venv/bin/python3: No module named wyoming_openwakeword
Traceback (most recent call last):
File "/home/tablet/wyoming-satellite/local/wyoming-openwakeword/script/run", line 12, in <module>
subprocess.check_call([context.env_exe, "-m", "wyoming_openwakeword"] + sys.argv[1:])
File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/home/tablet/wyoming-satellite/local/wyoming-openwakeword/.venv/bin/python3', '-m', 'wyoming_openwakeword', '--uri', 'tcp://127.0.0.1:10400', '--threshold', '0.5', '--trigger-level', '1', '--custom-model-dir', '/home/tablet/wyoming-satellite/local/custom-wake-words/openWakeWord']' returned non-zero exit status 1.
The command within wyoming-satellite.service
seems to run ok except that it’s waiting for wyoming-wakeword.service
which isn’t starting.
wyoming-satellite.service
[Unit]
Description=Wyoming Satellite
Wants=network-online.target
After=network-online.target
Requires=wyoming-wakeword.service
[Service]
Type=simple
Environment=XDG_RUNTIME_DIR=/run/user/1001
ExecStart=/home/tablet/wyoming-satellite/script/run --name 'Wyoming Satellite' --uri tcp://0.0.0.0:10700 --mic-command 'arecord -D pulse -q -r 16000 -c 1 -f S16_LE -t raw' --snd-command 'aplay -D pulse -q -r 22050 -c 1 -f S16_LE -t raw' --awake-wav /home/tablet/wyoming-satellite/sounds/awake.wav --done-wav /home/tablet/wyoming-satellite/sounds/done.wav --wake-uri tcp://127.0.0.1:10400 --wake-word-name ok_wire_tap
WorkingDirectory=/home/tablet/wyoming-satellite
Restart=always
RestartSec=1
[Install]
WantedBy=default.target
wyoming-wakeword.service
[Unit]
Description=openWakeWord
[Service]
Type=simple
ExecStart=/home/tablet/wyoming-satellite/local/wyoming-openwakeword/script/run --uri tcp://127.0.0.1:10400 --threshold 0.5 --trigger-level 1 --custom-model-dir /home/tablet/wyoming-satellite/local/custom-wake-words/openWakeWord
WorkingDirectory=/home/tablet/wyoming-satellite/local/wyoming-openwakeword
Restart=always
RestartSec=1
[Install]
WantedBy=default.target
Any suggestions on where to go from here?