Linux simon: Speech Activated UI for KDE

Status
Not open for further replies.

vishalrao

Global Moral Police
Keymaster
Every once in a while, the KDE community stumbles across a third party application that is well integrated into KDE, but has somehow managed to fly completely beneath the radar. One such application is called simon (small 's' intentional), a speech recognition program that integrates well with KDE and provides a means of interacting with KDE using voice recognition.

What follows below is an overview of simon and excepts from an interview that the dot conducted with Peter Grasch, lead coder.

See Simon - speech activated user interface for KDE | KDE.news

and:

[youtube]x_9ImaiOISs[/youtube]

Something to counter Windows 7 speech recognition I hope... will try it out soon...
 
  • Like
Reactions: 1 person
:O I am just speechless :P

Amazing .. I am waiting for it to me merged in Log in screen ;)

It recognize voice or just work with any vocals ?
 
In comparison to commercially speech recognition offerings simon does not ship with any predefined speech model. Instead, it makes it very easy for the end- user to create his own. A process that is normally extremely complicated (a very similar process to what simon does internally is outlined in the HTK book - the instructions span about 100 pages - and the HTK book is targeted towards linguistic professionals). This makes simon independent of any existing language or pronunciation and gives all the control to the end-user.

The process of creating of the speech model and the output models are state of the art - this has also been verified by the signal processing and speech communication laboratory of the technical university Graz. The acoustic model is trained with the HTK toolkit which has to be installed separately and Julius is used for the recognition (a modified version is shipped with simon).

something to make note of
 
Dark Star said:
:O I am just speechless :P

Amazing .. I am waiting for it to me merged in Log in screen ;)

It recognize voice or just work with any vocals ?

Pun intended huh? :) Ya I too hope they make some sort of cool voice fingerprinting for login! I dunno/doubt it is there currently. That will be ultra high-tech space-age like out of star-trek!

Gaurish said:
something to make note of

Are you saying it might be hard to use software? Lets try it out, someone might post a review of sorts here...

NoName01 said:
Awesome.....will try KDE soon

Note that it looks like you need to manually download and install packages, starting point would be the sourceforge page they mention...

Let me see if I can try it out this evening...
 
OK downloaded, compiled and configured the stuff and it is running... also got HTK compatible Julius dictionary from voxforge.org to simplify wordlist/training... but damn Kubuntu audo microphone not recording/detecting any sound. Will return to fixing mic input after dinner :D

edit: able to record and playback words... but cant seem to get the damn thing to trigger any actions like popup a menu or dialog... console output shows its detecting audio when i speak but does not take any action... will continue looking into it next weekend.

btw they have a blog which I've added to my google reader list: http://simon-listens.blogspot.com/ :D
 
Does this support 64bit?

checking whether make sets $(MAKE)... yes

checking for gawk... gawk

checking for gcc... gcc

checking for C compiler default output file name... a.out

checking whether the C compiler works... yes

checking whether we are cross compiling... no

checking for suffix of executables...

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ISO C89... none needed

checking for a BSD-compatible install... /bin/install -c

checking whether ln -s works... yes

checking for ranlib... ranlib

checking for main in -lX11... yes

checking for main in -lm... yes

checking how to run the C preprocessor... gcc -E

checking for X... libraries , headers

checking for grep that handles long lines and -e... /bin/grep

checking for egrep... /bin/grep -E

checking for ANSI C header files... yes

checking for sys/types.h... yes

checking for sys/stat.h... yes

checking for stdlib.h... yes

checking for string.h... yes

checking for memory.h... yes

checking for strings.h... yes

checking for inttypes.h... yes

checking for stdint.h... yes

checking for unistd.h... yes

checking errno.h usability... yes

checking errno.h presence... yes

checking for errno.h... yes

checking fcntl.h usability... yes

checking fcntl.h presence... yes

checking for fcntl.h... yes

checking float.h usability... yes

checking float.h presence... yes

checking for float.h... yes

checking limits.h usability... yes

checking limits.h presence... yes

checking for limits.h... yes

checking malloc.h usability... yes

checking malloc.h presence... yes

checking for malloc.h... yes

checking for memory.h... (cached) yes

checking for stdlib.h... (cached) yes

checking for string.h... (cached) yes

checking sys/ioctl.h usability... yes

checking sys/ioctl.h presence... yes

checking for sys/ioctl.h... yes

checking sys/socket.h usability... yes

checking sys/socket.h presence... yes

checking for sys/socket.h... yes

checking sys/time.h usability... yes

checking sys/time.h presence... yes

checking for sys/time.h... yes

checking for unistd.h... (cached) yes

checking for an ANSI C-conforming const... yes

checking for size_t... yes

checking whether time.h and sys/time.h may both be included... yes

checking whether struct tm is in sys/time.h or time.h... time.h

checking whether gcc needs -traditional... no

checking for working memcmp... yes

checking for stdlib.h... (cached) yes

checking for GNU libc compatible malloc... yes

checking for working strtod... yes

checking return type of signal handlers... void

checking for vprintf... yes

