From 2edd4d3645c7387a68ad8b200328092389aab4f2 Mon Sep 17 00:00:00 2001 From: Roberto Metere Date: Sun, 18 Dec 2011 00:24:32 -0600 Subject: [PATCH] desktop/simon: Added (speech recognition software) Signed-off-by: Robby Workman --- desktop/simon/README | 3 ++ desktop/simon/README.setup | 49 +++++++++++++++++ desktop/simon/doinst.sh | 9 ++++ desktop/simon/simon.SlackBuild | 96 ++++++++++++++++++++++++++++++++++ desktop/simon/simon.info | 10 ++++ desktop/simon/slack-desc | 19 +++++++ 6 files changed, 186 insertions(+) create mode 100644 desktop/simon/README create mode 100644 desktop/simon/README.setup create mode 100644 desktop/simon/doinst.sh create mode 100644 desktop/simon/simon.SlackBuild create mode 100644 desktop/simon/simon.info create mode 100644 desktop/simon/slack-desc diff --git a/desktop/simon/README b/desktop/simon/README new file mode 100644 index 0000000000..f956558811 --- /dev/null +++ b/desktop/simon/README @@ -0,0 +1,3 @@ +simon is an open-source speech recognition program. + +Be sure to read README.setup after installing. diff --git a/desktop/simon/README.setup b/desktop/simon/README.setup new file mode 100644 index 0000000000..b14f2d7f3d --- /dev/null +++ b/desktop/simon/README.setup @@ -0,0 +1,49 @@ +You may want to install the Hidden Markov Model Toolkit (HTK) which is +covered by a license which does not permit free distribution. However, +you need HTK if you want to train your acoustic model. You can obtain +HTK from here (but only after registering): http://htk.eng.cam.ac.uk/ + +If you are creating solutions which will be used by more than one user, or +simply don't have the time to train the system, you can use static base models. +Static models are used as-is and are not modified by simon in any way. +Because of this, it is important that the selected base model matches your +voice as closely as possible. + +Even if you use a static model, you NEED to get an acoustic model from the web. +You can download some prebuilt models at http://www.voxforge.org/ + +BEGINNER GUIDE: +If you are a beginner and you don't know exactly how a speech recognition works, +but want just to enable this "cool feature", you may want to follow these steps +(static model), in order to make simon operative (English). + +This is to help you to your first approach to this program, next you will +be able to customize more and more! + + 0. Browse acoustic models from + http://www.repository.voxforge1.org/downloads/Nightly_Builds/current/ + Download "HTK_AcousticModel-2010-12-16_16kHz_16bit_MFCC_O_D.tgz" + 1. Uncompress the model where you want. + 2. Run "ksimond" (not from root). You need to have the daemon simond running. + 3. Configure "simond". (ksimond -> configuration -> simond). Add a username and a + password which are going to be used by simon. + 4. Run "simon". An assistant will appear. Click "Next" once to jump to "Scenarios" + section of the assistant. + 5. Get some scenario. You need at least one, download a scenario in English. + 6. Configure base model. Choose "Static model" type. From the uncompressed acoustic + model of step 1 choose: + - "hmmdefs" file for HMM definition + - "tiedlist" file for Tiedlist + - "macros" file for Macros + - "stats" file for Stats + Click "Ok", then "Next". + 7. "Server" and "Sound devices" sections configuration depends on what hardware + and software you're going to use. + You can safely just press "Next" to leave them unchanged. + 8. Adjust the volume of your microphone (or any input device you're going to use) + I suggest you to get the rumor at few percentage (3%-4%) and to get + "Volume correct" while speaking (I boosted my microphone for that) + 9. Optionally perform a training of speechable texts of your scenario to put your + voice in training data for a better recognition. +10. Speak! + diff --git a/desktop/simon/doinst.sh b/desktop/simon/doinst.sh new file mode 100644 index 0000000000..3e5691a052 --- /dev/null +++ b/desktop/simon/doinst.sh @@ -0,0 +1,9 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi diff --git a/desktop/simon/simon.SlackBuild b/desktop/simon/simon.SlackBuild new file mode 100644 index 0000000000..366b89d97f --- /dev/null +++ b/desktop/simon/simon.SlackBuild @@ -0,0 +1,96 @@ +#!/bin/sh + +# Slackware build script for simon + +# Copyright (c) 2011, Roberto Metere +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=simon +VERSION=0.3.0 +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 +cd $PRGNAM-$VERSION +chown -R root:root . +chmod -R u+w,go+r-w,a-s . + +mkdir build +cd build/ + cmake \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIB_SUFFIX=${LIBDIRSUFFIX} \ + -DMAN_INSTALL_DIR=/usr/man \ + -DCMAKE_BUILD_TYPE=Release \ + ../ + make VERBOSE=1 + make install DESTDIR=$PKG +cd .. + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a Changelog HTK_README.txt LICENCE.txt README.txt $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/desktop/simon/simon.info b/desktop/simon/simon.info new file mode 100644 index 0000000000..5e5b376f40 --- /dev/null +++ b/desktop/simon/simon.info @@ -0,0 +1,10 @@ +PRGNAM="simon" +VERSION="0.3.0" +HOMEPAGE="http://www.simon-listens.org" +DOWNLOAD="http://downloads.sourceforge.net/speech2text/simon-0.3.0.tar.bz2" +MD5SUM="df1c831dfcb861e7039a5891faa8f095" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +MAINTAINER="Roberto Metere" +EMAIL="roberto@metere.it" +APPROVED="rworkman" diff --git a/desktop/simon/slack-desc b/desktop/simon/slack-desc new file mode 100644 index 0000000000..4253c4c596 --- /dev/null +++ b/desktop/simon/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler--------------------------------------------------------| +simon: simon (speech recognition software) +simon: +simon: simon is the main front end for the simon open source speech +simon: recognition solution. With a few words (Numbers from 0 to 9, +simon: "up", "down", etc.) you can control a number of programs like +simon: a webbrowser, e-mail client, mediacenter, etcetera... +simon: +simon: http://www.simon-listens.org/ +simon: +simon: +simon: