public class BatchCMN extends BaseDataProcessor
The CMN processing subtracts the mean from all the
Data objects between a
DataStartSignal and a
DataEndSignal or between a
SpeechStartSignal and a
SpeechEndSignal. BatchCMN will read in all the
objects, calculate the mean, and subtract this mean from all the
Data objects. For a given utterance, it will
only produce an output after reading all the incoming data for the utterance. As a result, this process can introduce
a significant processing delay, which is acceptable for batch processing, but not for live mode. In the latter case,
one should use the
CMN is a technique used to reduce distortions that are introduced by the transfer function of the transmission channel (e.g., the microphone). Using a transmission channel to transmit the input speech translates to multiplying the spectrum of the input speech with the transfer function of the channel (the distortion). Since the cepstrum is the Fourier Transform of the log spectrum, the logarithm turns the multiplication into a summation. Averaging over time, the mean is an estimate of the channel, which remains roughly constant. The channel is thus removed from the cepstrum by subtracting the mean cepstral vector. Intuitively, the mean cepstral vector approximately describes the spectral characteristics of the transmission channel (e.g., microphone).
|Constructor and Description|
|Modifier and Type||Method and Description|
Returns the next Data object, which is a normalized cepstrum.
Initializes this BatchCMN.
This method is called when this configurable component needs to be reconfigured.
getName, initLogger, toString
public void newProperties(PropertySheet ps) throws PropertyException
public void initialize()
public Data getData() throws DataProcessingException