Montag, 26. Januar 2009

Finally. Unlike the second beta which wasn't really that exciting this is new release is IMHO again a huge leap forward.

Why? Well three new command plugins and one old one that actually works for the first time in this release? In my book that effectively doubles our plugin-count.

CompositesComposites take other simon commands as their arguments and execute them in order. Moreover you can introduce delays between them. A typical use-case for such a command would be:Open a Chat with Anna.This takes three actions: Open Kopete, type "Anna" to find her in the contact list and press return.Those three actions have already been possible with old versions of simon but they had to be executed by the user. With the new composite plugin you can create a command that launches the executable command "kopete", the text-macro command to type "Anna" and the shortcut command to press return and associate a meaningful trigger to the combination.

ListsList commands also take other commands as their parameters. However, instead of executing them one by one, lists - when triggered - provide the user with a small dialog pop-up that presents the commands that make up the list and let the user choose the command they want with numbers from 1-9. Of course lists can contain other lists so you can easily generate sub-menus if you want to. Composites in lists are no problem either.This enables simon uses to effectively limit their vocabulary much more if they don't want to invest much time into training or just can't speak very well.An example of a combination of those lists and composites would be a "Contacts" list-command which contains place commands to e-Mail addresses (mailto:bla@blub.com works great as place-command) and a composite plug-in to start a chat with Anna (see the composite part).

Number InputWhile not as exciting as lists and composites this plug-in was important too: It let's you input complex numbers easily by providing a calculator-like interface.

Desktop GridThe desktop grid was even part of the 0.1 series but it was never controllable by voice and just included as a teaser for... well this version :)Using the desktop grid the user can click any point on a desktop by saying a combination of numbers. When the desktop grid is activated, it devides the desktop in nine areas. Saying a number of 1-9 will then divide this region again in 9 parts, etc.That way the user can precicly click any point on the screen - again only using numbers from 1-9.

Of course there have been other advancements too. For example the recording widget now displays the current "loudness" using the progress bar while recording and a lot of bugs have been fixed.

All in all 0.2 beta 3 is a really cool release and, if all goes well, might just be our last beta release...

UPDATE 27.01.2009I seem to have forgotten one final commit which, sadly, fixed some critical bugs (ksimond crash on startup and some plugin-loading stuff). I committed the patch now and am rebuilding the packages as I write.Anyone who downloaded the release yesterday will have to download and install again. Don't forget to uninstall any previously installed 0.2 versions first!Sorry for the inconvenience!

Freitag, 23. Januar 2009

Some of our german speaking users who tried the 0.2 series of simon might have noticed that the recognition rates are extremely poor. No matter how many trainings-samples, simon doesn't recognize a word.

While I never had that problem myself, I saw it myself on Mathias' notebook. Interestingly, using the "real" julius on the same model worked very well. The problem had to be in simon somewhere. And so the digging began...

The first thing I did was to compare julius log produced by simond and the one generated by the "real" julius. The only difference between them was the comma seperator: Julius used "." and simond used "," (which is correct as this was a german windows xp). Well that can't be it, can it?

After a bit lot of fiddling, I gave up and changed the locale to English/USA. And just like that things worked fine.

It turns out, that Julius respects the locales decimal point even when parsing the hmm model files. And as the HTK uses "." as it's seperator and julius expects "," the model is parsed incorrectly. That never happened to me, as my system locale is en_US.

So if you use any version of simon 0.2 with a system locale that uses any other comma seperator than ".", you will have mediocre recognition rates unless you open up the hmmdefs file (Windows: %appdata%\.kde\share\apps\simond\models\\active\hmmdefs; KDE: ~/.kde/share/apps/simond/models//active/hmmdefs) and replace "." with your locales decimal point or change your locale to English.

I really didn't want to make a lot of fuss about it which is also why I didn't put announcements on all the "cool" places (like kde-announce). The second beta is only a bug-fix release (Changelog) and as such does not introduce any new features.

To be honest, the main reason for releasing the second beta was that we got a couple of new testers on monday and I wanted them to test the latest version of simon. As there was no reason to keep the compiled binaries to myself I put them on sourceforge.

Thanks to everyone who reported bugs since the first beta! Keep 'em coming...

Freitag, 2. Januar 2009

Well I guess I am a bit late but still ... Happy new year to everyone!

As some of you might know, I stayed with an old friend over new years so my responses to forum posts, opened bugs etc. might have been a bit slower.

But I am back and - as a sign of good will - already fixed some of the open bugs on the way back home (at least the hours on the train were useful for something). The fixes are not yet available through SVN but I will commit them tomorrow after some testing.

For now I just want to thank all the users and supporters of simon who helped to make simon what it is today.

Looking forward to another great year!

ps.: Besides some bug-fixing I started to work on new command plugins that might *cough* pop up in the near future - stay tuned...