PocketSphinx (and Flite)
- Web site : http://cmusphinx.sourceforge.net
PocketSphinx is one of Carnegie Mellon University's open source large vocabulary, speaker-independent continuous speech recognition engine. CMU Pocketsphinx is the lightweight version of Sphinx-4 the main open source ASR system used in ILA and is optimized for mobile and low-performance hardware like the Raspberry Pi or Android.
List of requested packages:
- Sphinx Base V0.4.99 : sphinxbase-0.4.99-latest.tar.gz → 5prealpha
- Pocket Sphinx : pocketsphinx-0.5.99-latest.tar.gz → 5prealpha
- uniMRCP V1.3.0 : unimrcp-1.3.0.tar.gz
- uniMRCP deps V1.3.0 : unimrcp-deps-1.3.0.tar.gz
- Asterisk 11 : asterisk-11-current.tar.gz
- Asterisk uniMRCP V1.3.1 : asterisk-unimrcp-1.3.1.tar.gz
- Flite V2.0.0 : flite-2.0.0-release.tar
Build the uniMRCP with PocketSphinx and Flite:
Follow the uniMRCP documented steps : https://code.google.com/p/unimrcp/wiki/PocketSphinxPlugin
- On Debian add: python, python-dev, swig.
- Compile SphinxBase (configure + make)
- Compile PocketSphinx (configure + make)
- Compile Flite (configure CFLAGS=“-fPIC” + make)
- Compile unimrcp-deps if not already done (script build-dep-libs.sh)
- Patch the uniMRCP with the files (in patchs/asterisk-unimrcp CVS module)
- unimrcp/configure.ac
- unimrcp/plugins/Makefile.am
- unimrcp/plugins/mrcp-pocketsphinx (directory)
- unimrcp/plugins/mrcp-flite (directory)
- unimrcp/build/acmacros/*.m4
- Change directory to unimrcp, and execute the bootstrap
- Compile mrcp-pocketsphinx with :
- ./configure –enable-pocketsphinx-plugin –with-pocketsphinx=/datas/voicebrowser/pocketsphinx-5prealpha –with-sphinxbase=/datas/voicebrowser/sphinxbase-5prealpha
- Compile mrcp-flite with :
- ./configure –enable-flite-plugin –with-flite=/datas/voicebrowser/flite-2.0.0-release CFLAGS=“-fPIC”
Installation and configuration:
Over the uniMRCP standard installation, create those directories if necessary in /usr/local/unimrcp
- /bin : copy the binaries unimrcpserver and unimrcpclient from unimrcp-x.x.x/platforms/*.
- /plugin : copy the libraries generated from unimrcp-x.x.x/plugins/*/.libs/*/so to this directory.
- /conf : add the pocketsphinx.xml from mrcp-pocketsphinx/conf and unimrcpserver.xml configuration files (from patchs/asterisk-unimrcp CVS module).
- /var : create only.
- /data : Copy the models and the dictionaies.
UniMRCP Server executable help line:
root@borja:~# /usr/local/unimrcp/bin/unimrcpserver --help * Copyright 2008-2014 Arsen Chaloyan * * Licensed under the Apache License, Version 2.0 (the License); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an AS IS BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. Usage: unimrcpserver [options] Available options: -r [--root-dir] path : Set the path to the project root directory. -c [--dir-layout] path : Set the path to the dir layout config file. (takes the precedence over --root-dir option) -l [--log-prio] priority : Set the log priority. (0-emergency, ..., 7-debug) -o [--log-output] mode : Set the log output mode. (0-none, 1-console only, 2-file only, 3-both) -d [--daemon] : Run as a daemon. -v [--version] : Show the version. -h [--help] : Show the help.
Start the uniMRCP server:
For debugging :
/usr/local/unimrcp/bin/unimrcpserver -r /usr/local/unimrcp/
Run as a daemon:
/usr/local/unimrcp/bin/unimrcpserver -r /usr/local/unimrcp/ -d