Simon/Development Environment

    From KDE UserBase Wiki

    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

    1. Register at http://htk.eng.cam.ac.uk/register.shtml (free)
    2. 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
    3. This archive contains a folder "htk". Copy the contents of this folder to "C:\KDE\bin".
    4. You can now delete the archive.
    5. This concludes the installation of the HTK.
    1. Download the latest windows binary version of Julius from &quothttp://julius.sourceforge.jp/en_index.php".
    2. The downloaded ZIP archive contains a folder "bin". Copy the contents of that folder to "C:\KDE\bin".
    3. You can now delete the archive.
    4. 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.