Skip to content
Branch: master
Go to file

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time



Kaylee is a somewhat fancy speech recognizer that runs commands and performs other functions when a user speaks loosely preset sentences. It is based on Blather by Jezra, but adds a lot of features that go beyond the original purpose of Blather.


  1. Python 3 (tested with 3.5, may work with older versions)
  2. pocketsphinx 5prealpha
  3. gstreamer-1.0 (and what ever plugin has pocketsphinx support)
  4. gstreamer-1.0 base plugins (required for ALSA)
  5. python-gobject (required for GStreamer and the GTK-based UI)
  6. python-requests (required for automatic language updating)

Note: it may also be required to install pocketsphinx-hmm-en-hub4wsj


  1. Copy options.json.tmp to ~/.config/kaylee/options.json and fill the "commands" section of the file with sentences to speak and commands to run.
  2. Run Kaylee with ./ This generates a language model and dictionary using the Sphinx Knowledge Base Tool, then listens for commands with the system default microphone.
    • For the GTK UI, run ./ -i g.
    • To start a UI in 'continuous' listen mode, use the -c flag.
    • To use a microphone other than the system default, use the -m flag.
  3. Start talking!

Note: default values for command-line arguments may be specified in the options.json file.


  • To run Kaylee with the GTK UI, starting in continuous listen mode: ./ -i g -c
  • To run Kaylee with no UI and using a USB microphone recognized as device 2: ./ -m 2
  • To have Kaylee pass each word of the matched sentence as a separate argument to the executed command: ./ -p
  • To run a command when a valid sentence has been detected: ./ --valid-sentence-command=/path/to/command
  • To run a command when a invalid sentence has been detected: ./ --invalid-sentence-command=/path/to/command

Finding the Device Number of a USB microphone

There are a few ways to find the device number of a USB microphone.

  • cat /proc/asound/cards
  • arecord -l


Somewhat fancy voice command recognition software [OLD REPO]




You can’t perform that action at this time.