Cette année est l’année de la voix de Home Assistant. Notre objectif pour 2023 est de permettre aux utilisateurs de contrôler Home Assistant dans leur propre langue. Aujourd’hui, nous présentons le chapitre 2, notre deuxième jalon dans la réalisation de cet objectif.
Au chapitre 1, nous nous sommes concentrés sur les intentions – ce que l’utilisateur veut faire. Aujourd’hui, la communauté Home Assistant a traduit les commandes et les réponses courantes de la maison intelligente en 45 langues, se rapprochant des 62 langues prises en charge par Home Assistant.
Pour le chapitre 2, nous sommes allés au-delà du texte pour inclure désormais l’audio ; plus précisément, transformer l’audio (la parole) en texte et le texte en parole. Grâce à cette fonctionnalité, la fonction d’assistance de Home Assistant est désormais en mesure de fournir une interface vocale complète avec laquelle les utilisateurs peuvent interagir.
Un assistant vocal a également besoin de matériel, c’est pourquoi nous lançons aujourd’hui le support ESPHome pour Assist et; pour couronner le tout : nous lançons l’assistant vocal le plus privé au monde. Continuez à lire pour voir ce que cela implique.
Pour regarder la vidéo de présentation de cet article de blog, y compris les démos en direct, consultez l’enregistrement de notre diffusion en direct.
Composer des assistants vocaux
La nouvelle intégration Assist Pipeline vous permet de configurer tous les composants qui composent un assistant vocal en un seul endroit.
Pour les commandes vocales, les pipelines commencent par l’audio. Un système de synthèse vocale détermine les mots prononcés par l’utilisateur, qui sont ensuite transmis à un agent de conversation. L’intention est extraite du texte par l’agent et exécutée par Home Assistant. À ce stade, « allumer la lumière » entraînerait l’allumage de votre lumière 💡. La dernière partie du pipeline est la synthèse vocale, où la réponse de l’agent vous est renvoyée. Il peut s’agir d’une simple confirmation (« Lumière allumée ») ou de la réponse à une question, telle que « Quelles lumières sont allumées ? »
Capture d’écran de la nouvelle configuration Assist dans Home Assistant.
Avec la nouvelle page de paramètres de l’assistant vocal, les utilisateurs peuvent créer plusieurs assistants, mélanger et assortir les services vocaux. Vous voulez un assistant anglais américain qui réponde avec un accent britannique ? Aucun problème. Qu’en est-il d’un deuxième assistant qui écoute les commandes vocales néerlandaises, allemandes ou françaises ? Ou peut-être voulez-vous ajouter ChatGPT au mélange. Créez autant d’assistants que vous le souhaitez et utilisez-les à partir de la boîte de dialogue Assist ainsi que du matériel d’assistant vocal pour Home Assistant.
L’interaction avec de nombreux services différents signifie que de nombreuses choses différentes peuvent mal tourner. Pour aider les utilisateurs à comprendre ce qui n’allait pas, nous avons intégré à Home Assistant des outils de débogage complets pour les assistants vocaux. Vous pouvez toujours inspecter les 10 dernières interactions par assistant vocal.
Capture d’écran du nouvel outil de débogage Assist.
Assistant vocal alimenté par Home Assistant Cloud
L’abonnement Home Assistant Cloud, en plus d’une connexion à distance cryptée de bout en bout, comprend des services de synthèse vocale et de synthèse vocale à la pointe de la technologie. Cela permet à votre assistant vocal de parler plus de 130 langues (y compris des dialectes comme l’espagnol péruvien) et est extrêmement rapide à répondre. Goûter:
En tant qu’abonné, vous pouvez directement commencer à utiliser la voix dans Home Assistant. Vous n’aurez pas besoin de matériel ou de logiciel supplémentaire pour commencer.
En plus de la synthèse vocale et de la synthèse vocale de haute qualité pour vos assistants vocaux, vous soutiendrez également le développement de Home Assistant lui-même.
Rejoignez Home Assistant Cloud dès aujourd’hui
L’assistant vocal entièrement local
Avec Home Assistant, vous pouvez être assuré de deux choses : il y aura des options et l’une de ces options sera locale. Avec notre assistant vocal, ce n’est pas différent.
Piper : notre nouveau modèle de synthèse vocale locale de haute qualité
Pour rendre possible une synthèse vocale de qualité en local, nous avons dû créer notre propre système de synthèse vocale optimisé pour fonctionner sur un Raspberry Pi 4. Il s’appelle Piper.
Piper utilise des algorithmes d’apprentissage automatique modernes pour un discours réaliste, mais peut toujours générer rapidement de l’audio. Sur un Raspberry Pi 4, Piper peut générer 2 secondes d’audio avec seulement 1 seconde de temps de traitement. Des processeurs plus puissants, tels que l’Intel Core i5, peuvent générer 17 secondes d’audio dans le même laps de temps. Goûter:
Pour plus d’échantillons, consultez le site Web de Piper
Un module complémentaire avec Piper est maintenant disponible pour Home Assistant avec plus de 40 voix dans 18 langues, dont : catalan, danois, allemand, anglais, espagnol, finnois, français, grec, italien, kazakh, népalais, néerlandais, norvégien, polonais, portugais brésilien, ukrainien, vietnamien et chinois. Les voix de Piper sont formées à partir d’ensembles de données audio ouverts, dont beaucoup proviennent de livres audio gratuits lus par des bénévoles. Si vous souhaitez apporter votre voix, faites-le nous savoir !
Vous pouvez également exécuter Piper en tant que conteneur Docker autonome.
Conversion locale de la parole en texte avec OpenAI Whisper
Whisper est un modèle de synthèse vocale open source créé par OpenAI qui s’exécute localement. Depuis sa sortie en 2022, Whisper a été amélioré par la communauté open source pour fonctionner sur du matériel moins puissant par des projets tels que murmure.cpp et chuchotement plus rapide. En moins d’un an de progrès, Whisper est désormais capable de fournir la synthèse vocale pour des dizaines de langues sur de petits serveurs et des ordinateurs monocartes !
Un module complémentaire utilisant le chuchotement plus rapide est maintenant disponible pour Home Assistant. Sur un Raspberry Pi 4, les commandes vocales peuvent prendre environ 7 secondes pour être traitées avec environ 200 Mo de RAM utilisés. Un processeur Intel Core i5 ou supérieur est capable de temps de réponse inférieurs à la seconde et peut exécuter des versions plus grandes (et plus précises) de Whisper.
Vous pouvez également exécuter Whisper en tant que conteneur Docker autonome.
Wyoming : la colle de l’assistant vocal
Les assistants vocaux partagent de nombreuses fonctions communes, telles que la synthèse vocale, la reconnaissance d’intention et la synthèse vocale. Nous avons créé le protocole Wyoming pour fournir un petit ensemble de messages standard pour parler aux services d’assistant vocal, y compris la possibilité de diffuser de l’audio.
Le Wyoming permet aux développeurs de se concentrer sur le cœur d’un service vocal sans avoir à s’engager sur une pile réseau spécifique comme HTTP ou MQTT. Ce protocole est compatible avec la prochaine version 3.0 de Rhaspy, de sorte que les deux projets peuvent partager des services vocaux.
Avec le Wyoming, nous essayons de lancer un écosystème vocal ouvert plus interopérable qui facilite le partage de composants entre projets et plates-formes. Les développeurs et les scientifiques souhaitant expérimenter de nouvelles technologies vocales n’ont qu’à implémenter un petit ensemble de messages à intégrer à d’autres projets d’assistants vocaux.
Les modules complémentaires Whisper et Piper mentionnés ci-dessus sont intégrés à Home Assistant via la nouvelle intégration Wyoming. Les services du Wyoming peuvent également être exécutés sur d’autres machines tout en s’intégrant à Home Assistant.
Assistants vocaux alimentés par ESPHome
ESPHome est notre logiciel pour microcontrôleurs. Au lieu de programmer, les utilisateurs définissent la manière dont leurs capteurs sont connectés dans un fichier YAML. ESPHome lira ce fichier et générera et installera un logiciel sur votre microcontrôleur pour rendre ces données accessibles dans Home Assistant.
Aujourd’hui, nous lançons la prise en charge de la création d’assistants vocaux à l’aide d’ESPHome. Connectez un microphone à votre appareil ESPHome et vous pourrez contrôler votre maison intelligente avec votre voix. Incluez un haut-parleur et la maison intelligente répondra.
Nous nous sommes concentrés sur le M5STACK ATOM Echo pour les tests et le développement. Pour 13 $, il est livré avec un microphone et un haut-parleur dans une jolie petite boîte. Nous avons créé un tutoriel pour transformer cet appareil en télécommande vocale directement depuis votre navigateur !
Tutoriel : créez une télécommande vocale à 13 $ pour Home Assistant.
Documentation de l’assistant vocal ESPHome.
L’assistant vocal le plus privé au monde
Si vous deviez concevoir l’assistant vocal le plus privé au monde, quelles fonctionnalités aurait-il ? Pour commencer, il ne devrait écouter que lorsque vous êtes prêt à parler, plutôt que tout le temps. Et quand il répond, vous devriez être le seul à l’entendre. Cela semble étrangement familier…🤔
Un téléphone! Non, pas le rectangle sans relief que vous avez dans votre poche ; un téléphone analogique. Ces grandes créatures régnaient autrefois sur la Terre avec des cordons torsadés et des looks uniques pour correspondre à votre style. Les téléphones analogiques ont une interface familière difficile à battre : décrochez le téléphone pour écouter/parler et posez-le lorsque vous avez terminé.
Avec la nouvelle intégration Voice-over-IP de Home Assistant, vous pouvez désormais utiliser un téléphone « à l’ancienne » pour contrôler votre maison intelligente !
En configurant la numérotation automatique en mode décroché, votre téléphone appellera automatiquement Home Assistant lorsque vous décrocherez. Énoncez votre commande vocale ou votre question et écoutez la réponse. La conversation se poursuivra aussi longtemps que vous le souhaitez : prononcez d’autres commandes/questions ou raccrochez simplement. Attribuez un assistant vocal/un pipeline unique à chaque adaptateur VoIP, ce qui permet d’activer des téléphones dédiés pour des langues spécifiques.
Nous avons concentré nos efforts initiaux sur la prise en charge du boîtier Voix sur IP Grandstream HT801. Il fonctionne avec n’importe quel téléphone doté d’un connecteur RJ11 et se connecte directement à Home Assistant. Il n’y a pas besoin d’un serveur supplémentaire.
Tutoriel : créez votre propre assistant vocal le plus privé au monde
Donnez de la personnalité à votre assistant vocal grâce à l’intégration OpenAI.
Certains liens sur cette page sont des liens affiliés et les achats utilisant ces liens prennent en charge le projet Home Assistant.