Remove developing code in ns_core

This defines were hardcoded and the code inside of the ifdefs was never used.

BUG=webrtc:3763
R=bjornv@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/24559004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7153 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
aluebs@webrtc.org 2014-09-11 11:19:56 +00:00
parent f5bdd54ac3
commit 4b049fcabe
2 changed files with 3 additions and 47 deletions

View File

@ -11,10 +11,6 @@
#ifndef WEBRTC_MODULES_AUDIO_PROCESSING_NS_MAIN_SOURCE_DEFINES_H_
#define WEBRTC_MODULES_AUDIO_PROCESSING_NS_MAIN_SOURCE_DEFINES_H_
//#define PROCESS_FLOW_0 // Use the traditional method.
//#define PROCESS_FLOW_1 // Use traditional with DD estimate of prior SNR.
#define PROCESS_FLOW_2 // Use the new method of speech/noise classification.
#define BLOCKL_MAX 160 // max processing block length: 160
#define ANAL_BLOCKL_MAX 256 // max analysis block length: 256
#define HALF_ANAL_BLOCKL 129 // half max analysis block length + 1
@ -27,7 +23,6 @@
#define FACTOR (float)40.0
#define WIDTH (float)0.01
#define SMOOTH (float)0.75 // filter smoothing
// Length of fft work arrays.
#define IP_LENGTH (ANAL_BLOCKL_MAX >> 1) // must be at least ceil(2 + sqrt(ANAL_BLOCKL_MAX/2))
#define W_LENGTH (ANAL_BLOCKL_MAX >> 1)

View File

@ -38,7 +38,7 @@ void WebRtcNs_set_feature_extraction_parameters(NSinst_t* inst) {
inst->featureExtractionParams.thresPosSpecFlat = (float)0.6;
//limit on spacing of two highest peaks in histogram: spacing determined by bin size
inst->featureExtractionParams.limitPeakSpacingSpecFlat =
inst->featureExtractionParams.limitPeakSpacingSpecFlat =
2 * inst->featureExtractionParams.binSizeSpecFlat;
inst->featureExtractionParams.limitPeakSpacingSpecDiff =
2 * inst->featureExtractionParams.binSizeSpecDiff;
@ -676,7 +676,7 @@ void WebRtcNs_SpeechNoiseProb(NSinst_t* inst, float* probSpeechFinal, float* snr
widthPrior = widthPrior1;
}
// compute indicator function: sigmoid map
indicator1 = (float)0.5 * ((float)tanh((float)sgnMap *
indicator1 = (float)0.5 * ((float)tanh((float)sgnMap *
widthPrior * (threshPrior1 - tmpFloat1)) + (float)1.0);
//for template spectrum-difference
@ -848,7 +848,7 @@ int WebRtcNs_ProcessCore(NSinst_t* inst,
imag[inst->magnLen - 1] = 0;
real[inst->magnLen - 1] = winData[1];
magn[inst->magnLen - 1] = (float)(fabs(real[inst->magnLen - 1]) + 1.0f);
signalEnergy = (float)(real[0] * real[0]) +
signalEnergy = (float)(real[0] * real[0]) +
(float)(real[inst->magnLen - 1] * real[inst->magnLen - 1]);
sumMagn = magn[0] + magn[inst->magnLen - 1];
if (inst->blockInd < END_STARTUP_SHORT) {
@ -950,18 +950,6 @@ int WebRtcNs_ProcessCore(NSinst_t* inst,
inst->featureData[5] /= (inst->blockInd + 1);
}
#ifdef PROCESS_FLOW_0
if (inst->blockInd > END_STARTUP_LONG) {
//option: average the quantile noise: for check with AEC2
for (i = 0; i < inst->magnLen; i++) {
noise[i] = (float)0.6 * inst->noisePrev[i] + (float)0.4 * noise[i];
}
for (i = 0; i < inst->magnLen; i++) {
// Wiener with over sub-substraction:
theFilter[i] = (magn[i] - inst->overdrive * noise[i]) / (magn[i] + (float)0.0001);
}
}
#else
//start processing at frames == converged+1
//
// STEP 1: compute prior and post snr based on quantile noise est
@ -984,20 +972,11 @@ int WebRtcNs_ProcessCore(NSinst_t* inst,
* snrLocPost[i];
// post and prior snr needed for step 2
} // end of loop over freqs
#ifdef PROCESS_FLOW_1
for (i = 0; i < inst->magnLen; i++) {
// gain filter
tmpFloat1 = inst->overdrive + snrLocPrior[i];
tmpFloat2 = (float)snrLocPrior[i] / tmpFloat1;
theFilter[i] = (float)tmpFloat2;
} // end of loop over freqs
#endif
// done with step 1: dd computation of prior and post snr
//
//STEP 2: compute speech/noise likelihood
//
#ifdef PROCESS_FLOW_2
// compute difference of input spectrum with learned/estimated noise spectrum
WebRtcNs_ComputeSpectralDifference(inst, magn);
// compute histograms for parameter decisions (thresholds and weights for features)
@ -1084,8 +1063,6 @@ int WebRtcNs_ProcessCore(NSinst_t* inst,
theFilter[i] = (float)tmpFloat2;
} // end of loop over freqs
// done with step3
#endif
#endif
for (i = 0; i < inst->magnLen; i++) {
// flooring bottom
@ -1112,12 +1089,7 @@ int WebRtcNs_ProcessCore(NSinst_t* inst,
theFilter[i] /= (END_STARTUP_SHORT);
}
// smoothing
#ifdef PROCESS_FLOW_0
inst->smooth[i] *= SMOOTH; // value set to 0.7 in define.h file
inst->smooth[i] += ((float)1.0 - SMOOTH) * theFilter[i];
#else
inst->smooth[i] = theFilter[i];
#endif
real[i] *= inst->smooth[i];
imag[i] *= inst->smooth[i];
}
@ -1151,7 +1123,6 @@ int WebRtcNs_ProcessCore(NSinst_t* inst,
}
gain = (float)sqrt(energy2 / (energy1 + (float)1.0));
#ifdef PROCESS_FLOW_2
// scaling for new version
if (gain > B_LIM) {
factor1 = (float)1.0 + (float)1.3 * (gain - B_LIM);
@ -1171,16 +1142,6 @@ int WebRtcNs_ProcessCore(NSinst_t* inst,
// note prior (priorSpeechProb) is not frequency dependent
factor = inst->priorSpeechProb * factor1 + ((float)1.0 - inst->priorSpeechProb)
* factor2;
#else
if (gain > B_LIM) {
factor = (float)1.0 + (float)1.3 * (gain - B_LIM);
} else {
factor = (float)1.0 + (float)2.0 * (gain - B_LIM);
}
if (gain * factor > (float)1.0) {
factor = (float)1.0 / gain;
}
#endif
} // out of inst->gainmap==1
// synthesis