
Raspberry Pi – Reconnaissance vocale en espagnol
Puits, Puits, Après un long été de plaisir et de loisirs, nous sommes de retour dans la mêlée!!! Dans ce document nous allons voir comment faire pour qu’un Raspberry Pi nous écoute, attendant que nous lui parlions et exécutions les ordres que nous donnons. C’est vraiment simple à faire, Je teste depuis un certain temps des alternatives plus complexes à la fois pour l’installation et la configuration, Et celui-ci pour moi est le meilleur. Ce que vous allez voir dans ce document, vous pourrez le mettre en œuvre en moins de 30 compte-rendu! Et dites-lui… “Antonia, mets-moi Telecinco”!
Nous serons basés sur un Raspberry Pi 2 ou 3 avec Jessie installé et mis à jour, nous allons installer Apache sur ce Raspberry et nous allons mettre un site web qui permettra au navigateur de le visiter, Branchez votre micro et parlez-lui. Le site Web traitera ce qu’il entend en exécutant toute commande que nous avons précédemment configurée. Nous pouvons nous connecter à ce site Web à partir d’un PC/ordinateur portable/mobile/tablette et avec Chrome, Il nous demandera l’accès au microphone et nous écoutera à tout moment. Idéalement, vous devriez tout faire sur le même Raspberry Pi, Laisse-moi t’expliquer, connectez-le à un microphone et faites-le s’autologiser lors du redémarrage et exécutez le Chromium contre lui-même. Ainsi, le Pi servira un site Web qui écoutera lorsque vous vous connecterez à celui-ci et avec son propre navigateur et microphone, il agira comme un « client ».’ et 'serveur'.
Pas mal, tout cela est possible grâce à une bibliothèque Javascript que le site aura (HTML) appelé Annyang, Ajout de la possibilité d’utiliser la reconnaissance vocale pour les utilisateurs qui se connectent. Il transmettra ce qu’il entend à un petit site web php qui exécutera les commandes. Dans mon cas, après avoir prononcé son nom (Antonia), Il prendra les mots suivants et recherchera toutes les commandes à exécuter. Je l’ai aussi sur ça si je l’appelle autrement (Manolo), je chercherai pour moi dans WolframAlpha la réponse à la question que je lui pose 🙂 mais je ne l’ai pas mise dans ce document pour ne pas induire en erreur; Allons-y, l’utilisation normale avec Antonia est pour moi d’allumer/réguler/éteindre la lumière dans la pièce, Levez/abaissez les stores, changer la chaîne de télévision pour celle que je vous dis ;), Allumez le chauffage, L’alarme, Dites-moi les températures, Prévisions météorologiques…
En prime, Cela peut être fait avec n’importe quelle langue! dans ce document, nous essaierons de reconnaître l’espagnol ou le castillan, C’est gratuit, Le script occupe 1 ko… Quoi d’autre! D’ailleurs, Pour ceux qui demandent, J’utilise un bon microphone (À mon humble avis,), omnidirectionnel, qui entend parfaitement de n’importe où (J’ai une chambre de 30m2 et c’est caché) C’est un CAD Audio U9 Microphone à condensateur, Omni. Mais allez, avec n’importe quel micro, ça marche, USB ou webcam. Je te le dis, Vous pouvez le mettre sur Pi lui-même, ou l’utiliser à partir d’autres ordinateurs de la maison.
Installation d’Apache,
La première chose à faire sera d’installer apache avec php et ses exigences:
[Langue du code source=”Plaine”]sudo apt-get install apache2 php5 libapache2-mod-php5[/Code source]
Nous allons changer l’utilisateur qui exécutera apache2 (Je le fais pour pouvoir entendre l’audio de mes commandes, Pour ne pas avoir inclus l’utilisateur Apache dans le groupe audio):
[Langue du code source=”Plaine”]sudo vim /etc/apache2/envvars[/Code source]
Et nous modifions:
[Langue du code source=”Plaine”]Exportation APACHE_RUN_USER=pi
Exportation APACHE_RUN_GROUP=pi[/Code source]
Pas mal, afin que le Web ne demande pas constamment l’accès au microphone, Si nous sécurisons le site (HTTPS) et nous installons un certificat auto-signé, Le navigateur fera confiance au site et ne demandera plus l’accès au micro plus que la première fois. Je mets donc ici les étapes nécessaires pour sécuriser le site web, Nous allons y créer un répertoire pour y stocker les certificats, Nous allons créer le certificat et la clé privée, Nous activons les modules dans Apache, nous créons un lien vers la configuration Apache et l’éditerons pour indiquer les chemins corrects des certificats:
[Langue du code source=”Plaine”]sudo mkdir /etc/apache2/ssl
SUDO OpenSSL REQ -x509 -nodes -days 1095 -NewKey RSA:2048 -out /etc/apache2/ssl/server.crt -keyout /etc/apache2/ssl/server.key
sudo a2enmod ssl
sudo ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf
sudo vim /etc/apache2/sites-enabled/000-default-ssl.conf[/Code source]
Et nous modifions:
[Langue du code source=”Plaine”]SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key[/Code source]
Finalmente, reiniciamos Apache y listo!
[Langue du code source=”Plaine”]sudo /etc/init.d/apache2 redémarrer[/Code source]
Ficheros necesarios,
Os dejo aquí los dos únicos ficheros necesarios, los dejaremos fr /var/www/html/:
index.html
[Langue du code source=”Plaine”]<HTML>
<HTML>
<tête>
<meta charset="utf-8 »>
<script src="//cdnjs.cloudflare.com/ajax/libs/annyang/2.4.0/annyang.min.js »></script>
</tête>
<corps>
<script>
fonction openPage(Voz){
fenêtre.ouvrir(« hector.php?voz='+voz);}
si (Annyang) {
annyang.setLangue('es-ES');
var commandes = {
Antonia *voz’ : openPage,
'Manolo *voz’ : openPage
};
annyang.addCommands(Commandes);
annyang.start();
}
</script>
</corps>
</HTML>
[/Code source]
Ce fichier est le site web initial, celui qui charge le Javascript et permet d’enregistrer à partir de l’audio d’un navigateur. Nous pouvons y changer la langue source et y mettre n’importe quelle autre, ainsi que le(s) mot(s) qu’il doit écouter puis lancer une fonction qui ouvre le site web hector.php avec les mots prononcés comme arguments dans l’URL. Ex., Dire: « Antonia, Mettez l’un. Et j’ouvrais 'https://X.X.X.X/hector.php?voice=mettre sur le 1’ dans un onglet, puis se ferme.
hector.php
[Langue du code source=”Plaine”]<HTML>
<corps>
<?php
$valeur = _REQUEST $['Voix'];
si($value=='éteindre la musique’ || $value=='éteindre la musique’ || $value=='Pour la musique')
{
Exec('/home/pi/textoAvoz.sh « Si mi amo"');
Exec('/accueil/pi/musica_apaga.sh');
}
si($value=='Téléchargements d’électeurs’ || $value=='Télécharger la boutique')
{
Exec('/home/pi/textoAvoz.sh « Si mi amo"');
Exec('/accueil/pi/estoresubeon.sh');
}
si($value=='mettre le sixième’ || $value=='font la sexta’ || $value=='par la sixième')
{
Exec('/home/pi/textoAvoz.sh « Si mi amo"');
Exec('/accueil/pi/la6_enciende.sh');
}
écho »<script>fenêtre.fermer();</script>";
?>
</corps>
</HTML>[/Code source]
Je vous donne juste un petit exemple du fichier pour vous donner une idée, Comme vous pouvez le voir, c’est très simple, Il s’agit uniquement de capturer les audios qui nous écoutent et d’exécuter un script. Dans mon cas, il n’entend pas toujours les bons mots, Donc, avec ce petit dictionnaire des erreurs possibles, il comprend les échecs possibles. Alors, 'mettez’ Parfois, 'font' me comprend, 'par'… 🙂 Si jamais nous disons un ordre et que vous ne nous comprenez pas, en visualisant l’historique du navigateur et en voyant « quoi’ nous a compris et l’ajoute aux possibilités. Avec cela, vous entendez déjà parfaitement!
Installer Chromium
Pas mal, Ceci est facultatif. Si nous voulons que Raspberry lui-même ait le microphone, nous suivrons également ces étapes, puisque nous installerons Chrome et le ferons s’ouvrir automatiquement lorsque vous vous connecterez à’ Boot pour se connecter au serveur web.
Ces étapes concernent l’installation de Chromium sur un Raspberry Pi 3:
[Langue du code source=”Plaine”]
wget https://launchpad.net/~canonical-chromium-builds/+archive/ubuntu/stage/+build/7916060/+files/chromium-browser_45.0.2454.85-0ubuntu0.15.04.1.1181_armhf.deb
wget https://launchpad.net/~canonical-chromium-builds/+archive/ubuntu/stage/+build/7916060/+files/chromium-codecs-ffmpeg-extra_45.0.2454.85-0ubuntu0.15.04.1.1181_armhf.deb
sudo dpkg -i chromium-codecs-ffmpeg-extra_45.0.2454.85-0ubuntu0.15.04.1.1181_armhf.deb chromium-browser_45.0.2454.85-0ubuntu0.15.04.1.1181_armhf.deb[/Code source]
Maintenant, nous allons faire en sorte que lorsque vous enregistrez automatiquement la session 'pi’ dans le X, ouvrir Chromium sur le service Web:
[Langue du code source=”Plaine”]vim ~/.config/lxsession/LXDE-pi/autostart[/Code source]
Et nous ajoutons à la fin:
[Langue du code source=”Plaine”]@chromium-navigateur https://127.0.0.1[/Code source]
Test,
Une fois que nous ouvrons le navigateur contre l’adresse IP du Raspberry Pi, il nous demandera l’accès au microphone, s’être connecté avec HTTPS:// Il ne nous le demandera que cette fois et il l’enregistrera dans les préférences. Par défaut, si tout s’est bien passé, il nous ouvrira contre 'index.html'.
La façon dont je l’ai fait (Pas le meilleur, mais rapide et fonctionnel) c’est qu’après nous avoir écoutés, le navigateur ouvrira l’URL dans un onglet avec les mots qu’il a compris en attaquant hector.php en les passant en tant que variable. Ensuite, l’onglet se fermera!
Puits, Eh bien, c’est tout, merci Miguel Ignacio Guerra du blog Cucopc Un petit coup de pouce qui m’a donné. Merci à tous et j’espère que vous l’apprécierez, combiner ce type de documents avec d’autres que vous verrez dans la section Raspberry Pi, Nous pouvons créer une maison intelligente entièrement intuitive et puissante.