Menu

Setup

Timo Baumann

Installation Guide

Depending on how familiar you are with version control, you should decide to either download a current version of InproTK, or to check it out from git.

  1. Download https://bitbucket.org/inpro/inprotk/get/develop.zip and unpack it into a directory of your choice; or:
  2. clone the repository and checkout the develop branch: git fetch && git checkout develop

Next, import the project into eclipse and/or build the software with ant:

  1. open up eclipse, select File->Import->Existing Projects into Workspace, navigate to the directory that contains inprotk and hit OK
  2. open up a terminal and use ant to build InproTK: type ant and hit return.

Get started:

InproTK comes with a number of pre-configured launch configurations. You can access them both from Eclipse or Ant:

  1. open the folder "LaunchConfigurations", right-click the desired launch configuration and select run as... OR select File->Import->Run->Existing Launch Configurations and select the folder
  2. type ant <tab>; your shell will likely offer the available configurations as possible completions.

Dependencies

All required libraries are included in the zip file / contained in the lib/-folder.

Adding support for speech input: Acoustic Models

InproTK comes with (moderately performing) acoustic models for German in the jar lib/Cocolab_DE_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar, which also contains a n-gram language model for talking about Pentomino pieces. To really use InproTK, you will need to train your own n-gram model or write your own grammar:

  • use the -lm switch in SimpleReco to switch to a different n-gram model; the location of the model is given as a URL: java SimpleReco -lm file:/file/to/my/model.lm
  • use the -gr switch in SimpleReco to use a grammar in JSGF format; the location of the grammar is given as a URL: java -ea SimpleReco -lm http://www.ling.uni-potsdam.de/~timo/code/inprotk/demo/digits.gram
  • caveat: the -gr switch only works with assertions enabled -- this also means that you can't use grammars in anything but German right now. Please ask for help if this poses a problem.

Other acoustic models compatible with Sphinx-4 can be used as well. For example, to use the WSJ models that come with Sphinx-4 for English language support:

  • locate WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar from the Sphinx-4 distribution and add it to your classpath (use Sphinx4-1.0beta4, the more up-to-date Sphinx' distributions require somewhat different paths)
  • change src/inpro/apps/config.xml: replace inpro/apps/sphinx-de.xml with inpro/apps/sphinx-en.xml in the entity definition of sphinxlang; re-build with ant (or just copy this file to bin/inpro/apps/config.xml)
  • find a corresponding SLM, for example hellongram.trigram.lm from the Sphinx distribution
  • put the path to your SLM into inpro/apps/sphinx-en.xml (or specify the LM from SimpleReco's command line directly using the -lm switch)
  • InproTK cannot run with assertions enabled unless it uses German

Adding support for speech output: MaryTTS

InproTK relies on MaryTTS for speech output and supports different modes of accessing MaryTTS. InproTK now uses Mary5 and comes with the relevant libraries. Some support for external Mary servers is still available but you are unlikely to need that. A voice for German comes with InproTK.

The synthesis language can be selected by setting inpro.tts.language (defaults to "de"); for languages other than German, you will have to disable Java assertions.
The synthesis voice is selected by setting the properties inpro.tts.voice. For the internal mode, you must select an HSMM voice (defaults to bits1-hsmm).

For additional voices (or different languages) it's easiest to download and install MaryTTS, download the voice (your choice is restricted to HSMM voices!), to located the downloaded JAR file with the voice parameters and to put it into the classpath for InproTK. You then select this voice by setting the inpro.tts.* variables accordingly.

The mode of Mary intergration is selected by the Java property mary.version which is to be set to "3" "4" or "internal" (default).

The separate servers allow Mary to be installed on any server in the network. Mary's installer uses whitespace in the pathname ("Mary TTS"), which may be problematic; if you run into troubles, please try to change Mary's installation path to not contain any whitespace characters.

There may be issues with the poweron-selftest of HMMSynthesis. To resolve this issue, please change modules.poweronselftest in ${mary.base}/conf.marybase.config from auto to false.

For the server modes, you should provide the Java properties mary.host (which defaults to localhost) and mary.port (which defaults to 59125).


Related

Wiki: Home
Wiki: Tutorial

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.