desktop/simon: Added (speech recognition software)

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
Roberto Metere 2011-12-18 00:24:32 -06:00 committed by Robby Workman
parent b77ef08704
commit 2edd4d3645
6 changed files with 186 additions and 0 deletions

3
desktop/simon/README Normal file
View file

@ -0,0 +1,3 @@
simon is an open-source speech recognition program.
Be sure to read README.setup after installing.

View file

@ -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!

9
desktop/simon/doinst.sh Normal file
View file

@ -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

View file

@ -0,0 +1,96 @@
#!/bin/sh
# Slackware build script for simon
# Copyright (c) 2011, Roberto Metere <roberto@metere.it>
# 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}

10
desktop/simon/simon.info Normal file
View file

@ -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"

19
desktop/simon/slack-desc Normal file
View file

@ -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: