Pack de voix française pour aspirateur Xiaomi Roborock V1

Si vous possédez un aspirateur Xiaomi Mi Vacuum V1 vous n’avez le choix qu’entre des langues asiatiques ou la langue anglaise pour les messages énoncés par le robot. Si la plupart d’entre vous ont choisi la langue anglaise, faute de mieux, sachez que ces messages ne sont que des fichiers audio au format wav enregistrés dans la mémoire flash de l’aspirateur. Je me suis donc lancé dans la création d’un pack de messages en français pour cet appareil.

Roborock V1
L’aspirateur Roborock V1 de Xiaomi

L’opération que je vous propose ici ne nécessite ni de modifier le firmware ni d’ouvrir l’aspirateur au risque de perdre la garantie (si toutefois il est possible de faire fonctionner la garantie en France, où cet appareil n’est pas officiellement commercialisé). Ce tutoriel est fourni ‘tel quel’ et c’est sous votre unique responsabilité que vous décidez de le suivre ou pas.

Pour y parvenir vous aurez besoin de 3 choses : un ordinateur avec connexion au même réseau que l’aspirateur robot, le language python installé sur cet ordinateur et le pack de langue en français que vous pouvez télécharger à la fin de cet article.

Je décrit la procédure à suivre sous windows mais la procédure sous mac ou sous linux est similaire (et peut-être même plus simple).

Installation de python et des outils pour dialoguer avec l’aspirateur

Téléchargez et installez la version 3 de python depuis son site officiel : https://www.python.org/downloads/

Sous windows lors de l’installation cochez la case « Add python to PATH » sur la première fenêtre de l’installateur. Sous windows 10 à la fin de l’installation, l’installateur va vous proposer d’augmenter la limite de la taille du PATH, acceptez.

Une fois installé, ouvrez un invite de commandes cmd et tapez les deux commandes suivantes et dans cet ordre (important!) :

pip3 install python-mirobo
pip3 install python-miio

Ces deux commandes vont télécharger et installer des librairies et packages additionnels de python qui vont vous permettre de communiquer en ligne de commande avec l’aspirateur. Attention, si vous ne respectez pas cet ordre d’installation, bizarrement, la commande mirobo ne fonctionnera pas.

Si vous êtes connecté au même réseau que votre aspirateur vous pouvez tester que l’installation fonctionne en tapant la commande suivante qui permet de trouver le robot sur le réseau (adresse et ID seront différents) :

C:\Users\myname> mirobo discover --handshake 1
INFO:miio.device:Sending discovery to with timeout of 5s..
INFO:miio.device: IP 192.168.0.146 (ID: 03c2b100) - token: b'ffffffffffffffffffffffffffffffff'
INFO:miio.device:Discovery done

Vous remarquerez le token composé de 32 caractères f, ce qui nous arrange pas. Pour dialoguer et commander le robot à distance il faudra récupérer le véritable token. C’est une suite de 32 caractères hexadécimaux qui est unique pour chaque aspirateur. Si vous connaissez déjà le token de votre robot sautez l’étape suivante.

Récupération du token

Il existe plusieurs méthodes pour récupérer le token. Je ne décrirai pas ces méthodes ici. Je vous renvoie à la partie « Récupérer le Token » du site domo-attitude pour le faire, c’est assez fastidieux. Sachez juste que le token change à chaque fois que vous réinitialisez le wifi de l’aspirateur.

Dans cet exemple le token sera 814e59653964f5374a347575b4684b49, notez le votre sans faire d’erreur et conservez le précieusement.

Installation du pack de voix françaises

Téléchargez le « french language pack » ici. J’ai créé les messages avec la fonction synthèse vocale de mon MacIntosh en utilisant le voix Audrey. Ce pack est compatible avec le firmware 3.3.9_003468 du robot aspirateur. Si vous l’installez sur une version de firmware plus récente il est possible que certains nouveaux messages ne soient pas traduits car absents du pack.

Lien: Télécharger “fr.pkg” fr.pkg – 9,41 Mo

Ouvrez un invite de commande cmd et placez vous dans le répertoire où vous avez enregistré le fichier pkg. Commencez par obtenir l’adresse IP du robot dans votre réseau :

C:\Users\myname> mirobo discover --handshake 1
INFO:miio.device:Sending discovery to with timeout of 5s..
INFO:miio.device: IP 192.168.0.146 (ID: 03c2b100) - token: b'ffffffffffffffffffffffffffffffff'
INFO:miio.device:Discovery done

En vous munissant de l’adresse IP et du token tapez la commande qui va envoyer le pack de langue au robot.

C:\Users\myname\Downloads>mirobo --ip 192.168.0.146 --token 814e59653964f5374a347575b4684b49 install-sound fr.pkg
Installing from fr.pkg (md5: None) for id 10000
INFO:miio.updater:Serving on 0.0.0.0:49424, timeout 10
INFO:miio.updater:Using local fr.pkg (md5: be02cc6faa1f4d8674202c6c58fe8cdd)
Hosting file at http://192.168.0.141:49424/fr.pkg

192.168.0.146 - - [27/Jan/2019 13:33:21] "GET /fr.pkg HTTP/1.1" 200 -
INFO:miio.updater:Got a request, should be downloading now.
Downloading (0 %)
Downloading (50 %)
Downloading (94 %)
Installing (100 %)
Installing (100 %)
Installed (100 %)
Installation of sid '10000' complete!

Si vous restez coincé à la ligne « Hosting file at… » c’est que votre token n’est pas le bon. Et voila, votre aspirateur robot parle français. Pour vous en assurer retirer le bac à poussière !

Le fichier pkg est chiffré. Il n’est pas possible de l’ouvrir simplement pour en extraire le contenu. En bonus voici une archive en clair avec son contenu pour écouter tous les messages sur votre ordinateur.

Lien: Télécharger “fr.tar.gz” fr.tar.gz – 9,41 Mo

La commande mirobo permet bien plus d’opérations. Pour un aperçu des commandes possibles, tapez la commande suivante :

mirobo --help

43 réflexions sur « Pack de voix française pour aspirateur Xiaomi Roborock V1 »

    • C’est tout à fait possible. Je me suis inspiré de l’outil audio_generator du projet dustcloud dans GitHub. Je devrais le remonter dans GitHub moi aussi mais j’ai pas encore pris le temps de le faire. Si ça intéresse quelqu’un pourquoi pas. Ca ne fonctionnera que sur mac.

  1. bonjour j’ai installé par un moyen similaire un pack de voix FR et depuis je n’ai aucune MAJ proposé ( 3.5.4…) cela bloque les update OTA ? merci

  2. Non, les mises à jour ne sont pas bloquées. Du temps où il y avait encore des mises à jour je les recevais bien (et il faut refaire l’opération car le code change). En revanche je ne crois pas que cette version du robot a eu une mise à jour depuis la 3.3.9, il n’est plus maintenu je crois.

    • merci du retour. pourtant j’ai bien un xiaomi roborock 1ere gen acheté sur aliexpress ( donc version CN) il y a 3 ans et je suis bien en 3.5.4_004004 sur le FW du robot

      • Ok je comprends. Le mien est une version Europe qui se connecte à des serveurs en Allemagne. Le firmware 3.5.4 n’a été déployé que sur les modèles qui se connectent aux serveurs chinois. Il existe une manip pour passer l’appareil d’une région à l’autre. Si vous avez d’autres périphériques Xiaomi Et que vous les commandez tous avec l’appli ne changez pas la région

        • oui j’ai une camera et mihome doit être en pays d’origine chine sinon je perd beaucoup de fonctions. à mon avis il ne doit plus avoir de grand changement sur l’algoryrhme de travail du robot depuis une bonne année. à l’époque j’avais eu une grosse MAJ et je l’avais ressenti dans l’organisation de nettoyage mais ça reste un excellent robot à mon goût même si un nouveau avec double brosse et serpilliere pourrait le remplacer à terme. bonne continuation

  3. bonjour,
    Je n’arrive pas à mettre la seconde partie « python-miio », j’ai systématiquement une erreur, j’ai relancé, redémarrer, passer en mode admin, changer de lecteur d’install, rien n’y fait 🙁

    Une idée ?

    Capture :
    ERROR: Command errored out with exit status 1:
    command: ‘d:\python38-32\python.exe’ -u -c ‘import sys, setuptools, tokenize; sys.argv[0] = ‘ »‘ »‘C:\\Users\\429151\\AppData\\Local\\Temp\\pip-install-kz_1_150\\netifaces\\setup.py' »‘ »‘; __file__=' »‘ »‘C:\\Users\\429151\\AppData\\Local\\Temp\\pip-install-kz_1_150\\netifaces\\setup.py' »‘ »‘;f=getattr(tokenize, ‘ »‘ »‘open' »‘ »‘, open)(__file__);code=f.read().replace(‘ »‘ »‘\r\n' »‘ »‘, ‘ »‘ »‘\n' »‘ »‘);f.close();exec(compile(code, __file__, ‘ »‘ »‘exec' »‘ »‘))’ install –record ‘C:\Users\429151\AppData\Local\Temp\pip-record-gbf0wc8r\install-record.txt’ –single-version-externally-managed –compile –install-headers ‘d:\python38-32\Include\netifaces’
    cwd: C:\Users\429151\AppData\Local\Temp\pip-install-kz_1_150\netifaces\

    • Je n’ai jamais eu ce genre d’erreur. Il faudrait plutôt contacter le support du package python. Ou alors tenter avec une version 3.7 de python au cas où le package ne soit pas totalement compatible avec la version 3.8 (mais je n’y crois pas trop)

  4. Bonjour
    On m’a offert un Roborock S5 Max avec voix française mais on ne peut pas choisir homme ou femme 🤔. Ya til un moyen.
    Je télécommande le Roborock avec un telephone Samsung Galaxy S10 ou sur Galaxy Tab A.
    Merci de votre réponse

    • Bonjour. Le Roborock S5 Max est un autre modèle que celui décrit dans cet article. Je vous déconseille d’installer le pack de langues que j’ai créé et qui n’est pas destiné à votre modèle. Dans son application de pilotage, le constructeur propose des packs de langue et je crois savoir qu’il y a le français, en revanche il est probable qu’un seul pack de langue soit proposé pour le français (femme je suppose). Le pack n’est qu’un ensemble de fichiers audio avec les voix préenregistrées. Je ne peux gère vous aider plus, je suis un utilisateur final tout comme vous, j’ai juste réussi à modifier mon exemplaire pour lui apprendre le français car ce n’était pas proposé pour ce modèle.

  5. Bonjour
    je viens de mettre péniblement en route mon vaccum v7.
    Comme souvent, il parle en chinois…
    Votre manip. fonctionnera-t-elle sur ce model?
    Je croise les doigts.
    Par avance merci pour votre réponse.

Répondre à Stéphane Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *