#Blather Blather is a speech recognizer that will run commands when a user speaks preset sentences.
##Requirements
- pocketsphinx
- gstreamer-0.10 (and what ever plugin has pocket sphinx support)
- gstreamer-0.10 base plugins (required for alsa)
- pyside (only required for the Qt based UI)
- pygtk (only required for the Gtk based UI)
- pyyaml (only required for reading the options file)
#Debian: apt-get install python-sphinx python-pyside python-gst0.10-dev libgstreamer0.10-dev
apt-get install libgstreamer-plugins-base0.10-dev libgstreamerlibgstreamer0.10-cil-dev
apt-get install rygel-gst-launch gstreamer0.10-plugins-good gstreamer0.10-tools
Note: I seperated these to make them smaller on your screen. There is no functional reason to run them seperately.
##Usage 0. move commands.tmp to ~/.config/blather/commands.conf and fill the file with sentences and command to run
- Run Blather.py, this will generate ~/.config/blather/sentences.corpus based on sentences in the 'commands' file
- quit blather (there is a good chance it will just segfault)
- go to http://www.speech.cs.cmu.edu/tools/lmtool.html and upload the sentences.corpus file
- download the resulting XXXX.lm file to the ~/.config/blather/language directory and rename to file to 'lm'
- download the resulting XXXX.dic file to the ~/.config/blather/language directory and rename to file to 'dic'
- run Blather.py
- for Qt GUI, run Blather.py -i q
- for Gtk GUI, 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
- start talking
Note: to start Blather without needing to enter command line options all the time, copy options.yaml.tmp to ~/.config/blather/options.yaml and edit accordingly.
###Bonus once the sentences.corpus file has been created, run the language_updater.sh script to automate the process of creating and downloading language files.
###Examples
To run blather with the GTK UI and start in continuous listen mode:
./Blather.py -i g -c
To run blather with no UI and using a USB microphone recognized and device 2:
./Blather.py -m 2
To have blather pass the matched sentence to the executing command:
./Blather -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
###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