Simon/Development Environment
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.
Windows
The following tutorial will describe how to install everything needed to get started on developing on Simon.
KDE
Please set up the emerge environment by following the tutorial on techbase.
Backend
You need at least one of the backends below for a working Simon installation
SPHINX
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.
HTK & Julius
- Register at http://htk.eng.cam.ac.uk/register.shtml (free)
- Download the latest windows binary version from "http://htk.eng.cam.ac.uk/ftp/software/%22. The file will be named "htk-3.x-windows-binary.zip". At the moment the latest binary release for windows is the version 3.3. It can be found at this direct link: "http://htk.eng.cam.ac.uk/ftp/software/htk-3.3-windows-binary.zip%22
- This archive contains a folder "htk". Copy the contents of this folder to "C:\KDE\bin".
- You can now delete the archive.
- This concludes the installation of the HTK.
- Download the latest windows binary version of Julius from "http://julius.sourceforge.jp/en_index.php".
- The downloaded ZIP archive contains a folder "bin". Copy the contents of that folder to "C:\KDE\bin".
- You can now delete the archive.
- This concludes the installation of Julius.
Simon
In a KDE shell (see the KDE section above) simply run "emerge simon" to build and install Simon.
Julius
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.
Linux
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
Requirements
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 kdeartwork libqwt-dev \ kdelibs5-dev libxtst-dev libqt4-sql-sqlite libphonon-dev libattica0.4 libattica-dev zlib1g-dev \ libasound2-dev julius libpocketsphinx-dev libpocketsphinx3 sphinxtrain libsphinxbase-dev \ libsphinxbase3
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.
Compiling
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:
Ubuntu: ./build_ubuntu.sh
Other distributions: ./build.sh
You now have compiled and installed Simon. Please continue to install HTK on page Installation > Linux > HTK installation.
Building in a custom prefix
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
Backends
You need one of the two backends listed below for Simon to be functional.
SPHINX
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.
HTK & Julius
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/%22. Compile and install it. Then, download the latest version of Julius from their homepage and install it.
Mac OS X
Except for CMU SPHINX, all dependencies for Simon can be found and installed through MacPorts.
Set up MacPorts and install qt4-mac-sqlite3-plugin kde4-runtime git and qwt-devel. This will pull in a whole range of dependencies.
Clone Simon master:
git clone git://anongit.kde.org/simon simonsource
And run the following script in the new folder "simonsource":
./build_ubuntu.sh # (yes, the Ubuntu script is appropriate for Mac OS X)
Backends
You need one of the two backends listed below for Simon to be functional.
SPHINX
Download the latest development versions of SphinxBase, Pocketsphinx and SphinxTrain from their SVN (you can find them on the CMU SPHINX homepage, the latest released versions 0.8 will not work) and install them. You need to rebuild Simon after you installed them.
Install dependencies:
sudo port install swig swig-python
Install SPHINX:
for i in sphinxbase pocketsphinx sphinxtrain; do cd $i ./autogen.sh --prefix=/opt || die make || die sudo make install || die cd - done
HTK & Julius
Register at [1] (free) and download the latest source version of the HTK from [2]. Compile and install it.
Then, download the latest version of Julius from MacPorts.