44 : mIsSilenceCtrl(
"Silence", this )
50 : mIsSilenceCtrl(
"Silence", this )
62 mType=mConfig.GetType();
63 mFrameSize=mConfig.GetFrameSize();
75 TData scaleFactor = 0;
84 else if ( mType == 2 )
86 else if ( mType == 3 )
89 const TData invScaleFactor = 1.0 / scaleFactor;
90 DataArray& inBufferSamples = in.GetBuffer();
92 for (
int n=0; n<in.
GetSize(); n++)
93 inBufferSamples[n]*=invScaleFactor;
102 "Normalization::Do() : input and output audio sizes must match" );
104 TData scaleFactor = 0;
113 else if ( mType == 2 )
115 else if ( mType == 3 )
118 const TData invScaleFactor = 1.0 / scaleFactor;
119 DataArray& outBufferSamples = norm.GetBuffer();
120 const DataArray& inBufferSamples = unnorm.GetBuffer();
122 for (
int n=0; n<norm.
GetSize(); n++)
123 outBufferSamples[n]=inBufferSamples[n]*invScaleFactor;
132 const TIndex end = inAudio.
Size() - mFrameSize;
134 TData maxEnergy = 0.0;
135 const TData quantizationThreshold = 0.3 *
TData( mFrameSize ) /
TData( 4410 );
143 Stats myStats(&chunk);
149 if ( currentChunkEnergy > quantizationThreshold )
151 if(maxEnergy<currentChunkEnergy) maxEnergy=currentChunkEnergy;
159 if ( maxEnergy <= 1e-7 )
176 const TIndex end = inAudio.
Size() - mFrameSize;
178 TData avgEnergy = 0.0;
179 const TData quantizationThreshold = 0.3 *
TData( mFrameSize ) /
TData( 4410 );
186 Stats myStats(&chunk);
192 if ( currentChunkEnergy > quantizationThreshold )
194 avgEnergy += currentChunkEnergy;
204 if ( avgEnergy <= 1e-7 )
219 const TIndex end = inAudio.
Size() - mFrameSize;
222 const TData quantizationThreshold = 0.3 *
TData( mFrameSize ) /
TData( 4410 );
229 Stats myStats(&chunk);
235 if ( currentChunkEnergy > quantizationThreshold )
237 chunksEnergies.
AddElem( currentChunkEnergy );
244 if ( chunksEnergies.
Size() == 0 )
250 std::sort( chunksEnergies.
GetPtr(), chunksEnergies.
GetPtr()+chunksEnergies.
Size() );
257 int i = ( chunksEnergies.
Size()*percentage ) / 100;
259 i = ( i == 0 ) ? i : i - 1;
267 void Normalization::CheckSilence(
int size )