Audacity  2.2.2
Classes | Macros | Typedefs | Enumerations
NoiseReduction.cpp File Reference
#include "../Audacity.h"
#include "../Experimental.h"
#include "NoiseReduction.h"
#include "EffectManager.h"
#include "../ShuttleGui.h"
#include "../Prefs.h"
#include "../WaveTrack.h"
#include "../widgets/ErrorDialog.h"
#include <algorithm>
#include <vector>
#include <math.h>
#include <wx/button.h>
#include <wx/choice.h>
#include <wx/dialog.h>
#include <wx/radiobut.h>
#include <wx/slider.h>
#include <wx/valtext.h>
#include <wx/textctrl.h>
#include <wx/sizer.h>

Go to the source code of this file.

Classes

class  EffectNoiseReduction::Statistics
 
class  EffectNoiseReduction::Settings
 
class  EffectNoiseReduction::Worker
 
struct  EffectNoiseReduction::Worker::Record
 
class  EffectNoiseReduction::Dialog
 Dialog used with EffectNoiseReduction. More...
 

Macros

#define RESIDUE_CHOICE
 

Typedefs

typedef std::vector< float > FloatVector
 

Enumerations

enum  DiscriminationMethod
 
enum  WindowTypes
 
enum  
 
enum  NoiseReductionChoice
 
enum  {
  ID_BUTTON_GETPROFILE = 10001, ID_RADIOBUTTON_KEEPSIGNAL, ID_RADIOBUTTON_RESIDUE, ID_GAIN_SLIDER,
  ID_GAIN_TEXT, ID_NEW_SENSITIVITY_SLIDER, ID_NEW_SENSITIVITY_TEXT, ID_FREQ_SLIDER,
  ID_FREQ_TEXT, END_OF_BASIC_SLIDERS, END_OF_SLIDERS = END_OF_BASIC_SLIDERS, FIRST_SLIDER = ID_GAIN_SLIDER
}
 

Macro Definition Documentation

#define RESIDUE_CHOICE

Typedef Documentation

typedef std::vector<float> FloatVector

Definition at line 72 of file NoiseReduction.cpp.

Enumeration Type Documentation

anonymous enum
Enumerator
ID_BUTTON_GETPROFILE 
ID_RADIOBUTTON_KEEPSIGNAL 
ID_RADIOBUTTON_RESIDUE 
ID_GAIN_SLIDER 
ID_GAIN_TEXT 
ID_NEW_SENSITIVITY_SLIDER 
ID_NEW_SENSITIVITY_TEXT 
ID_FREQ_SLIDER 
ID_FREQ_TEXT 
END_OF_BASIC_SLIDERS 
END_OF_SLIDERS 
FIRST_SLIDER 

Definition at line 1350 of file NoiseReduction.cpp.

1350  {
1351  ID_BUTTON_GETPROFILE = 10001,
1353 #ifdef ISOLATE_CHOICE
1354  ID_RADIOBUTTON_KEEPNOISE,
1355 #endif
1356 #ifdef RESIDUE_CHOICE
1358 #endif
1359 
1360 #ifdef ADVANCED_SETTINGS
1361  ID_CHOICE_METHOD,
1362 #endif
1363 
1364  // Slider/text pairs
1366  ID_GAIN_TEXT,
1367 
1370 
1371 #ifdef ATTACK_AND_RELEASE
1372  ID_ATTACK_TIME_SLIDER,
1373  ID_ATTACK_TIME_TEXT,
1374 
1375  ID_RELEASE_TIME_SLIDER,
1376  ID_RELEASE_TIME_TEXT,
1377 #endif
1378 
1380  ID_FREQ_TEXT,
1381 
1383 
1384 #ifdef ADVANCED_SETTINGS
1385  ID_OLD_SENSITIVITY_SLIDER = END_OF_BASIC_SLIDERS,
1386  ID_OLD_SENSITIVITY_TEXT,
1387 
1388  END_OF_ADVANCED_SLIDERS,
1389  END_OF_SLIDERS = END_OF_ADVANCED_SLIDERS,
1390 #else
1391  END_OF_SLIDERS = END_OF_BASIC_SLIDERS,
1392 #endif
1393 
1395 };
anonymous enum

Definition at line 145 of file NoiseReduction.cpp.

145  {
146  DEFAULT_WINDOW_SIZE_CHOICE = 8, // corresponds to 2048
147  DEFAULT_STEPS_PER_WINDOW_CHOICE = 1 // corresponds to 4, minimum for WT_HANN_HANN
148 };

Definition at line 89 of file NoiseReduction.cpp.

89  {
90  DM_MEDIAN,
91  DM_SECOND_GREATEST,
92  DM_OLD_METHOD,
93 
94  DM_N_METHODS,
95  DM_DEFAULT_METHOD = DM_SECOND_GREATEST,
96 };

Definition at line 150 of file NoiseReduction.cpp.

150  {
151  NRC_REDUCE_NOISE,
152  NRC_ISOLATE_NOISE,
153  NRC_LEAVE_RESIDUE,
154 };

Definition at line 111 of file NoiseReduction.cpp.

111  {
112  WT_RECTANGULAR_HANN = 0, // 2.0.6 behavior, requires 1/2 step
113  WT_HANN_RECTANGULAR, // requires 1/2 step
114  WT_HANN_HANN, // requires 1/4 step
115  WT_BLACKMAN_HANN, // requires 1/4 step
116  WT_HAMMING_RECTANGULAR, // requires 1/2 step
117  WT_HAMMING_HANN, // requires 1/4 step
118  WT_HAMMING_INV_HAMMING, // requires 1/2 step
119 
120  WT_N_WINDOW_TYPES,
121  WT_DEFAULT_WINDOW_TYPES = WT_HANN_HANN
122 };