Somewhat fancy voice command recognition software
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Clara Hobbs b04dbd12cd Wrap long lines in kaylee.py 8 years ago
assets Changed icons for Kaylee 8 years ago
data Changed icons for Kaylee 8 years ago
.gitignore Ported to new pocketsphinx and pygi 8 years ago
COPYING Rename license file to COPYING 8 years ago
README.md A few corrections and formatting changes to README 8 years ago
commands.tmp Added number parsing capabilities 8 years ago
config.py Update copyright for 2016 8 years ago
gtktrayui.py Update copyright for 2016 8 years ago
gtkui.py Update copyright for 2016 8 years ago
kaylee.py Wrap long lines in kaylee.py 8 years ago
languageupdater.py Update copyright for 2016 8 years ago
numberparser.py Update copyright for 2016 8 years ago
options.json.tmp Beginning work moving from YAML to JSON 8 years ago
recognizer.py Update copyright for 2016 8 years ago

README.md

Kaylee

Kaylee is a somewhat fancy speech recognizer that will run commands and perform 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.

Requirements

  1. pocketsphinx
  2. gstreamer-1.0 (and what ever plugin has pocketsphinx support)
  3. gstreamer-1.0 base plugins (required for ALSA)
  4. python-gobject (required for GStreamer and the GTK-based UI)
  5. python-requests (required for automatic language updating)

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

Usage

  1. Move commands.tmp to ~/.config/kaylee/commands.conf and fill the file with sentences and commands to run
  2. Run kaylee.py. This will generate ~/.local/share/kaylee/sentences.corpus based on sentences in the ‘commands’ file, then use the Sphinx Knowledge Base Tool to create and save a new language model and dictionary.
    • For GTK UI, run kaylee.py -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: to start Kaylee without needing to enter command line options all the time, copy options.json.tmp to ~/.config/kaylee/options.json and edit accordingly.

Examples

  • To run Kaylee with the GTK UI, starting in continuous listen mode: ./kaylee.py -i g -c

  • To run Kaylee with no UI and using a USB microphone recognized as device 2: ./kaylee.py -m 2

  • To have Kaylee pass the matched sentence to the executed command: ./kaylee.py -p

Explanation: if the commands.conf contains the line:

    good morning world: example_command.sh

Then three arguments, ‘good’, ‘morning’, and ‘world’, would get passed to example_command.sh as example_command.sh good morning world.

  • To run a command when a valid sentence has been detected: ./kaylee.py --valid-sentence-command=/path/to/command

  • To run a command when a invalid sentence has been detected: ./kaylee.py --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