Somewhat fancy voice command recognition software
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

README.rst 2.5KB

Kaylee
======

Kaylee is a somewhat fancy voice command recognition program that
performs actions when a user speaks loosely preset sentences. It has a
flexible plugin API allowing developers to add new advanced features
that can be distributed and loaded with ease.

Kaylee is based on `Blather <https://gitlab.com/jezra/blather>`__ by
`Jezra <http://jezra.net/>`__, but adds a lot of features that go
beyond the original purpose of Blather.

Installation
------------

Kaylee is only tested on GNU/Linux systems, so make sure you're trying
to install it on one of those. The current recommended way to use Kaylee
is to check out the Git repository and run it from there::

git clone https://git.clayhobbs.com/clay/kaylee.git
cd kaylee

Dependencies
~~~~~~~~~~~~

1. Python 3.6
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
7. python-setuptools

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

Optional Dependencies
~~~~~~~~~~~~~~~~~~~~~

1. python-pydbus (required for MPRIS plugin)

Usage
-----

1. Copy plugins.json.dist to ~/.config/kaylee/plugins.json and fill the
".shell" 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
<http://www.speech.cs.cmu.edu/tools/lmtool.html>`__, then listens for
commands with the system default microphone. To use a microphone
other than the system default, use the ``-m`` flag.
3. Start talking!

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 run a command when a valid sentence has been detected:
``./kaylee.py --valid-sentence-command=/path/to/command``

- To run a command when an invalid sentence has been detected:
``./kaylee.py --invalid-sentence-command=/path/to/command``

Default values for command-line arguments may be specified in
~/.config/kaylee/options.json. It is recommended to base this file on
the default configuration file, kayleevc/conf/options.json.

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``