If you finish this tutorial, you will get a fully functional Simon version and the coresponding source files which you of course can modify freely.
To publish your changes, please get in touch with a Simon developer to receive write access to the public git repository.
The following tutorial will describe how to install everything needed to get started on developing on Simon.
Please set up the emerge environment by following the tutorial on techbase.
You need at least one of the backends below for a working Simon installation
At this point, there are no detailed installation instructions for SPHINX on Windows as the setup is sadly very complicated.
If you still want to give it a try, you'll need a current Python setup in your path, as well as SphinxBase, Pocketsphinx and SphinxTrain from http://cmusphinx.sourceforge.net/wiki/download.
In a KDE shell (see the KDE section above) simply run "emerge simon" to build and install Simon.
Download the latest version of Julius from their homepage and install it by copying the executables to the "bin" subfolder of your KDE installation folder.
This guide will assume that you are using Ubuntu Linux or OpenSUSE. If you use a different distribution you will have to look up the correct name of the packages yourself and install them on your own.
If you already installed the binary version of Simon, please remove it!
Debian based Systems: sudo dpkg -r simon
You will need a couple of packages before getting to work. Install them using the following command:
Debian based Systems: sudo apt-get install git build-essential cmake gettext gettext-kde kdeartwork libqwt-dev \ kdelibs5-dev libxtst-dev libqt4-sql-sqlite libphonon-dev libattica0.3 libattica-dev zlib1g-dev \ libasound2-dev julius libpocketsphinx-dev libpocketsphinx1 sphinxtrain libsphinxbase-dev \ libsphinxbase1 sphinxtrain-dev
RPM based Systems: sudo zypper in git-core gcc gettext-tools gettext-runtime libkde4-devel \ libqt4-sql-sqlite libqt4-multimedia libqt4-phonon-devel libattica-devel libattica0 zlib-devel \ pocketsphinx sphinxbase sphinxtrain
If you use a different language than english we recommend installing the appropriate kde-l10n package. You can list all available translation using the following command:
Debian based Systems: apt-cache search kde-l10n
Choose your translation and install it.
Debian based Systems: sudo apt-get install kde-l10n-<countrycode>
You also need Qwt 6. Up do date distributions have packages ((K)Ubuntu since 11.10). Older versions of Qwt are not supported. You can find the latest version on the projects sourceforge site.
Now check out a current copy of Simon from Git using the following command:
git clone git://anongit.kde.org/simon simonsource
This will create a new directory called simonsource in your current working directory containing the Simon source code.
You can now make your changes. If you want to compile and install your new Simon version, just call the build-script in the simonsource directory:
Other distributions: ./build.sh
You now have compiled and installed Simon. Please continue to install HTK on page Installation > Linux > HTK installation.
This is how Frederik thinks kde applications should be built (works for me TM). Your milage may vary.
Needed: the packages as listed above.
Goal: install Simon in a custom directory and make it run from there without interfering with the rest of the system.
I have a directory "~/simon". There I have:
~/simon/simonsource ~/simon/build ~/simon/install
Howto (copy and paste this in a shell):
mkdir ~/simon cd ~/simon git clone git://anongit.kde.org/simon simonsource mkdir build cd build cmake ../simonsource -DCMAKE_INSTALL_PREFIX=~/simon/install make make install
Script to set up the environment (put this in a file "simonenv" and in a shell run "source simonenv"):
echo "Setting up Simon env..." export SIMONPATH=~/simon/install #adjust to the path you want to use export PATH=$SIMONPATH/bin:$PATH export LD_LIBRARY_PATH=$SIMONPATH/lib64:/usr/lib/x86_64-linux-gnu # this is on a 64 bit kubuntu export KDEDIR=$SIMONPATH export KDEDIRS=$KDEDIR export QT_PLUGIN_PATH=$KDEDIR/lib/kde4:$KDEDIR/lib64 export XDG_DATA_DIRS=$SIMONPATH/share:XDG_DATA_DIRS kbuildsycoca4
You need one of the two backends listed below for Simon to be functional.
Download the latest versions of SphinxBase, Pocketsphinx and SphinxTrain from the CMU SPHINX homepage and install them. It is likely, that your distribution also provides packages for SPHINX. If that is the case, it is usually preferable to install those instead of compiling SPHINX from source.
Register at http://htk.eng.cam.ac.uk/register.shtml (free) and download the latest source version of the HTK from "http://htk.eng.cam.ac.uk/ftp/software/". Compile and install it. Then, download the latest version of Julius from their homepage and install it.