Hey, so I’ve managed to get faster-whisper and piper up and running on my unraid server docker (linuxserver containers) and faster-whisper worked out of the box. Piper however doesn’t work even though it connects via wyoming, when I check the console log (Imgur: The magic of the Internet) it seems that it can’t find the voice model even though I’m using everything default (picked lessac medium in home assistant because I’ve seen it’s in appdata folder of piper, also created proper folder structure found in ordinary piper and also copied lessac medium over there to no avail).
At the end I just made my own Docker image like you did, works fine now after pointing /config to /data for custom voices.
Posting this for anyone in the future if they may have a similar problem
mkdir -p /mnt/user/appdata/piper-build
.
cd /mnt/user/appdata/piper-build
.
nano Dockerfile
Inside dockerfile paste the following:
FROM rhasspy/wyoming-piper:1.6.3
WORKDIR /data
RUN python3 -m wyoming_piper.download \
--voice en_US-lessac-medium \
--data-dir /data
RUN mkdir -p /tmp && chmod 777 /tmp
ENV VOICE=en_US-lessac-medium
EXPOSE 10200
CMD ["--voice", "en_US-lessac-medium"]
Press CTRL+X , press Y, press Enter to save and you should be back inside Terminal
Do the same for build.sh, type
nano build.sh
And paste in
#!/bin/bash
docker build -t custom-piper:latest .
echo "Build complete! Image tagged as: custom-piper:latest"
echo "You can now use this in your docker-compose or Unraid"
CTRL+X, Y, Enter
Now go into your Docker tab in Unraid, click “Add Container” button (remove previous Piper if you have iT), use a bridge interface, port 10200, host path /mnt/user/appdata/piper, access mode R/W, also add voice --voice en_US-lessac-medium (idk why everyone uses this as a starting voice but it worked for me)
Anyway at this point just point wyoming to your IP:10200 and it should work with home assistant