Louis Frank.

Notes · 20 September 2026

My vacuum robot speaks like GLaDOS now

by Louis Frank
Contents

My Dreame vacuum robot used to announce “cleaning completed” in the most boring voice imaginable. These days it sounds like it resents me personally, and honestly, the flat has never felt more like home. 🤖

How we got here

The robot runs Valetudo since quite a while, meaning it is completely cut off from the vendor cloud and controlled locally. While digging through the settings I found that Valetudo can flash custom voice packs. Turns out all the spoken status lines are just a tarball of OGG files, and nobody stops you from replacing them.

Well. If the robot can say anything, it is certainly not going to keep saying “cleaning completed”.

GLaDOS

If you played Portal, you know there is exactly one voice that qualifies for a machine that serves you while quietly judging you. Over at glados.c-net.org there is a free text-to-speech engine for exactly this voice — you send text, you get back perfectly passive-aggressive audio.

Findus23 and ccoors had already figured out which sound ID the robot expects for which event, so I forked their work and automated the rest in Python:

  1. A CSV maps every Dreame sound ID to a fitting GLaDOS line
  2. A script sends each line to the TTS, downloads the audio and encodes it to OGG
  3. Everything gets packed into the voice_pack.tar.gz that Valetudo wants

I also boosted all files by +8 dB. The speaker in the robot is rather quiet, and sarcasm you cannot hear is wasted sarcasm.

poetry install
poetry run glados-audio
poetry run make-release

Hear for yourself

The lines you will hear most often around here:

Powering on

“Oh good. I'm awake again. How thrilling for both of us.”

Starting to clean

“Beginning cleaning. Try not to form emotional attachments.”

Done cleaning

“Cleaning complete. Your floor is marginally better. You're welcome.”

Charging

“Charging. I live to serve. Unfortunately.”

Stuck under the couch

“I'm stuck. This is deeply humiliating.”

Low battery

“Low battery. Returning to the dock. Don't worry — I judge your nap schedule equally.”

Installation

In Valetudo: Robot Settings → Misc Settings → Voice packs, then enter the URL of the pack, language code glados and the MD5 hash from the README. Click “Set Voice Pack”, wait a moment, done.

Confirmed working on:

  • L10 Pro
  • L10S Pro Ultra Heat
  • Z10 Pro
  • W10
  • D9

Verdict

Every time it docks, I am reminded that this was one of the best low-effort mods in my smart home. Visitors are confused at first, then they want it too. 😄

The repo with the scripts and the prebuilt pack: github.com/padok/voice_pack_dreame

More from Notes

← All posts