Comment construire la commande vocale Raspberry Pi (domotique)

Comment construire la commande vocale Raspberry Pi domotique
Comment construire la commande vocale Raspberry Pi domotique

Siri, Amazon Echo et «S Voice» sont tous des programmes de reconnaissance vocale conçus pour vous faciliter la vie. Même une commande vocale Raspberry Pi peut être facilement construite par vous-même. Car une telle reconnaissance vocale est bien sûr très bénéfique pour la domotique.

Dans ce didacticiel, je vais vous montrer comment numériser la parole via un microphone, la convertir en texte, puis y répondre.

La fonction de reconnaissance vocale peut déjà être testée ici (dans Chrome).

Matériel pour la commande vocale Raspberry Pi

Alternativement, vous pouvez également prendre un microphone USB, mais je ne l’ai pas testé. Pourtant, cela devrait fonctionner.

Si vous souhaitez contrôler les GPIO par entrée vocale, par exemple, un planche à pain et câble de raccordement est utile pour se connecter au Raspberry Pi.

Préparation

Google est le service de reconnaissance linguistique. Pour utiliser l’API, vous devez vous inscrire ce groupe avec votre compte Google.

Ensuite, ouvrez le Console développeur et appuyez sur «Créer un projet». Une fois créé, cliquez sur «APIs et authentification» -> «APIs» à gauche et recherchez «Speech API». Vous l’activez pour votre projet et cliquez sur «Accéder aux données» à gauche. Ici, vous devez créer une nouvelle clé publique (clé de navigateur).

Vous devez insérer la clé API maintenant créée dans le script.

Il faut dire que chaque jour 50 demandes sont gratuites. Si vous en avez besoin de plus, vous pouvez soit l’acheter sur Google, soit créer un deuxième projet et obtenir une autre clé 😉

Commande vocale Raspberry Pi – logiciel

Le principe est le suivant. Un fichier audio sera créé, envoyé à Google et renvoyé sous forme de texte. Commençons donc:

sudo apt-get update
sudo apt-get install flac

Nous vérifions maintenant si la carte USB a été détectée correctement:

lsusb

Ce devrait être une telle entrée:

Bus 001 Device 004: ID 1130:f211 Tenx Technology, Inc. TP6911 Audio Headset

Nous avons maintenant la sortie des appareils d’enregistrement:

arecord -l

Pour moi, la sortie ressemble à ceci. Le nombre est important:

**** List of CAPTURE Hardware Devices ****
card 1: AUDIO [USB  AUDIO], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

À ce stade, je recommande de tester le microphone. Pour moi, le microphone a été mis en sourdine (qui peut être inversé avec amixer -c 1). Nous enregistrons donc un court fichier de test et le laissons jouer:

arecord -d 10 -f cd -t wav -D plughw:1,0 test.wav
aplay -f dat test.wav

Si vous entendez quelque chose, tout a fonctionné et cela peut continuer.

Nous créons un fichier qui envoie et évalue la demande.

sudo nano speech2text.sh

Le fichier a le contenu suivant. Ci-dessus, vous devez entrer votre clé API.

Par la suite, le script doit encore se voir attribuer les droits nécessaires.

chmod +x speech2text.sh

Maintenant, il peut être commencé et parlé.

./speech2text.sh

J’ai inclus deux exemples de requêtes dans la partie inférieure du script qui peuvent être utilisés pour répondre à la saisie vocale. Par exemple. un autre script ou commande pourrait être exécuté. Ce que vous utilisez pour cela dépend de vous.

Pour être complet, voici mon test:

[email protected] ~ $ ./speech.sh
Recording... To stop, press CTRL + C and wait.
^C
Execute...
Google answer: "turn on the light"

Light will switch on

S’il devait y avoir un intérêt, je pourrais également créer et publier à l’aide d’un smartphone.

  • ELEGOOE Mega R3 Kit de Démarrage Ultime Le Plus Complet avec Manuel d'Utilisation Français pour Débutants et Professionnels DIY Compatible avec Arduino IDE
    Le moins cher et le plus complet de l’ UNO R3 Kit pour les débutants. Guide d’utilisation Français en PDF gratuit incluant l’introduction et le code exigé, cequi vous permet d’économiser le temps. Avec la nouvelle version de la carte de développement de l’UNO R3 + Câble USB et tous les composants élémentaires. 100% Compatible avec UNO R3, MEGA modèle de 2560, NANO AvecÉcran LCD1602 + Servo(SG90)+ Module de capteur à ultrasons + Carte de prototypage + Module d'alimentation de la Carte de prototypage
  • ELEGOO Robot de Voiture Automatique 4.0 avec UNO R3, Kit Robotique de Voiture Intelligent, Module de Suivi Linéaire, Capteur à Ultrasons, Télécommande IR, Jouet Éducatif pour l'Apprenant Arduino
    ELEGOO Voiture robot intelligente: un kit pédagogique pour les débutants pour acquérir une expérience pratique sur la programmation UNO, l'assemblage électronique et les connaissances robotique. Plus de 10 mises à niveau: capteur infrarouge intégré sur la carte, 3 modules de suivi de ligne sur une carte. Facile à assembler: toute l'interface du module a des ports Xh2.54, ce qui le rend beaucoup plus facile et très pratique pour assembler la voiture et réduire les erreurs. Modes de fonctionnement: suivi de ligne, évitement d'obstacles, télécommande IR et contrôle Bluetooth sur votre téléphone avec notre application sur iOS et Android. Kit basé sur la carte de couplage UNO R3. Tutoriel affiné: les instructions de rendu HD vous expliquent comment assembler et programmer la voiture robot étape par étape. Tous les programmes et codes nécessaires sont inclus.
  • Freenove RFID Starter Kit for Raspberry Pi 4 B 3 B+ 400, 541-Page Detailed Tutorial, Python C Java Scratch Code, 204 Items, 97 Projects
    4 programming languages -> Python (compatible with 2&3), C, Java and Scratch. 541-page detailed tutorial (including basic electronics knowledge) -> The download link can be found on the product box. (No paper tutorial.) 204 items for 97 interesting projects -> Each project has circuit diagrams and verified code with detailed explanations. Compatible models -> Raspberry Pi 400 / 4B / 3B+ / 3B / 3A+ / 2B / 1B+ / 1A+ / Zero W / Zero. (NOT contained in this kit) Get support -> Our technical support team is always ready to answer your questions.