Robot vacuum voice pack: give your vacuum a new voice
Robot vacuums announce everything: start cleaning, low battery, stuck, returning to the dock. People replace that voice with a game character, a movie robot or a voice in their own language. The vendor apps only offer official packs, but robots running the open-source Valetudo firmware can load your own.
This guide shows how a Dreame voice pack is built according to community projects, how to voice every phrase with the free SuperClonica engine and how to install the pack through Valetudo.
What you need first
Custom packs need a robot running Valetudo, a cloud-free firmware that replaces the vendor cloud and requires rooting the robot. Rooting is done at your own risk and can affect the warranty; follow the Valetudo documentation for supported models. This guide follows community packs made for Dreame robots; one of them reports working at least on the L10 Pro, Z10 Pro, W10 and D9. Roborock robots use a different pack format.
The list of phrases
The community project ccoors/dreame_voice_packs publishes sound_list.csv: 187 sound files named by number, each with its English phrase, for example 7.ogg “Start cleaning.”; 0.ogg is the startup sound. Translate the phrases if you want another language, and keep the file names exactly as they are.
Voice every phrase
Install the free engine with python -m pip install superclonica-cpu and, in Python, after import csv, from superclonica import Superclonica and tts = Superclonica(), then for name, text in csv.reader(open("sound_list.csv", encoding="utf-8")): audio, rate = tts.synthesize(text, voice="voice.json", lang="en", seed=7); tts.save(name.replace(".ogg", ".wav"), audio). A fixed seed keeps the same voice in every file. For the startup sound, keep a short chime or record a fun line. Then convert each file to Ogg at 16 kHz, as the community packs do, for example ffmpeg -i 7.wav -ar 16000 -ac 1 -c:a libvorbis 7.ogg.
Pack and install with Valetudo
Pack the files with tar czf voice_pack.tar.gz *.ogg, note the MD5 hash and the size in bytes, and put the archive at a web address the robot can reach. In Valetudo, open Robot Settings, then Misc Settings, and fill in the Voice packs section: URL, language code, hash and file size, then Set Voice Pack. One community author reports that on their version the download left the folder empty and copying the files by hand worked, so check the notes for your model.
Choose the voice
Try voices free on their pages with a phrase of 30 to 100 characters, no account needed: a game or movie character for laughs, a calm narrator for a quiet home. Low-battery and error messages should stay clear from across the room. The engine speaks 31 languages; Chinese is not supported yet. Character voices in the catalog are fan-made, so share packs as fan creations.