GLaDOS (Portal) voice pack for Roborock / Xiaomi vacuums

Few voices are more appropriate for a vacuum cleaner than the one of GLaDOS, the core that runs the Aperture Science testing center in the Portal games.

Download a voice pack I created for xiaomi or roborock vacuums here. It’s a combination of text-to-speech in GLaDOS’ voice and original samples.

I also created a few scripts that allow you to edit the text GLaDOS says and installed a tool called the oucher that can make her say stuff when bumping into something. Check out the full guide and video.



Having just installed Valetudo yesterday after a couple of years of having our roborock, this is exciting!

Thank you very much! I just played Portal with the kids so they were very excited to hear glados wondering throughout the house :laughing:

Just found out about Valetudo and its custom voices. And love your voicepack. Very funny to hear some fine GlaDOS comments when my house is vacuumed :smiley: Thanks!

1 Like

Hello, I’m the roborock-oucher developer. Thanks for sharing this and for making a tutorial to install it, I really, really appreciate :slight_smile: maybe I can link your tutorial in the project GitHub page?


So, you’re the reason my vacuum won’t shut up? :wink:

LOL Nice work on that, btw.

Yeah, my wife hates me for this, actually :sweat_smile:


maybe I can link your tutorial in the project GitHub page?

Yes, of course! Before I found your solution, I was wondering how to do hook into the events of the vacuum. Clever, watching the logs :slight_smile:

Clever, watching the logs :slight_smile:

Well you need to be lucky actually; I’ve seen logs are hard to understand and I think not really everything is reported in them.

In this case I was very lucky: the bumper log entries had the “Bumper” word in them, and the only thing I had to do is to filter out some entries that log the “restore” of the bumper after it hits something.

But I’m not sure I would understand the other things it logs :sweat_smile:

Yes, of course!

Thank you very much :slight_smile:

how do i install this amazing voicepack?

1 Like

SCP into the vacuum and replace the voice-files in /opt/rockrobo/resources/sounds/en.
Install from the UI doesn’t work for some reason, I’ve only been able to install the original english.pkg there.


@arner thank you for this voice pack! Sadly, the link on Posts for the oucher sound files download doesn’t work anymore. Could you please upload them to a github release or something?

1 Like

I’ve been trying so hard to get this to work, alas my tech knowledge doesn’t extend this far…

I’ve installed Valetudo on my S5, everythings working great but can’t figure out how to get this voice pack loaded onto it. Valetudo asks for a URL, Language & Hash - I’m using the link as along with EN (uppercase) for the language, and no idea how to find the hash.

Using the above, I just get “Error installing voice pack. Check the log for details.”

The log shows "
RoborockVoicePackManagementCapability: Failed to install Voicepack. Unknown error code 4"

I GOT IT! For those in 2042 whom come across this thread, you’ll need a few things;

Firstly you’ll need to flash Valetudo onto your roborock;

  1. On an android mobile or tablet, find and download Xvacuum
  2. On a PC goto and select your model (mine was S5)[this basically builds the Valetudo install for you]
  3. Ensure to select the following
  • Let DustBuilder generate a SSH Keypair for you
  • Preinstall valetudo ver. 2022.03.1 (or whatever is the latest)
  • Build update package (for installation with python-miio/RRCC)

You’ll receive an email with the firmware.pkg (save it to your mobile/tablet)
You’ll also receive some ‘SSH keys’ / ‘Authentication Keys’. These are a file you’ll need back on the PC later.

  1. Watch this video to get Valetudo on your vacuum [EN] How to easily root the Roborock with only an Android device - YouTube
  2. Have a play around and have a break, you deserved it!
  3. Download WinSCP for PC and launch it
  4. Select the following;
  • File protocol SCP
  • Host name will be your robots IP address
  • Username is root
  • Password leave blank
  • Click on Advanced
  • Click on Authentication (under the SSH heading)
  • In the area that says ‘Private Key file’ find the SSH key file from earlier (ends in .ppk)
  • OK, Save, Login

You’ll have full access to the file directory to overwrite the origional language pack located in /opt/rockrobo/resources/sounds/en



Hello there,
I am trying to get the firmware (aquired from dustbuilder) on my Roborock s50.
But somehow when i use
mirobo --ip --token <my token> update-firmware --ip D:\Downloads\robo\v11_002034.pkg
It gives me the following error:

Going to update from D:\Downloads\robo\v11_002034.pkg
INFO:miio.updater:Serving on, timeout 10
INFO:miio.updater:Using local D:\Downloads\robo\v11_002034.pkg (md5: b0b83d62ccda4fee2e3c11e7869c748f)
Hosting file at
ERROR:miio.updater:No request was made..
ERROR:miio.miioprotocol:Got error when receiving: timed out
Error: No response from the device

Am I doing something wrong?

@Bishamon1987 I had the same issue with two robots. Make sure it is charged at least 20% and placed on the docking pad while you try to update. Also have the laptop close to the robot. It took me various tries until the request was finally made.

Not quite 2042 but im thankfull for your instruction ill probably try this tonight

1 Like

Did you find out why this doesn’t work anymore?