General Discussion

Nested
German Speech Recognition Suite (GPL)
User: kmaclean
Date: 4/16/2007 11:26 am
Views: 14818
Rating: 35

Post from Peter Grasch (see original post): 

Hello voxforge team!

We are a group of four students of the HTL Kaindorf who are currently working on a CSR suite named "simon".

This are the key features of simon are:

* Easy to use interface to add/remove words to the language model
* Training interface
* Integration in Microsoft Windows and Linux

The idea behind the project is to provide handicapped children (for example Parkinson's dicease or spasticity) with the ability to write.
(We are working together with a 13 year old spastic)

The target language is german, but if we see the demand we would probably consider translating the interface to english.

The project is listed under sourceforge where you could also get yourself a current snapshot via svn.

Technical information:
C++
QT4

We use julian for the recogniotion. We have written a seperate small server "juliusd" which communicates with the main application via TCP/IP and transmits all the recognized data to simon.

The whole project is well documented inline (doxygen compatible).

We would love to see someone actively participating in the project but also just checking out and testing is encouraged!

http://sourceforge.net/projects/speech2text

-- Peter Grasch (aka bedahr)
Project administrator

--- (Edited on 4/16/2007 12:26 pm [GMT-0400] by kmaclean) ---

Re: German Speech Recognition Suite (GPL)
User: kmaclean
Date: 4/18/2007 1:06 pm
Views: 480
Rating: 26

My post to the Simon SourceForge forum

Hi, 
 
Great project! I'm the admin for VoxForge (http:www.voxforge.org) ... thanks for letting us know about your project.  
 
I'm trying compile Simon on 64bit Fedora Core 4 (AMD64). 
 
When I run qmake and make (version: 1.07a (Qt 3.3.4)), I get the following errors: 
 
# qmake src_LINUX.pro 
WARNING: Found potential symbol conflict of main.cpp (main.cpp) in SOURCES 
# make 
/usr/lib64/qt-3.3/bin/uic ui/rundialog.ui -o ui/rundialog.h 
Session management error: Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed 
uic: File generated with too recent version of Qt Designer (4.0 vs. 3.3.4) 
make: *** [ui/rundialog.h] Error 1 
 
 
When I run qmake-qt4 and make I get the following: 
 
# qmake-qt4 src_LINUX.pro 
# make 
g++ -c -m64 -pipe -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -m64 -mtune=nocona -D_REENTRANT -Wall -W -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -I/usr/include/alsa -I/usr/X11R6/include -I. -I. -o main.o main.cpp 
In file included from ./runcommand.h:19, 
from ./simoncontrol.h:42, 
from ./simonview.h:41, 
from main.cpp:27: 
./runlinuxbackend.h:15:28: error: QDesktopServices: No such file or directory 
In file included from ./simonview.h:44, 
from main.cpp:27: 
./trayiconmanager.h:16:27: error: QSystemTrayIcon: No such file or directory 
In file included from /usr/include/QtCore/qdebug.h:32, 
from /usr/include/QtCore/QtCore:2, 
from /usr/include/QtXml/QtXml:1, 
from ./xmlreader.h:3, 
from ./xmldocument.h:3, 
from ./trainingmanager.h:18, 
from ./trainingview.h:21, 
from ./wordlistview.h:25, 
from ./simonview.h:45, 
from main.cpp:27: 
/usr/include/QtCore/qtextstream.h:40:2: error: #error qtextstream.h must be included before any header file that defines Status 
In file included from ./settingsview.h:17, 
from ./simonview.h:48, 
from main.cpp:27: 
./ui_settings.h:25:29: error: qcalendarwidget.h: No such file or directory 
/usr/include/QtGui/qstyleoption.h:113: error: expected identifier before numeric constant 
/usr/include/QtGui/qstyleoption.h:113: error: expected `}' before numeric constant 
/usr/include/QtGui/qstyleoption.h:113: error: expected unqualified-id before numeric constant 
/usr/include/QtGui/qstyleoption.h:116: error: ‘FrameFeature’ was not declared in this scope 
/usr/include/QtGui/qstyleoption.h:116: error: template argument 1 is invalid 
/usr/include/QtGui/qstyleoption.h:116: error: invalid type in declaration before ‘;’ token 
/usr/include/QtGui/qstyleoption.h:119: error: expected unqualified-id before ‘)’ token 
/usr/include/QtGui/qstyleoption.h:120: error: expected unqualified-id before ‘const’ 
/usr/include/QtGui/qstyleoption.h:120: error: expected `)' before ‘const’ 
/usr/include/QtGui/qstyleoption.h:121: error: expected unqualified-id before ‘const’ 
/usr/include/QtGui/qstyleoption.h:121: error: expected `)' before ‘const’ 
/usr/include/QtGui/qstyleoption.h:122: error: ‘QStyleOptionFrameV2& operator=(const QStyleOptionFrame&)’ must be a nonstatic member function 
/usr/include/QtGui/qstyleoption.h:122: error: ‘QStyleOptionFrameV2& operator=(const QStyleOptionFrame&)’ must take exactly two arguments 
/usr/include/QtGui/qstyleoption.h:124: error: expected unqualified-id before ‘protected’ 
/usr/include/QtGui/qstyleoption.h:126: error: expected declaration before ‘}’ token 
make: *** [main.o] Error 1 
 
I'm not sure where to get QDesktopServices or QSystemTrayIcon. I've downloaded both qt4 and the qt4-develop packages (using Fedora's yum package maintainer). 
 
What might I be doing wrong? 
 
Any help appreciated, 
 
thanks, 
 
Ken

 

--- (Edited on 4/18/2007 2:06 pm [GMT-0400] by kmaclean) ---

Re: German Speech Recognition Suite (GPL)
User: kmaclean
Date: 4/18/2007 1:06 pm
Views: 361
Rating: 32

bedahr's reply

Hi Ken! 
 
> Great project! 
 
Thanks! :) 
 
 
The qmake problem is probably related to your qt version... Please ensure that you use qt >= 4.2. 
(QSystemTrayIcon for example was introduced in qt-4.2) 
 
Regarding qstyleoption.h, qdir.h and qtextstream.h. 
 
This seems to be a problem in qt <= 4.3 (I didn't have that with the 4.3_beta - but 4.3_beta was not very stable for me so I switched back). 
This one is easy to fix though - if you don't mind hacking a bit. 
 
Fire up a texteditor and insert these lines: 
qtextstream.h line 39+: 
#ifdef Status 
#undef Status 
#endif 
 
qdir.h line 82+: 
#ifdef Unsorted 
#undef Unsorted 
#endif 
 
qstyleoption.h line 112+: 
#ifdef None 
#undef None 
#endif 
 
You'll find these files in /usr/include/qt4/QtCore (qdir, qtextstream) and /usr/include/qt4/QtGui (may vary - these are the paths for gentoo). 
 
These constants seem to get defined somewhere (probably X11 libs) but I haven't yet been able to track that down... 
 
I'll add this post to the install instructions shipped with the svn checkout. 
 
Sorry for the inconvinience. 
 
--bedahr 
 
ps.: btw, we are about to put a livecd (maybe ubuntu based or something similar) together for all you non-techy people out there :)

--- (Edited on 4/18/2007 2:06 pm [GMT-0400] by kmaclean) ---

Re: German Speech Recognition Suite (GPL)
User: kmaclean
Date: 4/18/2007 1:07 pm
Views: 396
Rating: 34

My reply back to bedhar: 

Hi bedahr, 
 
The most current version of QT4 on Fedora FC4 is Qt-4.1.5, so I uninstalled it and downloaded QT-4.2.3 from from Trolltech, and compiled it - a painless process, just took a while to compile. 
 
I edited the files located in /usr/local/Trolltech/Qt-4.2.3/include as follows: 
 
a. QtCore/qtextstream.h 
 
at line 39, I replaced the following: 
#ifdef Status 
#error qtextstream.h must be included before any header file that defines Status 
#endif 
 
with:  
#ifdef Status  
#undef Status  
#endif  
 
b. QtCore/qdir.h  
I inserted the following starting at line 82:  
#ifdef Unsorted  
#undef Unsorted  
#endif  
 
c. qstyleoption.h  
I inserted the following text starting at line 108 (just before the class description: class Q_GUI_EXPORT QStyleOptionFrameV2 : public QStyleOptionFrame):  
#ifdef None  
#undef None  
#endif  
 
Because I am using 64-bit FC4, I had to modify the LIBS section (to point to the /usr/X11R6/lib64) of the src_LINUX.pro qmake file as follows: 
LIBS += -L/usr/X11R6/lib64 \ 
-L/usr/lib/alsa-lib \ 
-lX11 \ 
-lXtst \ 
-lasound 
 
then I compiled Simon as follows: 
$/usr/local/Trolltech/Qt-4.2.3/bin/qmake src_LINUX.pro 
$make 
 
I also compiled the juliusd as follows: 
$/usr/local/Trolltech/Qt-4.2.3/bin/qmake juliusd.pro 
$make 
 
And they both seem to run OK (though I cannot read German ...). Though I was getting an overrun error in my Simon console. I am not sure exactly what I clicked to do this ... likely because I compiled it as 64-bit. Simon (or juliusd or both) it might need to be compiled under 32-bit emulation. 
 
I would like to see an english version of this app. VoxForge has english Acoustic Models that could be used. Let me know if you need help. 
 
thanks, 
 
Ken

--- (Edited on 4/18/2007 2:07 pm [GMT-0400] by kmaclean) ---

Re: German Speech Recognition Suite (GPL)
User: kmaclean
Date: 4/19/2007 10:27 am
Views: 406
Rating: 30
Hi Ken! 
 
First of all: Thanks for the great test - this was the first succesful compile (that I know of) from outside the team. 
 
Thanks for doing this, I really appreciate it. 
 
As I already said in the news post on voxforge: if there is a need for a translation we will look into it. 
This could take a while, though, as we are all pretty busy preparing presentation material at the moment (we are looking for sponsors to provide us with enough financial support to ensure that the german language models are getting enough "attention"). 
 
About the overrun error: Was it fatal? Did simon crash? Because overruns during the recording process are more/less normal and are normally no problem (the output is just for debugging purposes). 
 
simon /should/ be 64-bit compatible (although it's much too soon to ensure that simon will run flawless - even on 32bit). 
 
Be sure to check back once in a while! 
 
--bedahr

--- (Edited on 4/19/2007 11:27 am [GMT-0400] by kmaclean) ---

Re: German Speech Recognition Suite (GPL)
User: kmaclean
Date: 4/19/2007 10:28 am
Views: 370
Rating: 32
Hi bedahr, 
 
I would like to set up a Trac project page on the VoxForge dev site (with the simon and juliusd code on it), and try translating whatever German text I find in the GUI to English (using Google's translation tools). This might help speed things up ... 
 
I believe that having a command and control app will go a long way to getting more people interested in Speech Recognition on Linux and maybe encourage them to submit speech to VoxForge for the benefit of the community. 
 
Please let me know if this is OK. 
 
With respect to the overrun error: it slowed my whole system down to a crawl, and I could not see my mouse anymore ... and being the impatient guy that I am, I just rebooted... 
 
thanks, 
 
Ken

--- (Edited on 4/19/2007 11:28 am [GMT-0400] by kmaclean) ---

Re: German Speech Recognition Suite (GPL)
User: kmaclean
Date: 4/19/2007 10:28 am
Views: 380
Rating: 34
Hi ken! 
 
Sure - an English translation would be really nice to target a bigger audience. And we could always use new, good, developers :) 
 
And the Trac page sounds great - but what would we use it for? 
But please keep in mind that we are in an extremely early development phase. 
 
Thanks for your help and your participation! 
 
-- bedahr

--- (Edited on 4/19/2007 11:28 am [GMT-0400] by kmaclean) ---

Re: German Speech Recognition Suite (GPL)
User: kmaclean
Date: 4/19/2007 10:28 am
Views: 452
Rating: 41
Hi bedahr, 
 
>And the Trac page sounds great - but what would we use it for?  
I just wanted to put my rough German-English translations somewhere that would be accessible to everyone. When I say Trac, basically it is the VoxForge Subversion repository with a Trac front-end (with a wiki and issue tracker). The current set-up allows for the easy creation of multiple Trac/Svn projects. 
 
>But please keep in mind that we are in an extremely early development phase.  
Once I managed to translate the GUI I realized this ... but I really like the concept, and would like to help. 
 
>And we could always use new, good, developers :)  
I don't have much C++ coding experience... 
 
Ken

--- (Edited on 4/19/2007 11:28 am [GMT-0400] by kmaclean) ---

Re: German Speech Recognition Suite (GPL)
User: kmaclean
Date: 4/20/2007 12:50 pm
Views: 3394
Rating: 41
>> And the Trac page sounds great - but what would we use it for?  
> I just wanted to put my rough German-English translations somewhere that would be accessible to  
> everyone.  
Providing the translation to the pulic would be great - but only if it doesn't split up the tree. This seems like a snapshot based translation - once we change something in the main (german) tree, you would have to change "your version" too. That's not what translation should be. 
Once the translation gets integrated into the main source tree, it would be rather pointless. 
I'll look into trac and maybe set one up, once we feel we need it, but atm it would just complicate things imho (one more thing to worry about). 
 
 
>> But please keep in mind that we are in an extremely early development phase.  
> Once I managed to translate the GUI I realized this ... but I really like the concept, and would like  
> to help.  
 
Greatly appreciated. It's a huge project. 
 
>> And we could always use new, good, developers :)  
> I don't have much C++ coding experience...  
 
Spread the word... :) 
 
 
-- bedahr

--- (Edited on 4/20/2007 1:50 pm [GMT-0400] by kmaclean) ---

PreviousNext