Logo

phoneme_estimator Class Reference

#include <phone_estimate.h>


Detailed Description

the phoneme estimator class is used to estimate the timing of phonemes in a word.

SAPI 5.1 does not provide phoneme timing details. we must estimate them.

For the english version, we have pulled a list of phonemes from the SAPI SDK documentation, we assign them values based on their voicing characteristics and use this information to spread the phonetical results in a way that should be similar to normal speech patterns.

The phoneme estimator abstracts that process. the software will still work without a specification for all the phonemes in the engine, but it can't use heuristics to generate the timing information, instead it will just evenly spread the phonemes across the word.

The default phoneme_estimator uses the SAPI English set.

The phoneme estimator also has the ability to transform the phonemes based on information in the engine_phoneme_spec. This is kind of a hack. I want to transform the phonemes into the Annosoft Phoneme Labels so that they can be better viewed in The Lipsync Tool. Other implementations may want to change this.

Todo:
It would be nice to load the engine_phoneme_spec from an auxillary file so that we wouldn't need to change the code to support other SAPI speech engines
See also:
run_sapi_textbased_lipsync for example code

run_sapi_textless_lipsync for example code

Definition at line 89 of file phone_estimate.h.

Public Member Functions

 phoneme_estimator ()
 default constructor. Assumes SAPI 5.1 english phoneme set
 phoneme_estimator (engine_phoneme_spec *pSpec)
 construct the phoneme estimator with the list of expected phonemes.
void EstimatePhonemeAlignment (alignment_result &align)
 This method estimates the phoneme durations given an alignment result.

Static Public Member Functions

static void TrivialPhonemeAlignment (alignment_result &align)
 This static method estimates the phoneme durations given an alignment result.

Protected Attributes

engine_phoneme_specm_pSpec
 the list of phonemes we expect to see in EstimatePhonemeAlignment


The documentation for this class was generated from the following files:

Copyright (C) 2002-2005 Annosoft LLC. All Rights Reserved.
Visit us at www.annosoft.com