checking for _doprnt... no

checking for floor... yes

checking for gettimeofday... yes

checking for memmove... yes

checking for memset... yes

checking for modf... yes

checking for pow... yes

checking for socket... yes

checking for sqrt... yes

checking for strchr... yes

checking for strcspn... yes

checking for strrchr... yes

checking for strspn... yes

checking for strstr... yes

checking for strtol... yes

checking build system type... x86_64-unknown-linux-gnu

checking host system type... x86_64-unknown-linux-gnu

configure: creating ./config.status

config.status: creating HTKLib/Makefile

config.status: WARNING: HTKLib/Makefile.in seems to ignore the --datarootdir setting

config.status: creating HTKTools/Makefile

config.status: WARNING: HTKTools/Makefile.in seems to ignore the --datarootdir setting

config.status: creating HLMLib/Makefile

config.status: WARNING: HLMLib/Makefile.in seems to ignore the --datarootdir setting

config.status: creating HLMTools/Makefile

config.status: WARNING: HLMTools/Makefile.in seems to ignore the --datarootdir setting

config.status: creating HTKLVRec/Makefile

config.status: WARNING: HTKLVRec/Makefile.in seems to ignore the --datarootdir setting

config.status: creating Makefile

config.status: WARNING: Makefile.in seems to ignore the --datarootdir setting

**************************************************

HTK is now ready to be built.

Type "make all" to build the HTK libraries

and tools.

Then "make install" to install them.

The tools will be installed in /tmp/yaourt-tmp-gaurish/aur-htk/htk/pkg/usr/bin

Build notes: Language Modelling tools will be

built. HDecode will not be built. You can build

it manually later by running 'make hdecode

install-hdecode'

**************************************************

(cd HTKLib && make HTKLib.a) \

|| case "" in *k*) fail=yes;; *) exit 1;; esac;

make[1]: Entering directory `/tmp/yaourt-tmp-gaurish/aur-htk/htk/src/htk/HTKLib'

gcc -m32 -ansi -D_SVID_SOURCE -DOSS_AUDIO -D'ARCH="x86_64"' -Wall -Wno-switch -march=k8 -O2 -pipe -m32 -ansi -D_SVID_SOURCE -DOSS_AUDIO -D'ARCH="x86_64"' -Wall -Wno-switch -march=k8 -O2 -pipe -I. -DPHNALG -c -o HGraf.o HGraf.c

In file included from /usr/include/features.h:371,

from /usr/include/stdio.h:28,

from HShell.h:40,

from HGraf.c:54:

/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory

make[1]: *** [HGraf.o] Error 1

make[1]: Leaving directory `/tmp/yaourt-tmp-gaurish/aur-htk/htk/src/htk/HTKLib'

make: *** [HTKLib/HTKLib.a] Error 1

==> ERROR: Build Failed.

Aborting...

Error: Makepkg was unable to build htk package.
 
yes it works for 64bit (as noted in wiki installation steps) you have to edit 2 files "configure" and "configure.ac" and remove the "-m32" from them. then rerun ./configure. you will see a lot of pointer to integer size conversion warnings but it built and installed for me...
 
Hmm looking at he vid, i think some sort of keyboard macro will be quicker. one press doing mulitple actions.

Voice is good in a few select areas, can't see it working for more general things.
 
vishalrao said:
yes it works for 64bit (as noted in wiki installation steps) you have to edit 2 files "configure" and "configure.ac" and remove the "-m32" from them. then rerun ./configure. you will see a lot of pointer to integer size conversion warnings but it built and installed for me...

Thanks, finally was able to generate a package and installed it. removingg -m32 did the trick. thanks again!

Code:
$ sudo pacman -U htk-3.4.1-1-x86_64.pkg.tar.gz

loading package data...

checking dependencies...

(1/1) checking for file conflicts                   [######################################################] 100%

(1/1) installing htk                                [######################################################] 100%

=> Tidying install...                                                                                           

  -> Stripping debugging symbols from binaries and libraries...                                                  

  -> Generating .PKGINFO file...                                                                                 

==> Creating package...                                                                                          

  -> Compressing package...

==> Leaving fakeroot environment.

==> Finished making: simon 0.2-2 x86_64 (Mon Aug 24 15:29:56 PDT 2009)

==>  Continue installing simon? [Y/n]

==>  [v]iew package contents [c]heck package with namcap

==>   ----------------------------------------------

==>Y

loading package data...

checking dependencies...

(1/1) installing simon                              [######################################################] 100%

Will test and reply back

if anyone wants 64bit package for archlinux, let me know

[Update]

Find to I find libksimondsettings?

27ywxzd.png


This thing was too many dependencies. a true dll hell:P
 
perhaps while compiling simon package (i just installed the ready ubuntu deb) you need to specify the "prefix" like "./configure --prefix=/usr/local" or something like that...

else if already installed you can find the libksimondsettings* file(s) and put it in the LD.conf loader paths?

(my home internet is busted and my PC wont boot either so im off the internet these days)...
 
Status
Not open for further replies.