Audacity  2.2.0
EffectNoiseReduction::Worker Class Reference

Classes

struct  Record
 

Public Types

typedef
EffectNoiseReduction::Settings 
Settings
 
typedef
EffectNoiseReduction::Statistics 
Statistics
 

Public Member Functions

 Worker (const Settings &settings, double sampleRate)
 
 ~Worker ()
 
bool Process (EffectNoiseReduction &effect, Statistics &statistics, TrackFactory &factory, SelectedTrackListOfKindIterator &iter, double mT0, double mT1)
 

Private Member Functions

bool ProcessOne (EffectNoiseReduction &effect, Statistics &statistics, TrackFactory &factory, int count, WaveTrack *track, sampleCount start, sampleCount len)
 
void StartNewTrack ()
 
void ProcessSamples (Statistics &statistics, WaveTrack *outputTrack, size_t len, float *buffer)
 
void FillFirstHistoryWindow ()
 
void ApplyFreqSmoothing (FloatVector &gains)
 
void GatherStatistics (Statistics &statistics)
 
bool Classify (const Statistics &statistics, int band)
 
void ReduceNoise (const Statistics &statistics, WaveTrack *outputTrack)
 
void RotateHistoryWindows ()
 
void FinishTrackStatistics (Statistics &statistics)
 
void FinishTrack (Statistics &statistics, WaveTrack *outputTrack)
 

Private Attributes

const bool mDoProfile
 
const double mSampleRate
 
const size_t mWindowSize
 
HFFT hFFT
 
FloatVector mFFTBuffer
 
FloatVector mInWaveBuffer
 
FloatVector mOutOverlapBuffer
 
FloatVector mInWindow
 
FloatVector mOutWindow
 
const size_t mSpectrumSize
 
FloatVector mFreqSmoothingScratch
 
const size_t mFreqSmoothingBins
 
int mBinLow
 
int mBinHigh
 
const int mNoiseReductionChoice
 
const unsigned mStepsPerWindow
 
const size_t mStepSize
 
const int mMethod
 
const double mNewSensitivity
 
sampleCount mInSampleCount
 
sampleCount mOutStepCount
 
int mInWavePos
 
float mOneBlockAttack
 
float mOneBlockRelease
 
float mNoiseAttenFactor
 
float mOldSensitivityFactor
 
unsigned mNWindowsToExamine
 
unsigned mCenter
 
unsigned mHistoryLen
 
std::vector< movable_ptr
< Record > > 
mQueue
 

Member Typedef Documentation

Constructor & Destructor Documentation

EffectNoiseReduction::Worker::~Worker ( )

Member Function Documentation

void EffectNoiseReduction::Worker::ApplyFreqSmoothing ( FloatVector gains)
private

References min().

bool EffectNoiseReduction::Worker::Classify ( const Statistics statistics,
int  band 
)
inlineprivate
void EffectNoiseReduction::Worker::FillFirstHistoryWindow ( )
private
void EffectNoiseReduction::Worker::FinishTrack ( Statistics statistics,
WaveTrack outputTrack 
)
private
void EffectNoiseReduction::Worker::GatherStatistics ( Statistics statistics)
private
bool EffectNoiseReduction::Worker::ProcessOne ( EffectNoiseReduction effect,
Statistics statistics,
TrackFactory factory,
int  count,
WaveTrack track,
sampleCount  start,
sampleCount  len 
)
private
void EffectNoiseReduction::Worker::ProcessSamples ( Statistics statistics,
WaveTrack outputTrack,
size_t  len,
float *  buffer 
)
private

References min().

void EffectNoiseReduction::Worker::RotateHistoryWindows ( )
private

Member Data Documentation

HFFT EffectNoiseReduction::Worker::hFFT
private
int EffectNoiseReduction::Worker::mBinHigh
private
int EffectNoiseReduction::Worker::mBinLow
private
unsigned EffectNoiseReduction::Worker::mCenter
private
const bool EffectNoiseReduction::Worker::mDoProfile
private
FloatVector EffectNoiseReduction::Worker::mFFTBuffer
private
const size_t EffectNoiseReduction::Worker::mFreqSmoothingBins
private
FloatVector EffectNoiseReduction::Worker::mFreqSmoothingScratch
private
unsigned EffectNoiseReduction::Worker::mHistoryLen
private
sampleCount EffectNoiseReduction::Worker::mInSampleCount
private
FloatVector EffectNoiseReduction::Worker::mInWaveBuffer
private
int EffectNoiseReduction::Worker::mInWavePos
private
FloatVector EffectNoiseReduction::Worker::mInWindow
private
const int EffectNoiseReduction::Worker::mMethod
private
const double EffectNoiseReduction::Worker::mNewSensitivity
private
float EffectNoiseReduction::Worker::mNoiseAttenFactor
private
const int EffectNoiseReduction::Worker::mNoiseReductionChoice
private
unsigned EffectNoiseReduction::Worker::mNWindowsToExamine
private
float EffectNoiseReduction::Worker::mOldSensitivityFactor
private
float EffectNoiseReduction::Worker::mOneBlockAttack
private
float EffectNoiseReduction::Worker::mOneBlockRelease
private
FloatVector EffectNoiseReduction::Worker::mOutOverlapBuffer
private
sampleCount EffectNoiseReduction::Worker::mOutStepCount
private
FloatVector EffectNoiseReduction::Worker::mOutWindow
private
std::vector<movable_ptr<Record> > EffectNoiseReduction::Worker::mQueue
private
const double EffectNoiseReduction::Worker::mSampleRate
private
const size_t EffectNoiseReduction::Worker::mSpectrumSize
private
const size_t EffectNoiseReduction::Worker::mStepSize
private
const unsigned EffectNoiseReduction::Worker::mStepsPerWindow
private
const size_t EffectNoiseReduction::Worker::mWindowSize
private

The documentation for this class was generated from the following file: