Il y a peu de débat sur le fait que l’écosystème Alexa d’Amazon facilite l’ajout de la commande vocale à votre maison intelligente, mais tout le monde n’est pas ravi de son fonctionnement. Le fait que toutes vos commandes soient renvoyées sur les serveurs d’Amazon au lieu de rester internes au réseau est une interdiction absolue pour les plus soucieux de la confidentialité d’entre nous, et honnêtement, il est difficile de les blâmer. Le tout est assez effrayant quand on y pense.

C’est précisément pourquoi [André Hentschel] a décidé de remplacer le firmware de son Amazon Echo par une alternative open source. L’Echo de première génération alimenté par Linux avait été enraciné des années auparavant grâce au port de diagnostic situé sous l’appareil, et il y avait même quelques images de micrologiciel flottant là-bas dans lesquelles il pouvait fouiller. En théorie, tout ce qu’il avait à faire il s’agissait de supprimer tout ce qui rappelait les serveurs d’Amazon et de remplacer les bits propriétaires par des bibliothèques et des outils de logiciels libres comparables.

Taper sur le port de débogage de l’Echo.

Bien sûr, cela a fini par être un peu plus délicat que cela. L’Echo original fonctionne sur un noyau Linux de la série 2.6.x, qui, même pour un appareil sorti en 2014, est terriblement obsolète. Avec sa version tout aussi archaïque de la glibc, les nouveaux logiciels Linux refuseraient de fonctionner. [André] a constaté que la création d’une image de système de fichiers à jour pour l’Echo n’était pas un problème, mais faire fonctionner le matériel du périphérique de niche sur un noyau plus moderne était une autre histoire.

Il a finalement fait fonctionner le réseau de microphones, mais pas le processeur de signal numérique (DSP) intégré. Sans le DSP, l’âge du matériel de l’Echo a vraiment commencé à apparaître, et il était clair que le haut-parleur intelligent de sept ans aurait besoin d’aide pour faire le travail.

La solution [André] n’est pas sans rappeler la façon dont l’appareil fonctionnait à l’origine: l’Echo effectue une détection de mot de réveil localement, mais décharge ensuite le traitement de la parole sur un ordinateur plus puissant. Sauf dans ce cas, l’autre ordinateur est sur le même réseau et n’est pas caché dans le cloud d’Amazon. Le projet Porcupine fournit la détection des mots de réveil, les échantillons vocaux sont décomposés en intentions exploitables avec voice2json et les réponses sont fournies par le vénérable synthétiseur vocal eSpeak.

Comme vous pouvez le voir dans la vidéo ci-dessous, l’expérience globale est assez similaire à celle du stock, avec une bague LED fantaisie. En fait, étant donné que Porcupine permet plusieurs mots de réveil, vous pouvez même affirmer que la convivialité a été améliorée. Tandis que [André] dit que l’ajout de la prise en charge de Mycroft serait une extension logique, son objectif immédiat est de tout documenter et de disposer du référentiel GitLab du projet afin que d’autres puissent commencer à expérimenter par eux-mêmes.