New speech-to-text plugin "SimonGhost"

Do you have questions about writing plugins or scripts in Python? Meet the coders here.
Post Reply
PeterLo
Posts: 2
Joined: Tue Jul 28, 2009 8:32 pm

New speech-to-text plugin "SimonGhost"

Post by PeterLo » Sun Nov 01, 2009 9:46 am

I've programmed a new plugin for EventGhost.
It's name is "SimonGhost" and it connects EventGhost to the speech-to-text engine "Simon Listens" (http://www.simon-listens.org). So you can now control EventGhost with your voice!

It's published on https://sourceforge.net/projects/simonghost/
A little negative point is, that the whole installation and training of simon takes a lot of time. But you will see, it's very great.
Please contact me for questions and improvements.

Greetings,
PeterLo

stottle
Plugin Developer
Posts: 636
Joined: Sun Apr 26, 2009 10:59 pm

Re: New speech-to-text plugin "SimonGhost"

Post by stottle » Tue Nov 03, 2009 5:58 pm

Peter-

I'm interested in speech recognition, but simon listens doesn't seem like a great solution combined with EG. For one thing, I'm hesitant to install KDE on a windows machine in order to get that capability. Also, simon listens replicates a lot of capability that EG already has. I mean, it's kinda EG's purpose to start apps and interact with the desktop. I'd prefer a "leaner" speech implementation, one that produces events that EG can respond to, rather than reacting to speech events itself.

I want to encourage new developers and novel ideas, so I hope you don't take offense at my feedback. I didn't look too long at simon listens, so please correct me if I'm misinterpreting its capability.

Also, I don't know if you've seen this (and I haven't used it myself) but there is another plugin in this forum thread for speech recognition.

Brett

Samcek
Posts: 14
Joined: Sat Oct 03, 2009 4:52 pm

Re: New speech-to-text plugin "SimonGhost"

Post by Samcek » Sun Nov 15, 2009 6:18 pm

Well, well... finally somebody is developing something useful in the field of speech recognition for non-English speakers, which should be interesting for most of us here...

Let me start by saying that a month or so ago I tried to incorporate the speech recognition functionality into my installation of EventGhost. First i tried the SpeechRecognition plugin that ships with EG, then I read about the aformentioned application mentioned in another thread by stottle. I googled and read upon the subject of speech recognition, downloaded dozens of applications (some very fishy software - probably malware), i even tried some development packages (libraries), but whatever I tried, I was disappointed with the performance (very unreliable recognition).

Who hasn't tried it before, probably doesn't know the fact that speech recognition has been in development for decades now, but unfortunately most of the effort has been on the English language, at least commercially. The problem of the SR is so great that enormous resources have to be invested, and the biggest market is of course the English language. So if you want to control your computer with some other langugae, you are most likely out of luck. Currently, there are only TWO commercial, kinda serious, easily available speech recognizing engines: one is Microsoft's SAPI 5.x and the other is Dragon NaturallySpeaking. Microsoft's API is English-only (i think). Dragon has a few major languages but only a few. So unless you speak one of those, you're out of luck. Dragon, although it supports more languages than Microsoft, is hard to interface with outside applications (although it can be done if you're a developer or power-user). Another problem with Dragon is that it is meant for continuous speech recognition - dictation for short. In our situation, discrete speech recognition (command and control) is more preferable.

As I said, I've tried many solutions for speech C&C over few weeks and not even one was useful. And it must have been more than 10 of those. I was excited to stumble upon this "simon" software, after reading about the approach the developer took I thought "finally, something that makes sense". The vocabulary and sound model can/must be built from scratch, and your personal voice is used in building that. So it doesn't really matter what language you speak, because you can enter the phonemes for each word individually. In a command&control scenario, where the vocabulary is quite small and the recognition must be close to 100% to be useful, this is A GOOD THING.

So, is this "simon" then a great software or what? Unfortunately, after reading all about it, installing it (quite a complex procedure) and training a few words, putting in the grammar and doing all that's necessary, the thing DOESN'T WORK (at least for me). I'm not talking about the plugin for EG, but about basic simon software. When i tried to "activate" the connection from client to the server, all it says is:
Couldn't start recognition because the system reports that the recognition is not ready.

Please check if you have defined a wordlist, an appropriate grammar and recorded a few trainings samples.

The system will then, upon synchronization, generate the model which will be used for the recognition.
I've triple-checked about everything the suggestion says, and everything is okay. I've also googled about this error and it said something about a requirement for the shadow dictionary - I downloaded and imported one, although none exists for my language (Slovenian), I just used English one. This shouldn't impact anything, as I understand shadow dictionary is not actively used. I'm at a loss of what else could be done. PeterLo, if you're the author and can help me out, I'd be very greateful. I would just LOVE to have this thing up and running. Btw, I'm using Windows XP if that matters.

PeterLo
Posts: 2
Joined: Tue Jul 28, 2009 8:32 pm

Re: New speech-to-text plugin "SimonGhost"

Post by PeterLo » Sat Feb 06, 2010 9:59 am

Hey!

Im sorry that I wasn't here for a long time...
I think I've to answer your Questions about my PlugIn.

Why have I choosed SimonListens?
My first contact with a SR software was in Windows Vista. It works very fine, but you can't use there your own commands. Maybe it was just an happenstance that I had found a Video of SimonListens on Google-Video.
I think it worked very fine and I haven't found an open source project that works fine like this.

Why have I written a PlugIn that connects Simon and EventGhost instead of using just Simon?
Simon is developed just for SR. The Problem for me was not the output opportunities, but the input opportunities. You can't use your remote control or another input hardware in Simon!
That was the main reason for my PlugIn. The other point is, that you can't write as fast a new plugin as in EventGhost.

@ Samcek:
I'm very sorry that I have to say to you, that I can't help you with special problems in Simon. For problems with that you can ask Peter Grasch, the main developer of Simon. Please look for that at the Simon forum.

Greetings
PeterLo

Post Reply