Somewhat fancy voice command recognition software
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
Clara Hobbs 22f27d2806 Mention the new dependency in README 9年前
assets Added Gtk Tray UI (thanks padfoot) 10年前
data Added Gtk Tray UI (thanks padfoot) 10年前
.gitignore Ported to new pocketsphinx and pygi 9年前
README.md Mention the new dependency in README 9年前
blather.py Rewrote language_updater.sh in Python 9年前
commands.tmp added gstreamer0.10-base-plugins to the requirements in the README 10年前
config.py Removed prints from config.py 9年前
gpl-3.0.txt licensing 11年前
gtktrayui.py Beginning work moving from YAML to JSON 9年前
gtkui.py Beginning work moving from YAML to JSON 9年前
languageupdater.py Rewrote language_updater.sh in Python 9年前
options.json.tmp Beginning work moving from YAML to JSON 9年前
recognizer.py Moved paths to Config class 9年前

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 command to run
  2. Run blather.py. This will generate ~/.local/share/kaylee/sentences.corpus based on sentences in the ‘commands’ file, then use http://www.speech.cs.cmu.edu/tools/lmtool.html to create and save a new language model and dictionary.
    • For GTK UI, run blather.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 and start in continuous listen mode: ./blather.py -i g -c

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

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

explanation: if the commands.conf contains: good morning world: example_command.sh then 3 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: ./blather.py --valid-sentence-command=/path/to/command note: this can be set in the options.yml file
  • To run a command when a invalid sentence has been detected: ./blather.py --invalid-sentence-command=/path/to/command note: this can be set in the options.yml file

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