mirror of
https://github.com/cookiengineer/audacity
synced 2026-02-23 06:31:17 +01:00
Noise Reduction Effect by Paul Licameli.
#ifdef EXPERIMENTAL_NOISE_REDUCTION for now.
This commit is contained in:
@@ -185,5 +185,6 @@
|
||||
// Define to make the meters look like a row of LEDs
|
||||
//#define EXPERIMENTAL_METER_LED_STYLE
|
||||
|
||||
|
||||
// Define for new noise reduction effect from Paul Licameli.
|
||||
//#define EXPERIMENTAL_NOISE_REDUCTION
|
||||
#endif
|
||||
|
||||
@@ -30,6 +30,9 @@
|
||||
#include "Invert.h"
|
||||
#include "Leveller.h"
|
||||
#include "Noise.h"
|
||||
#ifdef EXPERIMENTAL_NOISE_REDUCTION
|
||||
#include "NoiseReduction.h"
|
||||
#endif
|
||||
#include "NoiseRemoval.h"
|
||||
#include "Normalize.h"
|
||||
#include "Phaser.h"
|
||||
@@ -192,8 +195,12 @@ void LoadEffects()
|
||||
|
||||
#define ATEAM "http://audacityteam.org/namespace#"
|
||||
|
||||
#ifdef EXPERIMENTAL_NOISE_REDUCTION
|
||||
CatPtr nrm = em.AddCategory(wxT(ATEAM) wxT("NoiseReduction"),
|
||||
_("Noise Reduction"));
|
||||
#endif
|
||||
CatPtr nrm = em.AddCategory(wxT(ATEAM) wxT("NoiseRemoval"),
|
||||
_("Noise Removal"));
|
||||
_("Noise Removal"));
|
||||
CatPtr pnt = em.AddCategory(wxT(ATEAM) wxT("PitchAndTempo"),
|
||||
_("Pitch and Tempo"));
|
||||
CatPtr tim = em.AddCategory(wxT(ATEAM) wxT("TimelineChanger"),
|
||||
@@ -249,6 +256,9 @@ void LoadEffects()
|
||||
em.RegisterEffect(new EffectFadeOut(), SIMPLE_EFFECT);
|
||||
em.RegisterEffect(new EffectInvert());
|
||||
em.RegisterEffect(new EffectLeveller(), SIMPLE_EFFECT);
|
||||
#ifdef EXPERIMENTAL_NOISE_REDUCTION
|
||||
em.RegisterEffect(new EffectNoiseReduction(), SIMPLE_EFFECT);
|
||||
#endif
|
||||
em.RegisterEffect(new EffectNoiseRemoval(), SIMPLE_EFFECT);
|
||||
em.RegisterEffect(new EffectNormalize(), SIMPLE_EFFECT);
|
||||
em.RegisterEffect(new EffectPhaser());
|
||||
|
||||
1696
src/effects/NoiseReduction.cpp
Normal file
1696
src/effects/NoiseReduction.cpp
Normal file
File diff suppressed because it is too large
Load Diff
52
src/effects/NoiseReduction.h
Normal file
52
src/effects/NoiseReduction.h
Normal file
@@ -0,0 +1,52 @@
|
||||
/**********************************************************************
|
||||
|
||||
Audacity: A Digital Audio Editor
|
||||
|
||||
NoiseReduction.h
|
||||
|
||||
Dominic Mazzoni
|
||||
Vaughan Johnson (Preview)
|
||||
Paul Licameli
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
#ifndef __AUDACITY_EFFECT_NOISE_REDUCTION__
|
||||
#define __AUDACITY_EFFECT_NOISE_REDUCTION__
|
||||
|
||||
#include "Effect.h"
|
||||
|
||||
#include <memory>
|
||||
|
||||
class EffectNoiseReduction: public Effect {
|
||||
public:
|
||||
|
||||
EffectNoiseReduction();
|
||||
virtual ~EffectNoiseReduction();
|
||||
|
||||
using Effect::TrackProgress;
|
||||
|
||||
virtual wxString GetEffectName();
|
||||
virtual std::set<wxString> GetEffectCategories();
|
||||
virtual wxString GetEffectIdentifier();
|
||||
virtual wxString GetEffectAction();
|
||||
|
||||
virtual bool PromptUser();
|
||||
virtual bool TransferParameters( Shuttle & shuttle );
|
||||
|
||||
virtual bool Init();
|
||||
virtual bool CheckWhetherSkipEffect();
|
||||
virtual bool Process();
|
||||
|
||||
class Settings;
|
||||
class Statistics;
|
||||
class Dialog;
|
||||
|
||||
private:
|
||||
class Worker;
|
||||
friend Dialog;
|
||||
|
||||
std::auto_ptr<Settings> mSettings;
|
||||
std::auto_ptr<Statistics> mStatistics;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user