blob: 7d59f018f9be90f15799a849aba373fbe2e48b89 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
# 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](https://gitlab.com/jezra/blather) by [Jezra](http://www.jezra.net/),
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 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.py. This will generate ~/.local/share/kaylee/sentences.corpus
based on sentences in the "commands" section of options.json, then use the
[Sphinx Knowledge Base Tool](http://www.speech.cs.cmu.edu/tools/lmtool.html)
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:** 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`
|