mirror of
https://github.com/cookiengineer/audacity
synced 2025-08-08 08:01:19 +02:00
Noise Reduction Effect by Paul Licameli.
#ifdef EXPERIMENTAL_NOISE_REDUCTION for now.
This commit is contained in:
parent
c900da7a56
commit
6e384e2f6b
@ -185,5 +185,6 @@
|
|||||||
// Define to make the meters look like a row of LEDs
|
// Define to make the meters look like a row of LEDs
|
||||||
//#define EXPERIMENTAL_METER_LED_STYLE
|
//#define EXPERIMENTAL_METER_LED_STYLE
|
||||||
|
|
||||||
|
// Define for new noise reduction effect from Paul Licameli.
|
||||||
|
//#define EXPERIMENTAL_NOISE_REDUCTION
|
||||||
#endif
|
#endif
|
||||||
|
@ -30,6 +30,9 @@
|
|||||||
#include "Invert.h"
|
#include "Invert.h"
|
||||||
#include "Leveller.h"
|
#include "Leveller.h"
|
||||||
#include "Noise.h"
|
#include "Noise.h"
|
||||||
|
#ifdef EXPERIMENTAL_NOISE_REDUCTION
|
||||||
|
#include "NoiseReduction.h"
|
||||||
|
#endif
|
||||||
#include "NoiseRemoval.h"
|
#include "NoiseRemoval.h"
|
||||||
#include "Normalize.h"
|
#include "Normalize.h"
|
||||||
#include "Phaser.h"
|
#include "Phaser.h"
|
||||||
@ -192,8 +195,12 @@ void LoadEffects()
|
|||||||
|
|
||||||
#define ATEAM "http://audacityteam.org/namespace#"
|
#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"),
|
CatPtr nrm = em.AddCategory(wxT(ATEAM) wxT("NoiseRemoval"),
|
||||||
_("Noise Removal"));
|
_("Noise Removal"));
|
||||||
CatPtr pnt = em.AddCategory(wxT(ATEAM) wxT("PitchAndTempo"),
|
CatPtr pnt = em.AddCategory(wxT(ATEAM) wxT("PitchAndTempo"),
|
||||||
_("Pitch and Tempo"));
|
_("Pitch and Tempo"));
|
||||||
CatPtr tim = em.AddCategory(wxT(ATEAM) wxT("TimelineChanger"),
|
CatPtr tim = em.AddCategory(wxT(ATEAM) wxT("TimelineChanger"),
|
||||||
@ -249,6 +256,9 @@ void LoadEffects()
|
|||||||
em.RegisterEffect(new EffectFadeOut(), SIMPLE_EFFECT);
|
em.RegisterEffect(new EffectFadeOut(), SIMPLE_EFFECT);
|
||||||
em.RegisterEffect(new EffectInvert());
|
em.RegisterEffect(new EffectInvert());
|
||||||
em.RegisterEffect(new EffectLeveller(), SIMPLE_EFFECT);
|
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 EffectNoiseRemoval(), SIMPLE_EFFECT);
|
||||||
em.RegisterEffect(new EffectNormalize(), SIMPLE_EFFECT);
|
em.RegisterEffect(new EffectNormalize(), SIMPLE_EFFECT);
|
||||||
em.RegisterEffect(new EffectPhaser());
|
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
|
@ -248,6 +248,7 @@
|
|||||||
<ClCompile Include="..\..\..\src\DirManager.cpp" />
|
<ClCompile Include="..\..\..\src\DirManager.cpp" />
|
||||||
<ClCompile Include="..\..\..\src\Dither.cpp" />
|
<ClCompile Include="..\..\..\src\Dither.cpp" />
|
||||||
<ClCompile Include="..\..\..\src\effects\EffectRack.cpp" />
|
<ClCompile Include="..\..\..\src\effects\EffectRack.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\src\effects\NoiseReduction.cpp" />
|
||||||
<ClCompile Include="..\..\..\src\Envelope.cpp" />
|
<ClCompile Include="..\..\..\src\Envelope.cpp" />
|
||||||
<ClCompile Include="..\..\..\src\FFmpeg.cpp" />
|
<ClCompile Include="..\..\..\src\FFmpeg.cpp" />
|
||||||
<ClCompile Include="..\..\..\src\FFT.cpp" />
|
<ClCompile Include="..\..\..\src\FFT.cpp" />
|
||||||
@ -517,6 +518,7 @@
|
|||||||
<ClInclude Include="..\..\..\src\CaptureEvents.h" />
|
<ClInclude Include="..\..\..\src\CaptureEvents.h" />
|
||||||
<ClInclude Include="..\..\..\src\commands\OpenSaveCommands.h" />
|
<ClInclude Include="..\..\..\src\commands\OpenSaveCommands.h" />
|
||||||
<ClInclude Include="..\..\..\src\effects\EffectRack.h" />
|
<ClInclude Include="..\..\..\src\effects\EffectRack.h" />
|
||||||
|
<ClInclude Include="..\..\..\src\effects\NoiseReduction.h" />
|
||||||
<ClInclude Include="..\..\..\src\import\FormatClassifier.h" />
|
<ClInclude Include="..\..\..\src\import\FormatClassifier.h" />
|
||||||
<ClInclude Include="..\..\..\src\import\ImportGStreamer.h" />
|
<ClInclude Include="..\..\..\src\import\ImportGStreamer.h" />
|
||||||
<ClInclude Include="..\..\..\src\import\MultiFormatReader.h" />
|
<ClInclude Include="..\..\..\src\import\MultiFormatReader.h" />
|
||||||
|
@ -831,6 +831,9 @@
|
|||||||
<ClCompile Include="..\..\..\src\widgets\NumericTextCtrl.cpp">
|
<ClCompile Include="..\..\..\src\widgets\NumericTextCtrl.cpp">
|
||||||
<Filter>src/widgets</Filter>
|
<Filter>src/widgets</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\src\effects\NoiseReduction.cpp">
|
||||||
|
<Filter>src/effects</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\..\src\AboutDialog.h">
|
<ClInclude Include="..\..\..\src\AboutDialog.h">
|
||||||
@ -1652,6 +1655,9 @@
|
|||||||
<ClInclude Include="..\..\..\src\widgets\NumericTextCtrl.h">
|
<ClInclude Include="..\..\..\src\widgets\NumericTextCtrl.h">
|
||||||
<Filter>src/widgets</Filter>
|
<Filter>src/widgets</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\src\effects\NoiseReduction.h">
|
||||||
|
<Filter>src/effects</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Image Include="..\..\audacity.ico">
|
<Image Include="..\..\audacity.ico">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user