com.sun.speech.freetts.en.us
Class CMULexicon

java.lang.Object
  extended bycom.sun.speech.freetts.lexicon.LexiconImpl
      extended bycom.sun.speech.freetts.en.us.CMULexicon
All Implemented Interfaces:
Lexicon
Direct Known Subclasses:
CMUTimeLexicon

public class CMULexicon
extends LexiconImpl

Provides a CMU lexicon-specific implementation of a Lexicon that is stored in a text file.


Field Summary
 
Fields inherited from class com.sun.speech.freetts.lexicon.LexiconImpl
tokenizeOnLoad, tokenizeOnLookup
 
Constructor Summary
CMULexicon()
          Creates the default CMU Lexicon which is a binary lexicon
CMULexicon(java.lang.String basename)
          Creates the CMU Lexicon which is a binary lexicon
CMULexicon(java.lang.String basename, boolean useBinaryIO)
           
CMULexicon(java.net.URL compiledURL, java.net.URL addendaURL, java.net.URL letterToSoundURL, boolean binary)
          Creates a CMULexicon based upon the given compiled and addenda DBs and the given letter to sound rules
 
Method Summary
static CMULexicon getInstance(boolean useBinaryIO)
          Get the CMULexicon.
static CMULexicon getInstance(java.lang.String basename, boolean useBinaryIO)
          Get the CMULexicon.
protected static int getSonority(java.lang.String phone)
          Determines the sonority for the given phone.
protected static boolean hasVowel(java.util.List phones)
          Determines if there is a vowel in given list of phones.
protected static boolean hasVowel(java.lang.String[] phones, int index)
          Determines if there is a vowel in the remainder of the array, starting at the given index.
protected static boolean isSilence(java.lang.String phone)
          Determines if the given phone represents a silent phone.
 boolean isSyllableBoundary(java.util.List syllablePhones, java.lang.String[] wordPhones, int currentWordPhone)
          Determines if the currentPhone represents a new syllable boundary.
protected static boolean isVowel(java.lang.String phone)
          Determines if the given phone is a vowel
static void main(java.lang.String[] args)
          Provides test code for the CMULexicon.
 
Methods inherited from class com.sun.speech.freetts.lexicon.LexiconImpl
addAddendum, compare, createLexicon, dumpBinary, fixPartOfSpeech, getPhones, getPhones, getPhones, getPhones, getPhones, isLoaded, load, loadTextLexicon, parseAndAdd, removeAddendum, setLexiconParameters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CMULexicon

public CMULexicon(java.net.URL compiledURL,
                  java.net.URL addendaURL,
                  java.net.URL letterToSoundURL,
                  boolean binary)
Creates a CMULexicon based upon the given compiled and addenda DBs and the given letter to sound rules

Parameters:
compiledURL - the compiled database is loaded from here
addendaURL - the database addenda is loaded from here
letterToSoundURL - the letter to sound rules are loaded from here
binary - if true the input data are loaded as binary ; otherwise if false the input data are loaded as text.

CMULexicon

public CMULexicon()
Creates the default CMU Lexicon which is a binary lexicon


CMULexicon

public CMULexicon(java.lang.String basename)
Creates the CMU Lexicon which is a binary lexicon

Parameters:
basename - the basename for the lexicon.

CMULexicon

public CMULexicon(java.lang.String basename,
                  boolean useBinaryIO)
Method Detail

getInstance

public static CMULexicon getInstance(boolean useBinaryIO)
                              throws java.io.IOException
Get the CMULexicon.

Parameters:
useBinaryIO - if true use binary IO to load DB
Throws:
java.io.IOException - if problems occurred while reading the data

getInstance

public static CMULexicon getInstance(java.lang.String basename,
                                     boolean useBinaryIO)
                              throws java.io.IOException
Get the CMULexicon.

Parameters:
useBinaryIO - if true use binary IO to load DB
Throws:
java.io.IOException - if problems occurred while reading the data

isSyllableBoundary

public boolean isSyllableBoundary(java.util.List syllablePhones,
                                  java.lang.String[] wordPhones,
                                  int currentWordPhone)
Determines if the currentPhone represents a new syllable boundary.

Parameters:
syllablePhones - the phones in the current syllable so far
wordPhones - the phones for the whole word
currentWordPhone - the word phone in question
Returns:
true if the word phone in question is on a syllable boundary; otherwise false.

isSilence

protected static boolean isSilence(java.lang.String phone)
Determines if the given phone represents a silent phone.

Parameters:
phone - the phone to test
Returns:
true if the phone represents a silent phone; otherwise false.

hasVowel

protected static boolean hasVowel(java.lang.String[] phones,
                                  int index)
Determines if there is a vowel in the remainder of the array, starting at the given index.

Parameters:
phones - the set of phones to check
index - start checking at this index
Returns:
true if a vowel is found; otherwise false.

hasVowel

protected static boolean hasVowel(java.util.List phones)
Determines if there is a vowel in given list of phones.

Parameters:
phones - the list of phones
Returns:
true if a vowel is found; otherwise false.

isVowel

protected static boolean isVowel(java.lang.String phone)
Determines if the given phone is a vowel

Parameters:
phone - the phone to test
Returns:
true if phone is a vowel otherwise false.

getSonority

protected static int getSonority(java.lang.String phone)
Determines the sonority for the given phone.

Parameters:
phone - the phone of interest
Returns:
an integer that classifies phone transitions

main

public static void main(java.lang.String[] args)
Provides test code for the CMULexicon.
Usage:
  com.sun.speech.freetts.en.us.CMULexicon [options]

 Where options is any combination of:

 -src path
 -dest path
 -generate_binary [base_name]
 -compare
 -showtimes