Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also
cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> mlib_status mlib_SignalLPCPitchAnalyze_S16(mlib_s32 *pitch, const mlib_s16 *sigwgt, const mlib_s32 *region, mlib_s32 length);
The mlib_SignalLPCPitchAnalyze_S16() function performs open-loop pitch analysis.
The open-loop pitch analysis uses perceptual weighted signal and is done with following steps.
In the first step, three maxima of the correlation
N-1 R(k) = SUM sw(j) * sw(j-k) j=0
where N = length, is located for each of the three search regions.
In the second step, the retained maxima R(Ti), i=0,1,2 are normalized as following.
R(Ti) Rn(ti) = ---------------------, i=0,1,2 N-1 2 SQRT(SUM sw(j-Ti) ) j=0
where N = length.
In the third step, the best open-loop delay Topt is determined as following.
Topt = T0 if (Rn(t1) ≥ (0.85 * Rn(Topt)) Topt = t1 if (Rn(t2) ≥ (0.85 * Rn(Topt)) Topt = t2
See G.729, G.729A, GSM EFR standards.
The function takes the following arguments:
The speech pitch estimated.
The weighted signal vector with samples in Q15 format. sigwgt points to the current sample of the weighted signal vector, length samples must be availabe after this point, and MAX{region[i],i=0,1,...,5} samples must be available before this point.
The lower/upper boundaries of the three search regions, where region[2*i] is the lower boundary of search region i and region[2*i+1] is the upper boundary of search region i.
The length of the signal vectors over which the correlation is calculated.
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE |
ATTRIBUTE VALUE |
---|---|
Interface Stability |
Committed |
MT-Level |
MT-Safe |
Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also