Give some personality to your Xiaomi vacuum by creating your own GLaDOS voice pack.
The script reads the text from the csv file in GLaDOS' voice and packages it for upload to your vacuum. It's been tested with a gen1 running Valetudo but should also work with other generations and with other ways of installing the voice pack. Especially combined with some original samples it can lead to some cool results.
Want to hear what she sounds like first? Check out GLaDOS voice generator.
You're doing a great job of disappointing me. Go on, go to the releases page and download a pre-created pack.
- curl to call the GLaDOS voice generator API.
- ffmpeg and ffmpeg-normalize (
pip install ffmpeg-normalize
) to normalize the volume of the voice files. - ccrypt to package the wav files.
git clone
this repo- Change the lines in the csv file from the xiaomi default to something you want GLaDOS to say.
- Run
./01-speak.sh
to generate the speech. - Run
./02-process.sh
to normalize the volume. - Run
./03-package.sh
to package the wav files. - Visit Valetudo in your browser (the IP of your vacuum) and go to Settings -> Sound and voice. Upload the generated .pkg file from the output/result directory and press 'Upload Voice Pack'.
- Done!
If you created a custom csv file, please be so kind to share it back so others can benefit from it.
You can't beat the actual GLaDOS with her expression and cynicism, so why not replace some of the wav files with original samples from the game?
- Find the right samples, for instance on here.
- Download (via 'direct link') and give them the appropriate filenames (see the csv file).
- Convert mp3 to wav like this:
for i in *.mp3; do ffmpeg -i "$i" "${i%.*}.wav"; done
. - Replace the respective files in the
output/result
directory and run the package script.
Now we have this great voice installed, wouldn't it be great if GLaDOS would speak a bit more? How about a custom voice pack and configuration for this: roborock-oucher?
If you are using Home Assistant, you can combine the control of your vacuum with other automations. How about a soundtrack or some light effects? The only limit is your willingness to release your inner geek - you know you want to ;).
- Thanks to the folks over at DustCloud for freeing our vacuums (and transcribing the default voice).
- Valetudo for the great ux.
- b01t for providing an API to his GLaDOS voice generator.