Kalliopé: votre propre Jarvis like assistant

Kalliope est un assistant vocal personnel, afin de vous la jouer à la Tony Startk… Enfin presque…

Il peut, par exemple, vous permettre de récupérer des données en ligne (wikipedia, météo, email, agenda, twitter, fb, rss, ou simplement en lisant une page web), de gérer une todolist, d’écouter de la musique (mpd / mopidy) ou encore de piloter votre installation domotique (Philips Hue, LoxSControl, Domoticz, ou simple request http(s)), le tout à la voix.
Un site est disponible avec des vidéo courtes de démo des différentes fonctionnalités (appelées neurones) disponibles (plus de 20 neurones dispo pour le moment): https://kalliope-project.github.io.

Kalliopé est très modulaire (choix du STT, du TTS, des modules actifs, de la langue, …). Vous pouvez bien entendu développer vos propres neurones pour enrichir votre assistant et les proposer à la communauté. L’installation s’effectue sur Linux (Ubuntu/Debian/Raspberry Pi).

Il est écrit en Python et est sous licence MIT. Le code est disponible sur GitHub ici: https://github.com/kalliope-project/kalliope.

Une démo en vidéo avec quelques modules.

Dans la mythologie grecque, Calliope (en grec ancien Καλλιόπη / Kalliópê, « belle voix ») était la Muse de la Poésie épique et de l’Éloquence.

L’idée est de composer le cerveau de votre bot à l’aide de synapses, qui sont composés d’une liste de neurones (plugins).

Un synapse est donc un couple composé  d’une entrée, que l’on appel un signal, et d’une liste de plugin à utiliser en sortie, que l’on appel neurone. Tout cela sous la forme d’une configuration dans un fichier YAML.

Prenons un exemple, vous voulez que Kalliopé vous dise « bonjour monsieur » quand vous lui dites vous même « bonjour ». Voici le synapse dans le fichier « brain » que vous allez alors utiliser:

 

 

4 thoughts on “Kalliopé: votre propre Jarvis like assistant”

  1. typh dit :

    bjr je n arrive pas a paramétré kalliope dans kali linux une fois que je le démarre des que je lance un commande il me retourne cette erreur.

    2017-02-07 02:20:46,382 :: INFO :: Keyword 1 detected at time: 2017-02-07 02:20:46
    Traceback (most recent call last):
    File « /usr/local/bin/kalliope », line 9, in
    load_entry_point(‘kalliope==0.4.2’, ‘console_scripts’, ‘kalliope’)()
    File « /usr/local/lib/python2.7/dist-packages/kalliope-0.4.2-py2.7.egg/kalliope/__init__.py », line 92, in main
    MainController(brain=brain)
    File « /usr/local/lib/python2.7/dist-packages/kalliope-0.4.2-py2.7.egg/kalliope/core/MainController.py », line 81, in __init__
    self.start_trigger()
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 251, in trigger
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 638, in _process
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 276, in _trigger
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 177, in execute
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 188, in _change_state
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 62, in enter
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 621, in _callback
    File « /usr/local/lib/python2.7/dist-packages/kalliope-0.4.2-py2.7.egg/kalliope/core/MainController.py », line 92, in start_trigger_process
    self.next_state()
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 251, in trigger
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 638, in _process
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 276, in _trigger
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 177, in execute
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 188, in _change_state
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 62, in enter
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 621, in _callback
    File « /usr/local/lib/python2.7/dist-packages/kalliope-0.4.2-py2.7.egg/kalliope/core/MainController.py », line 102, in unpausing_trigger_process
    self.next_state()
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 251, in trigger
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 638, in _process
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 276, in _trigger
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 177, in execute
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 188, in _change_state
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 62, in enter
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 621, in _callback
    File « /usr/local/lib/python2.7/dist-packages/kalliope-0.4.2-py2.7.egg/kalliope/core/MainController.py », line 119, in play_ready_sound_process
    self.next_state()
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 251, in trigger
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 638, in _process
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 276, in _trigger
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 177, in execute
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 188, in _change_state
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 62, in enter
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 621, in _callback
    File « /usr/local/lib/python2.7/dist-packages/kalliope-0.4.2-py2.7.egg/kalliope/core/MainController.py », line 129, in waiting_for_trigger_callback_thread
    self.next_state()
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 251, in trigger
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 638, in _process
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 276, in _trigger
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 177, in execute
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 188, in _change_state
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 62, in enter
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 621, in _callback
    File « /usr/local/lib/python2.7/dist-packages/kalliope-0.4.2-py2.7.egg/kalliope/core/MainController.py », line 162, in start_order_listener_thread
    self.next_state()
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 251, in trigger
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 638, in _process
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 276, in _trigger
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 177, in execute
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 188, in _change_state
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 62, in enter
    File « build/bdist.linux-x86_64/egg/transitions/core.py », line 621, in _callback
    File « /usr/local/lib/python2.7/dist-packages/kalliope-0.4.2-py2.7.egg/kalliope/core/MainController.py », line 172, in play_wake_up_answer_thread
    Say(message=self.settings.random_wake_up_answers)
    File « /usr/local/lib/python2.7/dist-packages/kalliope-0.4.2-py2.7.egg/kalliope/neurons/say/say.py », line 11, in __init__
    self.say(self.message)
    File « /usr/local/lib/python2.7/dist-packages/kalliope-0.4.2-py2.7.egg/kalliope/core/NeuronModule.py », line 140, in say
    tts_module_instance.say(tts_message)
    File « /usr/local/lib/python2.7/dist-packages/kalliope-0.4.2-py2.7.egg/kalliope/tts/pico2wave/pico2wave.py », line 22, in say
    self.generate_and_play(words, self._generate_audio_file)
    File « /usr/local/lib/python2.7/dist-packages/kalliope-0.4.2-py2.7.egg/kalliope/core/TTS/TTSModule.py », line 100, in generate_and_play
    generate_audio_function_from_child()
    File « /usr/local/lib/python2.7/dist-packages/kalliope-0.4.2-py2.7.egg/kalliope/tts/pico2wave/pico2wave.py », line 46, in _generate_audio_file
    subprocess.call(final_command, stderr=sys.stderr)
    File « /usr/lib/python2.7/subprocess.py », line 522, in call
    return Popen(*popenargs, **kwargs).wait()
    File « /usr/lib/python2.7/subprocess.py », line 710, in __init__
    errread, errwrite)
    File « /usr/lib/python2.7/subprocess.py », line 1335, in _execute_child
    raise child_exception
    OSError: [Errno 2] No such file or directory

    1. N.i.c.O dit :

      Kali ne fait tout simplement pas partie des distros supportées. Désolé. Apres vous pouvez également ouvrir une issue sur le Github. En cas de problème sur une distro supportées.

  2. Fred dit :

    sudo apt get mplayer devrait résoudre ton problème

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *