Skip to content
Branch: master
Find file History
Type Name Latest commit message Commit time
Failed to load latest commit information.
language Added norwegian translation Aug 31, 2019 Audio Generator small changes Dec 21, 2018 Remove unused variable (it is overwritten immediately below) Feb 18, 2019

Audio Generator for Xiaomi Vacuum Generation 1 & Generation 2

Author: Dennis Giese []

Copyright 2017 by Dennis Giese

This program is free software: you can redistribute it and/or modify

it under the terms of the GNU General Public License as published by

the Free Software Foundation, either version 3 of the License, or

(at your option) any later version.

This program is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of


GNU General Public License for more details.

It is possible to create new language files which can be integrated into the rooted firmware. To generate the language files you can use the script in this folder.

It will read the content auf audio_xx.csv (whereby xx is a country language code like de_de or en_US) and use one of the supported engines to generate mp3 files for inclusion in the firmware. The language codes are the ISO-639-1 format, so that the engine can use a voice with suitable pronounciation.

You'll notice that each engine has its problems with mixed langauges (e.g. german with english words in it). A little testing is necessary to find a suitable pronunciation.


  1. python3
  2. pipenv Install using: pip install pipenv
  3. ffmpeg (to convert generated files into wav)


You can either install the python3 requirements manually or you install and use them with pipenv:

  • install ffmpeg
  • change to this folder
  • pipenv install
  • pipenv shell
  • cd xiaomi.vacuum.gen1/audio_generator
  • start script with ./ program ask for your language selection

Supported engines

gtts (Google Text To Speech)

espeak (eSpeak NG Text-to-Speech)

macos (Mac OS X integrated Text To Speech)

aws (Amazon Polly)

You can’t perform that action at this time.