line segment approximation of a magnitude spectrum More...
#include "sms.h"
Functions | |
int | sms_spectralApprox (sfloat *pFSpec1, int sizeSpec1, int sizeSpec1Used, sfloat *pFSpec2, int sizeSpec2, int nCoefficients) |
approximate a magnitude spectrum First downsampling using local maxima and then upsampling using linear interpolation. The output spectrum doesn't have to be the same size as the input one. |
line segment approximation of a magnitude spectrum
int sms_spectralApprox | ( | sfloat * | pFSpec1, | |
int | sizeSpec1, | |||
int | sizeSpec1Used, | |||
sfloat * | pFSpec2, | |||
int | sizeSpec2, | |||
int | nCoefficients | |||
) |
approximate a magnitude spectrum First downsampling using local maxima and then upsampling using linear interpolation. The output spectrum doesn't have to be the same size as the input one.
pFSpec1 | magnitude spectrum to approximate | |
sizeSpec1 | size of input spectrum | |
sizeSpec1Used | size of the spectrum to use | |
pFSpec2 | output envelope | |
sizeSpec2 | size of output envelope | |
nCoefficients | number of coefficients to use in approximation |
References MAX, MIN, sfloat, sms_error(), SMS_MALLOC, and SMS_OK.
Referenced by InterpolateArrays(), sms_hybridize(), sms_stocAnalysis(), sms_stochastic(), and StocSynthApprox().