1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-07 23:51:14 +02:00

Noise Reduction Effect by Paul Licameli.

#ifdef EXPERIMENTAL_NOISE_REDUCTION for now.
This commit is contained in:
james.k.crook@gmail.com 2014-11-10 21:30:44 +00:00
parent c900da7a56
commit 6e384e2f6b
6 changed files with 1769 additions and 2 deletions

View File

@ -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

View File

@ -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());

File diff suppressed because it is too large Load Diff

View 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

View File

@ -248,6 +248,7 @@
<ClCompile Include="..\..\..\src\DirManager.cpp" />
<ClCompile Include="..\..\..\src\Dither.cpp" />
<ClCompile Include="..\..\..\src\effects\EffectRack.cpp" />
<ClCompile Include="..\..\..\src\effects\NoiseReduction.cpp" />
<ClCompile Include="..\..\..\src\Envelope.cpp" />
<ClCompile Include="..\..\..\src\FFmpeg.cpp" />
<ClCompile Include="..\..\..\src\FFT.cpp" />
@ -517,6 +518,7 @@
<ClInclude Include="..\..\..\src\CaptureEvents.h" />
<ClInclude Include="..\..\..\src\commands\OpenSaveCommands.h" />
<ClInclude Include="..\..\..\src\effects\EffectRack.h" />
<ClInclude Include="..\..\..\src\effects\NoiseReduction.h" />
<ClInclude Include="..\..\..\src\import\FormatClassifier.h" />
<ClInclude Include="..\..\..\src\import\ImportGStreamer.h" />
<ClInclude Include="..\..\..\src\import\MultiFormatReader.h" />

View File

@ -831,6 +831,9 @@
<ClCompile Include="..\..\..\src\widgets\NumericTextCtrl.cpp">
<Filter>src/widgets</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\effects\NoiseReduction.cpp">
<Filter>src/effects</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\src\AboutDialog.h">
@ -1652,6 +1655,9 @@
<ClInclude Include="..\..\..\src\widgets\NumericTextCtrl.h">
<Filter>src/widgets</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\effects\NoiseReduction.h">
<Filter>src/effects</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Image Include="..\..\audacity.ico">