ajbogh / blather Goto Github PK
View Code? Open in Web Editor NEWPython application for speech recognition using pocketsphinx and gstreamer. A GUI is available for both Qt and Gtk.
Python application for speech recognition using pocketsphinx and gstreamer. A GUI is available for both Qt and Gtk.
When using -k 0 , 1 ,2 (any low value) (or not using -k at all), I find I can execute the default "email" command, and any other command, without using the keyword. This issue is easily reproducible. This is with the current commit. Any advice or guidance to fix that would be appreciated.
Once Issue #8 is complete, download large language files that can be imported into the system.
The commands.tmp says:
# This keyword is like "Hal", or "Jarvis", or "Computer", you must say it to activate the system.
Hal:keyword
So I made a keyword
Raspberry:keyword
But when I say the keyword, the console writes:
keyword
/bin/sh: 1: keyword: not found
I saw this request by @piegamesde in #17
I'd be interested in starting to update the py files to be compatible with python3. If I get stuck, can I do a PR and get some help along the way?
Hi.
I have startup error:
./Blather.py
** Message: pygobject_register_sinkfunc is deprecated (GstObject)
# commands are key:value pairs
# key is the sentence to listen for
# value is the command to run when the key is spoken
hello world:echo "hello world"
hello world echo "hello world"
Traceback (most recent call last):
File "./Blather.py", line 286, in <module>
blather = Blather(options)
File "./Blather.py", line 49, in __init__
self.recognizer = Recognizer(lang_file, dic_file, opts.microphone )
File "/home/shura/projects/blather/Recognizer.py", line 29, in __init__
self.pipeline=gst.parse_launch( cmd )
glib.GError: no element "autoaudiosrc"
libgstpocketsphinx.so is instlled.
$ ls /usr/lib64/gstreamer-0.10
gst-plugin-scanner* libgstaudiorate.so* libgstdecodebin.so* libgstgio.so* libgstpulse.so* libgsttypefindfunctions.so* libgstvorbis.so*
libgstadder.so* libgstaudioresample.so* libgstdecodebin2.so* libgstogg.so* libgstpython.so* libgstvideorate.so* libgstximagesink.so*
libgstalsa.so* libgstaudiotestsrc.so* libgstencodebin.so* libgstpango.so* libgstsubparse.so* libgstvideoscale.so* libgstxvimagesink.so*
libgstapp.so* libgstcoreelements.so* libgstffmpegcolorspace.so* libgstplaybin.so* libgsttcp.so* libgstvideotestsrc.so*
libgstaudioconvert.so* libgstcoreindexers.so* libgstgdp.so* libgstpocketsphinx.so* libgsttheora.so* libgstvolume.so*
How to fix it?
Is it possible to pass in a video/audio file that will detect commands issued within that recording?
This program is the best of its kinds but will not work after updating to new stable Debian based distributions (Debian, Ubuntu, Linux mint..yada yada yada) as they now use a newer gstreamer plugin. Im no developer and there may be ways of creating a soft link with the proper parameters but i have yet to figure out what that would be. This program is the only one i have found that allows you to add your own canned trigger sentences and then input the code you want executed. I used it for 2 years and It worked flawlessly because you can be very specific about what it should listen to. Because of this it is very helpful for people with disabilities and just need the computer to perform certain issues...simple stuff like "play music" , "next track" ...or "open tonight's entertainment". If i can help out with getting this program updated please let me know.
The keyword needs to be spoken at all times, whether in continuous mode or not. If the user has activated the listen button then the keyword should not be necessary.
Maybe I'm missing something obvious, but it appears to be calling all my bash scripts with sh as an interpreter. Is this configurable?
I believe that the following steps in the README have been automated. The Bonus section in the README references a language_updater.sh file which seems to perform the steps. We should remove the steps and only reference the language_updater.sh file as the best option.
Reference README:
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
Create a debian installer to handle dependency management and make installation easier.
Currently we use the CMU website to generate our language file. We would like to include the necessary files that can generate the language file from within Blather instead. This will allow the system to be standalone and work without internet connection, as well as give us the ability to import large text files for language processing to improve Blather's speech recogniton.
Currently the keyword must be spoken before every command:
"Blather open email"
"Blather delete message"
"Blather empty trash"
During continuous listening mode there should be a time period for certain commands, or all commands, where you can say the keyword on the first command and have it continue to process commands for a total of 1 minute (for example) without having to say the keyword again.
"Blather open email"
"delete message" (after 10 seconds)
"empty trash" (before 1 minute)
"Blather close email" (after 1 minute)
Additionally there should be a phrase that returns the system to requiring a keyword or to dynamically switching the keywordless mode on and off.
Blather needs a notification icon that contains:
The notification area icon should be icon.png under the data directory.
In the future we may add additional code to detect OS type and use other notification area classes, but for now we can focus on Ubuntu with appindicator.
Create a method to automatically read the commands.conf file's modified time and update the language file when it has changed, executing the read_commands function when the language file update is complete.
Process:
Makefile?
NPM?
Python?
Blather should be able to use certain key phrases after a parent phrase has been spoken. If there was a parent phrase of "Microwave" and a subtask of "reheat" then the subtask should only become available after speaking the parent phrase.
After a certain period of time the system can return to the top level so that all commands are available again.
Examples:
Refrigerator
Microwave
The only time water or reheat should be available is if the user spoke the words "Refrigerator" or "Microwave" first, otherwise a smart refrigerator could be dispense water all over the floor when it misinterpreted room noise. The light action is shared between both examples but only the one within the active parent would work for a set period of time (30 seconds for example).
A key phrase could be used to return the system back to the parent level ("return to home").
In the README step 6 indicates that for GTK you should use the -g flag and for Qt you should use the -q flag. It seems like it should be able to detect the environment and choose the appropriate mode by itself.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.