man pages section 3: Multimedia Library Functions

Exit Print View

Updated: July 2014
 
 

mlib_SignalLPCPitchAnalyze_S16(3MLIB)

Name

mlib_SignalLPCPitchAnalyze_S16 - perform open-loop pitch analysis

Synopsis

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);

Description

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.

Parameters

The function takes the following arguments:

pitch

The speech pitch estimated.

sigwgt

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.

region

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.

length

The length of the signal vectors over which the correlation is calculated.

Return Values

The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe

See also

mlib_SignalLPCPitchAnalyze_F32(3MLIB), attributes (5)