Osmopet - the open source mobile personal translator

About the project

Osmopet poster

Osmopet brochure PDF (warning: large file)

Osmopet is a speech-to-speech translation system designed to run on Nokia N800s or N810s using Maemo OS2008. There are three main components:

  • PocketSphinx - used for speech recognition
  • GoogleTranslate - used for translation
  • Flite - used for speech synthesis

Source code, binaries, and supporting libraries

Installing

These are preliminary build instructions. The complete source and binaries will be added the APT repository at phone.cs.berkeley.edu soon.

  1. Install PocketSphinx - for the moment, this is accomplished by un-tarring the sphinx libraries tarball in your /usr/local/lib directory
  2. Install the OSSAudio plugin for GStreamer - this is used to access the audio hardware
    apt-get install gstreamer0.10-plugins-good-extra
  3. Install Flite - this is used to synthesize
    apt-get install flite
  4. Install the Jalimo JVM - this is needed to run Java code for the Google Translate portion and for the user interface: installing Jalimo
  5. Install the binaries - for the moment, this is accomplished by un-zipping the binaries zip in the directory where you want to run it

Running

Go to the directory where you unzipped the binaries and type:

./run_osmopet.sh

Building

You probably will not want to attempt this, as the setup required to get this to build under scratchbox is very tricky.

If you decide to try it anyway, you will need to do a few things:

  • Checkout and build sphinxbase and pocketsphinx 0.5. Instructions about it are here Robust Group Tutorial. You will probably want to get an older version that you know works, so I recommend using
svn -r 8248 co https://cmusphinx.svn.sourceforge.net/svnroot/cmusphinx/trunk/sphinxbase
svn -r 8248 co https://cmusphinx.svn.sourceforge.net/svnroot/cmusphinx/trunk/pocketsphinx
  • Next, you will need to install the half-broken Jalimo SDK Half-way working Jalimo SDK
  • Lastly, you can try building the source using the build scripts called build.sh found in the source code directories. Chances are, you will probably have to fiddle a bit with your library paths to get it to build.
  • NOTE: You cannot run osmopet under scratchbox because of the half-assed implementation of Jalimo, but you can build it under scratchbox then run it on the N800/N810. Also note that if you wish to do any development, the partial implementation of JNI in Jalimo does not allow you to create VMs or access the VM from spawned threads; thus, I have designed the current implementation so the program is started in Java and the VM is passed via JNI native function calls to the main C thread. This allows C to call back to the Java and vice-versa; unfortunately none of the spawned threads (such as the gstreamer event handler buses) are able to directly interact with the VM.
 
project/osmopet.txt · Last modified: 2008/05/23 17:54 by horrigan
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki