From cf6e693773101b5ac6aea7a4186e7e15ce4508d5 Mon Sep 17 00:00:00 2001 From: Irene Knapp Date: Sat, 6 Sep 2025 15:42:27 -0700 Subject: move all the Kaylee code into a subdirectory this is preparation for merging it into the Pollyana repo Force-Push: yes Change-Id: I155624ba39a0d212c999f38aaf2de2cd62b7aa49 --- src/README.rst | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 src/README.rst (limited to 'src/README.rst') diff --git a/src/README.rst b/src/README.rst new file mode 100644 index 0000000..7674312 --- /dev/null +++ b/src/README.rst @@ -0,0 +1,68 @@ +Kaylee +====== + +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. + +Requirements +------------ + +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`` + +Usage +----- + +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 ``./kaylee.py``. 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 ``./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:** default values for command-line arguments may be specified in +the options.json file. + +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 each word of the matched sentence as a separate + argument to the executed command: ``./kaylee.py -p`` + +- 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`` -- cgit 1.4.1