Voila un doux rêve que je caressais encore il y a quelques mois, et puis maintenant grâce aux outils de reconnaissance vocale en ligne, et à l’intelligence artificielle http://api.ai, c’est devenu possible. Il y avait Google Now, et il y a maintenant mon assistant personnel (que j’ai nommé Tux).
Voici une petite vidéo de démonstration (un POC comme on dit):
La page web reconnait votre parole, la traduit en écriture, puis l’envoi au serveur API.AI qui vous renvoie ensuite un flux json qui vous permet d’automatiser des actions, et de détecter les différents paramètres de votre phrase. Vous pouvez ainsi dire:
- je voudrais écouter (nom de la radio) ,
- je voudrais écouter l’album (nom de l’album) de (nom de l’artiste),
- je voudrais écouter ACDC (il vous lance tous les mp3, puis vous pouvez alors filtrer sur un album précis)
- combien fait X opération Y ? (plus, moins multiplié par , divisé par)
- je voudrais regarder l’épisode X de la saison Y de (nom de la série),
- ajoute / Supprime la tâche X / liste mes tâches,
- raconte-moi une anecdote sur Chuck Norris…
Les possibilités sont infinies 🙂
Passons maintenant aux explications et aux contraintes:
Chaque action doit être écrite sur le site de l’assistant afin de lui expliquer les tournures de phrase, et les paramètres à détecter. C’est un peu fastidieux.
Il est possible de lui indiquer des contextes. Exemple, vous venez de demander d’écouter ACDC, vous êtes donc dans le contexte « écouter de la musique ». Maintenant, si vous dites l’album « Black Ice », il saura que vous parlez d’ACDC. Regardez le fichier ia.php pour bien comprendre la différence.
De même dans le fichier ia.php traité en AJAX, vous devez indiquer les actions à réaliser selon tous les paramètres renvoyés par le flux JSON. C’est vraiment très simple à mettre en place. Le plus dur est de bien savoir ce que l’on veut faire. Dans mon exemple, le son est lancé sur la page web, et la vidéo sur le KODI d’un raspberry distant. Il faut bien avoir à l’esprit que ce script ne peut fonctionner qu’en local.
Le fichier de config.php indique le répertoire ou sont stockés les MP3 sous la forme Artiste/Album, et les vidéos sous la forme Série/SaisonX/épisodeY.
Le serveur Apache doit donc avoir les droits pour lire ces répertoires. De même l’emplacement des vidéos peut différer entre le serveur web qui y accède en PHP, et le KODI qui y accède via l’interfaçe web et le script remote.
Les sources sont disponibles ici: https://github.com/ynizon/ai
Soyez indulgent, c’est fait rapido pour voir si ça fonctionnait, le code est juste fonctionnel.
Amusez-vous bien, et n’hésitez pas à m’envoyer vos suggestions.
3 réflexions au sujet de “Lancer sa musique, ses vidéos par reconnaissance vocale”