ГОСТ Р 56047—2014
if(Nlotaltest > 0.1 || Ntotalref > 0.1) (
noise = 1;
#if defined(L0UDM0D02)
intemal_count = 0;
#endif
}
// Delayed Averaging + loudness threshold
if(noise && internal_count <= delaytimel) {
/I skip 0.05 sec (about 3 frames)
intemal_count++;
toudcounter++;
else {
lev = levpatadapt(processch2.Etest. processch2.Eref. rate.
&levinch2. hann);
processed.RmsNoiseLoudb += noisetoudness(processch2.Modtest.
processch2.Modref.
lev. &nltmp.
count - delaytime2
- loudcounter);
processed.RmsNoiseLoudb /= 2.0;
)
)
)
{
static int ndistorcedtmp = 0;
static double Ptildetmp = 0. PMtmp = 0. Qsum = 0:
if(ch == 2)
processed.ADBb = detprob(processch1.Etest. processch2.Etest.
processchl.Eref. processch2.Eref.
&Ptildetmp. &PMtmp. &Qsum.
&ndistorcedtmp. hann);
else
processed.ADBb = detprob(processch1.Etest. NULL.
processchl.Eref. NULL.
&Ptildetmp, &PMtmp. &Qsum.
&ndistorcedtmp. hann);
processed.MFPDb = PMtmp;
}
/*
#ifdef LOGVARIABLE
logvariablerfftetestsx.txt’. processchl.fftetest. hann,*2);
logvariablefffterefsx.txr. processchl.ffteref. hann.‘2);
logvariable(*fTttestsx.txt", processchl.fittest. hartn/2);
logvanable(’fftrefsx.txr. processchl.fflref. hann/2);
logvanablefEtestsx.txr. processchl.Etest. bark);
logvariablerErefsx.bct". processchl.Eref. bark);
logvariable(*E2testsx.txtH. processchl ,E2test. bark);
logvanable(’E2refsx.txr. processchl.E2ref. bark);
logvariable(’pptestsx.txf. processchl .pptest, bark);
logvariablefpprefsx.txt*. processchl.ppref. bark);
logvanable(*ppnoisesx.txt’. processchl .ppnoise, bark);
logvahableCMrefsx.txf. processchl.Mref. bark);
logvanablef’Modtestsx.txt". processchl.Modtest. bark);
logvariablefModrefsx.txt*. processchl.Modref. bark);
logvariableffftetestdx.bcr. processch2.fftetest hannf2);
logvariablefffterefdx.txt’. processch2.ffteref. hanrttt);
logvariablefffttestdx.txt*. processch2.ffttest. hann/2);
63