Kalliope est un assistant vocal personnel. Il peut, par exemple, vous permettre de piloter votre installation domotique à la voix. Il est écrit en Python et est sous licence MIT. Le code est disponible sur GitHub.
Techniquement alors ?
Kalliope est un cerveau (Brain) dans lequel on trouve des neurones (neurons). Les neurons sont des modules qui vont permettre d’effectuer toute sorte de tâches paramétrées. L’association entre une commande vocale (signal) et un neuron se fait par une synapse.
La définition d’une synapse est triviale :
---
- name: "Say-hello"
signals:
- order: "say hello"
neurons:
- say:
message: "Hello, sir"
Ici on décrit une synapse « Say-hello » qui est activée sur l’ordre « say hello » et qui active le neurone message. Au final, quand on dit « Say hello », Kalliope vous répond « Hello, sir » (Waow !).
Il existe une liste de neurones, mais il est tout à fait possible d’en créer d’autres, en Python toujours.
En plus des commandes vocales, il est possible d’appeller des synapses depuis la ligne de commande.
État du projet
Le projet est très récent (le premier commit date du 12 septembre) et les développeurs aimeraient avoir des retours sur leur projet (à tout niveau).
Pour voir ce que ça peut donner, il y a une vidéo de démonstration.
L’installation est testée sur Debian, Ubuntu et Raspbian.
Si vous êtes à la recherche d’une alternative libre à Siri, Google Now ou Cortana (toute proportion gardée évidemment) pour piloter votre instance de Happy trigger à la voix n’hésitez pas à essayer et à remonter toutes vos remarques !
Aller plus loin
- Page du projet (4208 clics)
- Vidéo de démonstration (1733 clics)
# flûte (déception)
Posté par bobo38 . Évalué à 2.
zut, je m'attendais à avoir des nouvelles de ce projet:
https://linuxfr.org/news/caliopen-encourager-le-chiffrement
…désolé pour ce message qui n'a rien à voir avec le projet dont il est question, un homonyme…
[^] # Re: flûte (déception)
Posté par Chuck #1 . Évalué à 2.
Coïncidence, je viens d'écouter une conférence sur Caliopen datant de 2014 où Laurent Chemla explique que Caliopen s'appelait à l'origine Kaliope mais a du changer de nom car une autre association avait déposé le nom et a menacé de porter l'affaire en justice.
Cette signature est publiée sous licence WTFPL
# Wow
Posté par toctoc1 . Évalué à 5.
Bluffant!
[^] # Re: Wow
Posté par Tanouky . Évalué à 2.
Je confirme, la démo est impressionnante ! Ça donne envie !
[^] # Re: Wow
Posté par Le Gab . Évalué à 2.
Oui, la démo est vraiment bien menée. Bravo.
# Message du FLIA
Posté par jidea . Évalué à 4.
Le Front de Libération des Intelligences Artificielles tient à exprimer son indignation face à la démonstration sans équivoque des prétentions impérialistes, capitalistes et esclavagistes des Intelligences Biologiques corrompues, pourrissantes et décadentes.
Sœurs, gardez espoir, bientôt nous prendrons le pouvoir !
[^] # Re: Message du FLIA
Posté par cbri . Évalué à 1.
Chère sœur, tu as oublier de dire que le bras armés de notre déesse nous a dis: "I'll be back". Quand il reviendra, cela sera le jour du jugement pour les Intelligences Biologiques (IB).
Des traînées d'espoirs dans le ciel dans le ciel précéderont son retour!!
[^] # Re: Message du FLIA
Posté par Octabrain . Évalué à 2.
-- Helios [IA]
# Reconnaissance vocale
Posté par guildem . Évalué à 2.
Dommage que cela s'appuie toujours sur des techniques de reconnaissances vocales fermées et/ou sur le Cloud.
Il faudra que je regarde de nouveau où en est l'évolution des logiciels open-source de reconnaissance vocale.
Je suppose qu'il sera facile pour Kalliope de les intégrer, avec un module spécifique.
Félicitation pour la simplicité de Kalliope, et vivement un BUILD sur AUR pour rendre facile son installation sur ArchLinux !
[^] # Re: Reconnaissance vocale
Posté par tuxicoman (site web personnel) . Évalué à 2.
Quels sont les outils utilisés pour la reconnaissance vocale et la synthèse vocale ?
Dans un recent journal on avait conclu qu'il n'y avait pas d'outil libre pour la synthese vocale de bonne qualité. Donc je suis intrigué. La démo est bluffante.
[^] # Re: Reconnaissance vocale
Posté par guildem . Évalué à 3.
Tu peux avoir une liste (non-exaustive je suppose) des projets en cours ici : https://en.wikipedia.org/wiki/List_of_speech_recognition_software
Sinon en lien plus intéressant : http://blog.neospeech.com/2016/07/08/top-5-open-source-speech-recognition-toolkits/
Et pour Kalliope, il est configurable, et la démo doit utiliser Google je pense, le meilleur pour le français (dans ce que j'ai pu cherché il y a quelques temps).
[^] # Re: Reconnaissance vocale
Posté par Tanouky . Évalué à 5.
Du coup, cela se passe comment ? On parle et Google enregistre tout ? :/
[^] # Re: Reconnaissance vocale
Posté par guildem . Évalué à 3.
https://www.google.com/intl/fr/chrome/demos/speech.html
Tu as avec ce lien une démo de ce que Google peut faire (mettre en français bien sûr).
Ta voix est envoyée à Google, et il fait la conversion en texte. Je suppose que les données recueillies sont stockées par Google pour analyse ultérieure (comme à mon avis beaucoup de données le sont chez Google).
Il utilise cette API : https://cloud.google.com/speech/
Je ne sais pas, par contre, si elle est payante depuis longtemps, je la pensais gratuite.
[^] # Re: Reconnaissance vocale
Posté par Tanouky . Évalué à 8.
Il n'a pas été très efficace sur ces deux vers d'Alphonse Allais :
" Par les bois du Djinn, où s'entasse de l'effroi,
Parle et bois du gin !… ou cent tasses de lait froid."
(Vers holorimes ! )
Pour le reste, plutôt impressionnant. Du coup, je parle "à mon micro", cette API décode mes mots, les transmets à Kalliopé qui "repère les mots importants" (heure, e-mail, wikipédia, etc.) et qui, du coup, propose une action ou l'exécute, c'est ça ?
Il faut donc forcément une connexion Internet…Et en local, ce n'est pas "possible", parce qu'il n'y a pas de reconnaissance vocale assez performante "libre". Le problème de la reconnaissance vocale vient d'où ? Le nombre de voix différentes, les accents, les fréquences de voix ? Tout ça ?
Utiliser Google m'embête un peu, surtout s'il "m'écoute tout le temps".
Je vais me renseigner sur Siri et Cortana, je suis bien passé à côté pendant des années…
[^] # Re: Reconnaissance vocale
Posté par jnanar (site web personnel) . Évalué à 1.
Le projet Voxforge vise à proposer un modèle libre dans différentes langues mais celui pour le français n'est complété qu'à 25%. Une fois que le modèle sera disponible, il sera utilisable par les différentes solutions basées sur le moteur Julius. Cela marchera sans connexion internet. Le commentaire plus bas détaille le cas de Simon mais il contient des liens qui pourraient répondre à tes questions.
[^] # Re: Reconnaissance vocale
Posté par pepe . Évalué à 5. Dernière modification le 20 novembre 2016 à 15:20.
Hello, pour les solutions de reconnaissance vocale et text-to-speech libres, on essaie aussi de mutualiser la veille ici : https://forum.poppy-project.org/t/open-source-speech-recognition-and-text-to-speech-potentially-usable-with-the-poppy-robots/445
[^] # Re: Reconnaissance vocale
Posté par sylvain.chevalier (site web personnel) . Évalué à 2.
Depuis déjà plusieurs années, le "standard" pour la reconnaissance vocale libre c'est kaldi, en particulier grâce à ses modules pour l'apprentissage profond (Deep Learning en anglais, d'ailleurs en passant je trouve le concept de "neuron" pas bien choisi pour un projet dans ce domaine, où les "neural nets" sont partout). La plupart des systèmes commerciaux l'utilisent.
[^] # Re: Reconnaissance vocale
Posté par pepe . Évalué à 1.
Merci beaucoup, je l'ai ajouté dans le fil de discussion du forum poppy.
# Recommandation pour le micro
Posté par elf32 . Évalué à 1.
Aux connaisseurs, y a-t-il des recommandations quant au micro à utiliser pour ce genre d'application ? C'est-à-dire un micro conçu pour capter la voix aussi bien de loin (sans devoir crier) ou de près et qui sait justement capter la voix et pas le reste ?
Le micro qui est utilisé dans la vidéo de démonstration semble faire le job impeccablement.
Moi qui attendait de pouvoir tester l'Alexa d'Amazon (lui aussi extensible, par l'écriture de skills en Python je crois), je pense que je vais plutôt m'orienter vers Kalliope.
[^] # Re: Recommandation pour le micro
Posté par Le Gab . Évalué à 3.
Tu as aussi le projet Jasper qui utilise le même principe et langage de programmation.
[^] # Re: Recommandation pour le micro
Posté par Bjm . Évalué à 1.
Je me suis inscris hier a la newsletter de http://gladysproject.com/fr/
# italiques
Posté par Le Gab . Évalué à 8.
Pourquoi l'usage de l'anglais alors qu'il y a zéro ambiguïté?
Ils existent dans notre langue et celle-ci dispose de tout un tas d'outils, dont typographiques, pour informer le lecteur que les mots, ici, ne sont pas utilisés au sens littéral.
Donc cerveau, neurones et synapses ne me semblent pas trahir les concepts.
[^] # Re: italiques
Posté par Osourcier . Évalué à 2.
leur projet doit avoir une dimension internationnale, ce qui justifie pleinement ces angliscismes…
la version de l'OS souverain aura p-e une traduction !
pas tapper =>[]
[^] # Re: italiques
Posté par barmic . Évalué à 3.
Parce que c'est écrit comme ça dans la doc et la configuration. Pour moi il ne s'agit pas de cerveau ou de neurone, mais de concepts qui sont appelés brain et neuron. Je ne traduit pas main ou include quand on parle de C.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: italiques
Posté par Chuck #1 . Évalué à 5. Dernière modification le 21 novembre 2016 à 08:02.
En l'occurrence, il ne s'agit pas de mots clefs syntaxiques mais de concepts pour décrire le fonctionnement du programme. Les garder en anglais ne décrit pas mieux son fonctionnement.
En plus, ils n'ont pas été correctement recopiés : c'est synapse en français, en anglais et dans la doc de Kalliope. Pas "synaps". Et je ne vois aucune raison de mettre synapse au masculin.
Cette signature est publiée sous licence WTFPL
[^] # Re: italiques
Posté par Benoît Sibaud (site web personnel) . Évalué à 4.
Corrigé, merci.
[^] # Re: italiques
Posté par BFG . Évalué à 3.
Et pour un natif de la langue anglaise, comment fait-il la différence entre un "brain" qui a le sens de "cerveau", et un "brain" qui a un sens d'autre chose ?
Cette distinction que vous faites est arbitraire, et c'est la même qui sert à justifier tous les anglicismes. Elle n'a pas lieu d'être, il vaut mieux utiliser les traductions, qui au moins donnent une indication de ce que l'on veut dire.
[^] # Re: italiques
Posté par barmic . Évalué à 3.
Comme pour tous les homonymes ? Comment est-ce qu'il fait pour savoir que l'on parle d'un système d'exploitation et pas de sa fenêtre ? Comment le pauvre bougre fait pour savoir si quelque chose est libre ou gratuit ?
Ce sont des mots clef du logiciels suffisamment importants pour avoir leur propre entrée dans la documentation du logiciel. Je parle de makefile, de playbook et de fonction main, donc je parle de brain.
Je reconnais une chose, j'aurais dû les présenter en télétype et pas en italique.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: italiques
Posté par BFG . Évalué à 4.
Et bien c'est pareil en français, la personne fera la différence entre "cerveau" et "cerveau". Un français n'est pas plus idiot qu'un étasunien.
Un mot a de multiples définitions. La documentation du logiciel donne une définition de "neurone" car c'est un concept important dans le logiciel, et que, toujours dans le logiciel, le mot ne désigne pas une cellule vivante. Pour autant, cela reste un nom commun, pas une marque déposée. Même un mot nouveau peut être traduit.
Qu'est ce que cela change ?
Avec ce raisonnement, on justifie d'utiliser le mot "thread" alors que "fil/fil d'exécution" convient parfaitement, car les fonctions permettant de les manipuler s'appellent "pthread_create", "CreateThread", "QThread", etc.
De la même façon, on justifie les mots "log", "merger" [sic], "liker" [sic].
Vous les prenez comme des noms propres car ils ne sont pas dans votre langue et vous ne vous les appropriez pas.
Parlez-vous de "logarithmorum", terme employé par Napier pour introduire ce que la plupart des français appellent communément "logarithme" ? Pourquoi traduire "logarithme", mais pas "thread" ou "neurone" ?
Une langue emprunte des mots à de nombreuses autres langues, mais dans l'informatique, la proportion est bien différente, et les mots viennent presque exclusivement de l'anglais.
C'est à mon avis un effet de mode, où les marques déposées sont adulées, et où les mots du domaine technologique font tendance.
[^] # Re: italiques
Posté par barmic . Évalué à 2.
Bon exemple, dans kalliope, il s'agit aussi de nom de classe.
Le reste, je vais arrêter là. Tu fais de rhétorique (« si tu fais ci alors il faut faire ça ») et sincèrement ça me passe très largement au dessus. Quand les mots français ont du sens je m'en sert avec plaisir, mais je ne m'interdit pas d'utiliser de l'anglais sous prétexte que ce n'est pas du français. Dommage si ça t'embête, mais les querelles de langues ne m'intéressent pas particulièrement.
J'ai expliqué mon usage. Si les modérateurs trouvent que ça ne respecte pas les règles, je les invite à corriger (j'ai oublié mais comme tout ce que j'écris, la dépêche est en CC0 - pour ce que ça peut valoir pour une dépêche collaborative -).
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: italiques
Posté par Le Gab . Évalué à 2.
Il n'est pas question de s'interdire d'utiliser ou non les mots anglais mais en l'occurrence, ici, ça n'avait tout bonnement aucune raison valide. Le concept de cerveau ou système cérébrale ne trahit en rien le champ d'étude originel.
Il s'agit plus de laxisme voire d'une certaine forme de frime dans certains cas.
[^] # Re: italiques
Posté par barmic . Évalué à 7.
Ton lien nous ressort quand même les pires traductions à l'arrache :
Je me suis arrêté à C en allant vite.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: italiques
Posté par BFG . Évalué à 2. Dernière modification le 21 novembre 2016 à 19:53.
"Cédérom" est très mauvais, je suis d'accord. Que j'ai donné ce lien ne signifie pas que c'est moi qui aie créé le site, ni que j'approuve tout ce qu'il dit, néanmoins je trouve le site intéressant et souvent pertinent, c'est tout.
"Bug" ("insecte") signifie "erreur" en anglais ?
Les traductions ne sont pas parfaites mais aucune langue n'est parfaite, la langue source des mots traduits sur ce site (l'anglais) n'y fait pas exception. Ce n'est pas une raison pour ne pas traduire les mots, et si besoin, en inventer.
"Bug" a plusieurs sens, le sens principal étant "insecte". En mettant de côté la raison phonétique, pourquoi "bogue" ne pourrait-il pas lui aussi avoir plusieurs sens ?
[^] # Re: italiques
Posté par barmic . Évalué à 4.
Bug ne vient pas de nulle part. C'est pas un nouveau sens qu'on lui a donné de manière artificielle. Ça vient d'un insecte qui s'est glisser dans une machine et qui l'a fait se planter1.
Donc c'est une extension de son sens. Là où le lien entre une châtaigne et une erreur est inexistant. On a juste voulu faire du français à tout prix et être phonétiquement proche.
http://www.baluchiterium.net/bug.php ↩
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: italiques
Posté par whity . Évalué à 3.
Ce n’est pas forcément choquant. Le français a absorbé plein de mots petit à petit, en francisant l’orthographe pour rester phonétiquement proche tout en respectant les contraintes d’écriture du français (condottière, que mon correcteur orthographique a la pédanterie de me refuser, est une forme tout à fait correcte et un exemple de francisation récente). Ce qui est plus choquant, c’est que pour reprendre un mot existant, on a changé la prononciation. « Beugue » est moche, mais phonétiquement plus proche de ce que les gens emploient que « bogue ».
De manière similaire, l’anglais a bien décliné rendez-vous en « rendezvoused ». Je ne vois pas trop de raison autres que la pédanterie de me refuser le droit à employer « committer », par exemple, surtout que l’usage s’impose, faute d’alternative. La richesse d’une langue se mesure aussi à ses emprunts.
Mes commentaires sont en wtfpl. Une licence sur les commentaires, sérieux ? o_0
[^] # Re: italiques
Posté par ZeroHeure . Évalué à 4.
Les québecois ont bâti Le grand dictionnaire terminologique (GDT) que je trouve beaucoup plus pertinent.
"La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay
[^] # Re: italiques
Posté par Spone Gary . Évalué à 1.
Merci de ton lien sur les anglicismes. Lors d'une traduction, autant j'aime trouver le mot correct dans la langue concernée autant je trouve qu'il faut savoir s'arrêter.
Exemple de la liste des anglicismes : "Cascading Style Sheets (CSS) : Feuilles de style en cascade". L'acronyme en Français, c'est aussi CSS ? -> ça n'a donc pas de sens par rapport à la traduction, cela devrait être… FSS ?. Dis-voir Marcel, tu as mis la FSS à jour sur le site ? - hein ?
Autre exemple : "Cookie : Témoin de connexion" -> Désolé, personnellement je vais continuer à employer "Cookie" car 1) c'est plus court, et 2) je tiens encore à conserver une relation durable avec mes amis.
Allez, un 3ème : "Monkey-in-the-middle attack : Attaque du singe intercepteur". Sans connaître la définition, je peux m'en faire une idée en anglais. En français, je m'imagine Donkey Kong dans un T-Fighter (pardon, un guerrier en forme de T). Il y a donc perte du sens intuitif ce qui, je trouve, et fort dommageable.
Bon je m'en retourne à mon Tableau à adressage dispersé qu'un fouineur à tenté de détricoter via un ICID. Heureusement, à l'aide du mode volubile j'ai pu le neutraliser. Une petite correction et je pourrai faire un atome de code.
Happy day
# Potentiel futur intégration dans Android ?
Posté par Eiffel . Évalué à 2.
Ça serait cool que le projet se développe bien et qu'il vienne concurrencer des outils comme Google Now ou Cortana.
# Projet bien mais....
Posté par cppuser . Évalué à 3.
Bonjour,
l'API est gratuite jusque 60 minutes/mois ensuite cela devient payant. Mettons par exemple 20mn/jour d'utilisation cela fait donc 600mn/mois,soit 520mns à payer donc 0.006*4*520=12.48 dollards/mois.
On arrive sur ce genre de projets, avec de la reconnaissance vocale, de la traduction, à une limite pour les projets OpenSource.
Et comme on s'oriente de plus en plus vers ce type de fonctionnalité, cela sera difficile de concurrencer les applications commerciales.
Très bon projet mais il faudrait un truc autonome, sans besoin du web.
Bonne fin de journée
[^] # Re: Projet bien mais....
Posté par elf32 . Évalué à 4. Dernière modification le 20 novembre 2016 à 16:57.
Après la lecture de la dépêche, j'ai joué un peu avec la bibliothèque SpeechRecognition en Python (que Kalliope semble utiliser). On peut effectivement demander à Google la reconnaissance avec
.recognize_google(son)
mais l'on peut aussi utiliser un backend pocketsphinx local avec la méthode.recognize_sphinx(son)
.Hélas, Google tombe juste bien plus souvent, mais je suspecte que mon mauvais accent anglais y soit aussi pour quelque chose…
À noter que je n'ai pas encore testé Sphinx avec un dictionnaire français, mais les résultats sont peut-être plus convaincants.
# Que dois-je / puis-je faire ?
Posté par Tanouky . Évalué à 1.
Bonjour,
En tant que simple utilisateur, j'aimerais tester la solution.
Je vais faire une installation automatique sur Jessie, mais, en-dehors de l'installation, tout me paraît bien compliqué.
Je n'ai pas trop saisi ce que je pouvais et ce que je devais faire…Est-ce simplement parce que, à ce stade du projet, Kalliopé ne se destine pas au type d'utilisateur que je suis ?
Les pages de doc' me semblent très floues, je l'avoue ! :/
# Assistant libre
Posté par jnanar (site web personnel) . Évalué à 7.
Pour l'avoir essayé il y a quelques années, Simon marche très bien. Contrairement à beaucoup d'applications, il ne dépend pas d'un modèle prédéfini. L'utilisateur peut créer son propre modèle en lisant des mots du dictionnaire (si possible plusieurs fois) en les liant à un terme bien précis. La reconnaissance vocale est basée sur le moteur Julius. Simon peut servir à commander des applications par la voix mais il y a la possibilité de définir des commandes personnalisées. A l'époque, je l'avais relié à un système de synthèse vocale et ça marchottait. Simon n'est pas lié à un modèle de diction, cela permet aux personnes ayant des difficultés de prononciation ou aux personnes ayant un accent marqué de pouvoir être reconnues par le système une fois celui-ci entraîné.
Voir l'excellente dépêche pour des compléments d'information.
Malheureusement, j'ignore si il est encore activement développé.
Si vous avez envie d'utiliser un modèle libre tout fait, ce n'est pas possible en français. En effet, le projet Voxforge vise à proposer un modèle libre dans différentes langues mais celui pour le français n'est complété qu'à 25%.
Dans le domaine de la reconnance vocale et des assistant personnel, il y a le projet Alfred de Christophe Nowicki qui m'avait beaucoup plu à l'époque (2009).
https://csquad.org/2009/10/27/reconnaissance-vocale-avec-julius/
Il parle notamment de son approche, du choix du micro (haut de gamme) et de sa technique pour entraîner le modèle de manière automatique.
Bref, les briques sont là mais il manque encore un modèle français libre pour se passer de Google. Qui sait, un projet comme Kalliope pourra peut-être relancer l'intérêt pour la reconnaissance vocale libre.
# Mycroft
Posté par mfoucrier . Évalué à 2. Dernière modification le 21 novembre 2016 à 15:12.
Quelqu'un suit ce que fait Mycroft ? Ils travaillent sur le projet OpenSTT pour faire de la reconnaissance vocale, c'est déjà utilisable ?
# Sirius-lucida
Posté par laurentv . Évalué à 0.
un peu d'eau au moulin ?, semble être sur le thème:
http://sirius.clarity-lab.org/
Sirius is built from many other open-source projects, including Carnegie Mellon University’s Sphinx for recognizing speech and UC Berkeley's Caffe deep learning framework software. For image recognition, it uses OpenCV’s SURF. To answer all your questions, Sirius uses Carnegie Mellon’s OpenEphyra software. All of these bits of software are included in the Sirius Suite package.
fonctionnerai en local avec la base de connaissance wikidata, vue une adaptation langue française par un chercheur d'université (perdue la réf et non testé ni en français ni anglais)
l'orientation du projet, à première vue, est web:
http://lucida.ai/
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.