/valetudo-glados

GLaDOS (Portal) voice for dreame z10 vacuum

Primary LanguageShellGNU General Public License v3.0GPL-3.0

GLaDOS voice pack builder

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.

I'm not creative, just give me a voice pack!

You're doing a great job of disappointing me. Go on, go to the releases page and download a pre-created pack.

Requirements

  • 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.

Usage

  • 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.

Tips

Original samples

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.

Speak when bumping into something

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?

Further automations

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 ;).

Credits