Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

Overview

The pocketsphinx-sonic-server is a wrapper over the pocketsphinx speech recognition system which allows us to communicate with it using the sonic protocol. PocketSphinx itself is a small-footprint continuous speech recognition system, suitable for handheld and desktop applications. We can use a client such as AcquireSpeech in order to communicate with pocketsphinx-sonic-server and get the text for the speech.

It is fairly easy to set up a language model for pocketsphinx and use it for speech recognition.

Quick facts:

Users

Using command line parameters

The applications expects a config file to be specified on the command line as follows

  • -c [file-name]
    This config file should contain the following information specified as below
  • -fwdflat
  • -bestpath
  • -lm [the language model file to be used]
  • -dict [the dictionary to be used]
  • -hmm [the acoustic mode]
    By default, the Virtual Human Toolkit uses the wall street journal acoustic model that comes with pocketsphinx and the CMU pronunciation dictionary. You can change this to use your own.
  • -samprate [the sampling rate]

Creating a language model for pocketsphinx-sonic-server

You will need to follow the below steps for creating your own language model for use with pocketsphinx-sonic-server. First of all, we will need the "jasr" tool. This tool is present under lib/jasr in the virtual human toolkit folder. To make the actual Language-Models, you can use 'cmuslm' or 'srilm', which are both included within the jasr folder. However 'cmuslm' currently only works for Linux and 'srilm' works for linux and Windows XP.

You should do the following

  • Go to the "\lib\jasr\bin\srilm" folder within the toolkit install
  •  run the following command

     create-lm.bat <corpus.txt> <output.arpa>

     where,
    - corpus.txt is a  file containing individual lines(text) that comprise the words that make up the vocabulary for your domain
    - output.arpa is the name of the output language model file
Once you create the language model, you just need to point to it in your config file that is input to pocketsphinx-sonic-server and it's good to go.

Developers

How can programmers modify or add functionality? 

Known Issues

List of common known issues, like why something isn't working, why it's implemented in a certain way, limitations, etc. If there are major JIRA tickets, link to those as well. 

Message API

Receives -

  • vrAllCall
  • vrKillComponent

Sends -

  • vrProcEnd

FAQ

See Main FAQ for frequently asked questions regarding the installer. Please use the Google Groups emailing list for unlisted questions.

  • No labels