Package com.sun.speech.freetts.en.us
Class CMULexicon
- java.lang.Object
-
- com.sun.speech.freetts.lexicon.LexiconImpl
-
- com.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
Constructors Constructor Description CMULexicon()
Creates the default CMU Lexicon which is a binary lexiconCMULexicon(java.lang.String basename)
Creates the CMU Lexicon which is a binary lexiconCMULexicon(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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.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
hasVowel(java.util.List phones)
Determines if there is a vowel in given list of phones.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 vowelstatic 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
-
-
-
-
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 hereaddendaURL
- the database addenda is loaded from hereletterToSoundURL
- the letter to sound rules are loaded from herebinary
- iftrue
the input data are loaded as binary ; otherwise iffalse
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 farwordPhones
- the phones for the whole wordcurrentWordPhone
- the word phone in question- Returns:
true
if the word phone in question is on a syllable boundary; otherwisefalse
.
-
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; otherwisefalse
.
-
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 checkindex
- start checking at this index- Returns:
true
if a vowel is found; otherwisefalse
.
-
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; otherwisefalse
.
-
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 otherwisefalse
.
-
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
-
-