Patent ID: 8190420
Filing Date: 2012-05-29
Classification: G10L

Abstract:
1. A language identification engine, comprising: a front end module having an input configured to receive an audio stream that includes a spoken language that corresponds to at least one of a set of two or more candidate languages being spoken in the audio stream under analysis; a universal phoneme decoder that contains a universal phoneme set that 1) represents all phonemes occurring in the set of two or more candidate languages, and 2) captures phoneme correspondences across languages, such that a set of unique phoneme patterns and probabilities are calculated in order to identify a most likely phoneme occurring each time in the audio stream in the set of two or more candidate languages; one or more statistical language models having logic configured to supply to a run-time language identifier module probabilities of how linguistically likely a particular uttered phoneme identified by the universal phoneme decoder comes from a particular candidate language based on an identified sequence of phonemes, wherein each statistical language model uses linguistic features from the identified phonemes from the universal phoneme decoder including the set of unique phoneme patterns created for each language in the set to distinguish between spoken human languages in the set of two or more candidate languages; a bank of two or more human language specific databases for the one or more statistical language models to reference, wherein the databases are pre-filled with phoneme and phoneme sequences for a particular language in the set of two or more candidate languages, and each of the human language specific databases received the phoneme and phoneme sequences from a phoneme output from the universal phoneme decoder independent of which spoken language in the set of two or more candidate languages was being trained on; wherein the run-time language identifier module identifies a particular human language being spoken in the received audio stream from the set of two or more candidate languages by utilizing the one or more statistical language models; and wherein the modules making up the language identification engine are implemented in logic blocks of electronic hardware, software coding, and any combination of the two, where portions implemented in software coding are stored in an executable format by a processor on a non-transitory machine-readable medium.