-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pipewire shenanigans #253
Comments
update: It has survived multiple reboots, and llm responses do appear to be working |
I also cannot get this to work unfortunately. I stumbled upon this problem with my Pi 5 that im using as a desktop. Its kinda impossible to have systemd run this as it seems for me. Can u specify exactly what u mean with usermode? what parts of the installation did u not do as sudo user? |
Apologies, I was writing how how I did get it to work, First, yes, running the service in systemd as a system-wide service will fail if you are trying to run this on a desktop. This entire setup must be done without sudo, as you are setting this up to run as your user. |
Re-reading my initial post, I can see where I was unclear, I will attempt to give an easier to follow guide here:
The exact commands I used are as follows:
|
That did it! OMG.. i've searched for it for such a long time! |
So after fiddeling more around with it. It still kinda doesnt work Also an similar problem which i thought to solve with ur "--user" systemd service: shairport-sync when its a system service it cannot talk to pipewire earlier i solved this issue with rc-local calling "sudo systemctl restart **.service" |
if it isn't coming back up after a reboot, two things to check: So far this is surviving reboots on my end. |
Not sure if this is considered out of scope, but I didn't want a dedicated device sitting on my desktop, so I got it running on my desktop alongside Pipewire.
Current spec of my machine:
Fedora 41
Python 3.11 (using venv, for both satellite and openwakeword)
I don't have it fully stable, but this "works" so far, I am able to summon, and issue commands (that are executed). I also have not tested a reboot yet. Responses from ollama llm don't seem to make it back to me yet.
To accomplish this I edited the service file for the satellite (and openwakeword) in usermode "systemctl edit --user --force --full wyoming-satellite" and checked out the satellite and openwake word to a folder named assistant in my home directory (more organization than anything on my part).
I replaced arecord and aplay as I was not aware of how to get them to play nice and let other applications use the speakers/microphone (which may be possible, I just didn't see how when I did this). Routing it all through pipewire was the solution I ended up using, below is the way I ended up setting it up.
[Unit]
Description=Wyoming Satellite
Wants=network-online.target
Requires=wyoming-openwakeword.service
[Service]
Type=simple
ExecStart=/home/(user)/assistant/wyoming-satellite/.venv/bin/python3.11 /home/(user)/assistant/wyoming-satellite/script/run --name 'Desktop-Satellite' --uri 'tcp://0.0.0.0:10700' --mic-command 'pw-record --rate 16000 --channels 1 - ' --snd-command 'pw-play --rate 22050 --channels 1 -' --wake-uri 'tcp://127.0.0.1:10400' --wake-word-name 'hey_jarvis' --awake-wav /home/(user)/assistant/now_listening.wav --done-wav /home/(user)/assistant/processing.wav
WorkingDirectory=/home/(user)/assistant/wyoming-satellite
Restart=always
RestartSec=1
[Install]
WantedBy=default.target
The text was updated successfully, but these errors were encountered: