Developing Speech Enabled Android Applications

1 Introduction

The Text-To-Speech (TTS) library is allows developers to add speech to their applications. Developers give the TTS object a text string, and the TTS will take care of converting that string to text and speaking it to the user.

The TTS library is designed such that different underlying speech engines can be used without affecting the higher level application logic. Currently, a port of the eSpeak engine is available.

2 Requirements

Using the eSpeak engine requires the user to have an SD card with free space available that the phone can access. The voice data for eSpeak will be downloaded and unzipped onto the SD card when the TTS is first run.

Note that if the SD card is mounted on the computer, it will not be accessible to the phone. You must unmount the SD card from the computer before the TTS will work properly.

3 Setting Up an Eclipse Project That Uses the TTS

  1. Setup an Android project as you would normally.
  2. Go to Project > Properties > Java Build Path > Libraries and click on "Add External JARs..." Then add in the TTS_library_stub.jar file.
  3. Start coding!

4 A Step-By-Step Tutorial To Get You Started

This tutorial will take you step-by-step through writing a simple Hello World application. It assumes that you have Eclipse setup to work with the Android SDK already.

  1. Get the TTS_library_stub.jar file from the downloads area. If you want to develop against the upcoming release, get the release candidate version by grabbing the _rc.jar and installing the _rc.apk on your phone. If you want to develop against the version of the TTS that is currently on Market, get the _market.jar and install the TTS from the Android Market. You should always build your app using the _market version before you release it on the Market; otherwise, there is a high probability that your app will not work correctly as most users will be on the Market version of the TTS and not the release candidate.
  2. Start Eclipse. Go to "File" > "New Project" > "Project..." and choose "Android Project" under "Android". Fill out the information and click "Finish" to generate the skeleton for a project. The rest of this tutorial assumes that you named your application "HelloWorldTTS".
  3. Select your project in the "Package Explorer", then go to "Project" > "Properties". Select "Java Build Path" and click on the "Libraries" tab. Click on "Add external JARs..." and select the TTS_library_stub.jar from step 1.
  4. You should see two Java files in your project: HelloWorldTTS.java and R.java. Open HelloWorldTTS.java and do the following: -In the imports section at the top of the file, add this line:
    import com.google.tts.TTS;
    
    -After the line "public class HelloWorldTTS extends Activity {", add this line:
    private TTS myTts;
    
    -Add the following as the last line of the onCreate method:
    myTts = new TTS(this, ttsInitListener, true);
    
    -After the onCreate method, add these lines:
        private TTS.InitListener ttsInitListener = new TTS.InitListener() {
            public void onInit(int version) {
              myTts.speak("Hello world", 0, null);
            }
          };
    
  5. Now you should have a HelloWorldTTS.java that looks something like this.
  6. Build this app, install it on your Android device, and run it. You should hear the TTS say "hello world" if you have the TTS library installed on the phone and your SD card contains the needed voice data files.
  7. Congratulations! You just wrote your first TTS-enabled Android app! Please see the documentation on the TTS and look at other apps in the eyes-free project to learn more about how to use the TTS.
Notes:

5 Tips and Tricks on Using the TTS in Your App

For some tips and tricks on using the TTS in your app, please see the usage notes here.

Author: Charles L. Chen <clchen@google.com>

Date: 2008/12/12 10:20:46