Community
cancel
Showing results for 
Search instead for 
Did you mean: 
tiet_cd
Beginner
36 Views

weird output from last step while using ippsUpdateNoisePSDMCRA_32f_I while designing eprahim noise suppressor.

I was trying to implement the noise suppressor with a code of
IppStatus Ipp ;
int nSamplesPerSec = 16000 ;
int nFFTSize = 1024 ;
IppMCRAState32f * pDst = NULL ;
double input_float[1024] ;
int nUpdateSamples = 512 ;
for ( k = 0 ; k < 1024 ; k++ )
input_float = input * Window ;
double freq = (Smax - Smin)*44.1/2048;
CalculateFFT(input_float, output, m_pdFFTMat);
int *pDstSize ;
Ipp32f* pSrcDstNoisePSD ;
pSrcDstNoisePSD = new Ipp32f[1024] ;
pDstSize = new int ;
Ipp32f *output_ipp ;//[1024] = output ;
output_ipp = new Ipp32f[1024] ;
for ( k = 0 ; k < 1024 ; k++ )
output_ipp = output ;

Ipp = ippsGetSizeMCRA_32f( nFFTSize, pDstSize);
pDst = (IppMCRAState32f*) malloc(*pDstSize);
Ipp = ippsInitMCRA_32f(nSamplesPerSec, nFFTSize, pDst);
Ipp = ippsAltInitMCRA_32f(nSamplesPerSec, nFFTSize, nUpdateSamples, pDst);
Ipp = ippsUpdateNoisePSDMCRA_32f_I(/*const Ipp32f* pSrcNoisySpeech*/output_ipp,/*IppMCRAState32f*/ pDst, /*Ipp32f*/ pSrcDstNoisePSD);

The output from the last state pSrcDstNoisePSD is coming out to be same as output_ipp. Is this correct in every case ?? . Has anybody implemented this in IPP ?


0 Kudos
2 Replies
Vyacheslav_Baranniko
New Contributor II
36 Views

Hi there,

Basically,you missed spectral subtractionfrom noisy speech PSD. I would recommend you to look at speech-codecUSC_NRsample, which demonstrates usage model ofMCRA noise suppressor, though it is integer version.A sample use of the floating point MCRA isnot provided in IPP so far, though it should beimplemented very similar.

Vyacheslav, IPP, speech-coding domain.

tiet_cd
Beginner
36 Views

hi Vyacheslav ,
Can you let me know where can find the speech-codecUSC_NRsample . Is it in the IPP user manual. Thanks in advance,

chetan