Nsound  0.9.4
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Nsound::FilterLowPassMoogVcf Class Reference

#include <Nsound/FilterLowPassMoogVcf.h>

Inheritance diagram for Nsound::FilterLowPassMoogVcf:
Inheritance graph
[legend]

Public Member Functions

 FilterLowPassMoogVcf (const float64 &sample_rate, const float64 &cutoff_hz, const float64 &resonance)
 
virtual ~FilterLowPassMoogVcf ()
 
virtual float64 filter (const float64 &x)
 
virtual float64 filter (const float64 &x, const float64 &cutoff_hz)
 
virtual float64 filter (const float64 &x, const float64 &cutoff_hz, const float64 &resonance)
 
void plot (boolean show_fc=true, boolean show_phase=false)
 
void reset ()
 
void setRealtime (bool flag)
 
AudioStream filter (const AudioStream &x)
 
AudioStream filter (const AudioStream &x, const float64 &frequency)
 
AudioStream filter (const AudioStream &x, const Buffer &frequencies)
 
Buffer filter (const Buffer &x)
 
Buffer filter (const Buffer &x, const float64 &frequency)
 
Buffer filter (const Buffer &x, const Buffer &frequencies)
 
Buffer getFrequencyAxis (const uint32 n_fft=8192)
 
Buffer getFrequencyResponse (const uint32 n_fft=8192)
 
Buffer getImpulseResponse (const uint32 n_samples=8192)
 
virtual uint32 getKernelSize () const
 
Buffer getPhaseResponse ()
 
float64 getSampleRate () const
 
void plot (boolean show_phase=false)
 

Protected Member Functions

void _make_filter (float64 cutoff_hz, float64 resonance)
 

Protected Attributes

float64 resonance_
 
float64 cutoff_
 
float64 k_
 
float64 p_
 
float64 r_
 
float64 oldx_
 
float64 y0_
 
float64 y1_
 
float64 y2_
 
float64 y3_
 
float64 oldy0_
 
float64 oldy1_
 
float64 oldy2_
 
float64 sample_rate_
 
float64 two_pi_over_sample_rate_
 
float64 sample_time_
 
uint32 kernel_size_
 
bool is_realtime_
 

Detailed Description

Definition at line 44 of file FilterLowPassMoogVcf.h.

Constructor & Destructor Documentation

FilterLowPassMoogVcf::FilterLowPassMoogVcf ( const float64 sample_rate,
const float64 cutoff_hz,
const float64 resonance 
)

Definition at line 45 of file FilterLowPassMoogVcf.cc.

References _make_filter().

49  :
50  Filter(sample_rate),
51  resonance_(resonance),
52  cutoff_(cutoff_hz),
53  k_(0),
54  p_(0),
55  r_(0),
56  oldx_(0),
57  y0_(0),
58  y1_(0),
59  y2_(0),
60  y3_(0),
61  oldy0_(0),
62  oldy1_(0),
63  oldy2_(0)
64 {
65  _make_filter(cutoff_hz, resonance);
66 }
void _make_filter(float64 cutoff_hz, float64 resonance)
Filter(const float64 &sample_rate)
Definition: Filter.cc:41
virtual Nsound::FilterLowPassMoogVcf::~FilterLowPassMoogVcf ( )
inlinevirtual

Definition at line 54 of file FilterLowPassMoogVcf.h.

54 {}

Member Function Documentation

float64 FilterLowPassMoogVcf::filter ( const float64 x)
virtual

Implements Nsound::Filter.

Definition at line 87 of file FilterLowPassMoogVcf.cc.

References k_, oldx_, oldy0_, oldy1_, oldy2_, p_, r_, y0_, y1_, y2_, and y3_.

Referenced by filter().

88 {
89  // Inverted feed back for corner peaking
90 
91  float64 x = input - r_ * y3_;
92 
93  // Four cascaded onepole filters (binlinear transform)
94 
95  y0_ = ( x + oldx_ ) * p_ - k_ * y0_;
96  y1_ = (y0_ + oldy0_) * p_ - k_ * y1_;
97  y2_ = (y1_ + oldy1_) * p_ - k_ * y2_;
98  y3_ = (y2_ + oldy2_) * p_ - k_ * y3_;
99 
100  // Clipper band limited sigmoid
101  y3_ = y3_ - y3_ * y3_ * y3_ / 6.0;
102 
103  oldx_ = x;
104  oldy0_ = y0_;
105  oldy1_ = y1_;
106  oldy2_ = y2_;
107 
108  return y3_;
109 }
double float64
Definition: Nsound.h:146
float64 FilterLowPassMoogVcf::filter ( const float64 x,
const float64 cutoff_hz 
)
virtual

Implements Nsound::Filter.

Definition at line 114 of file FilterLowPassMoogVcf.cc.

References _make_filter(), filter(), and resonance_.

115 {
116  _make_filter(cutoff_hz, resonance_);
117 
118  return filter(input);
119 }
virtual float64 filter(const float64 &x)
void _make_filter(float64 cutoff_hz, float64 resonance)
float64 FilterLowPassMoogVcf::filter ( const float64 x,
const float64 cutoff_hz,
const float64 resonance 
)
virtual

Definition at line 124 of file FilterLowPassMoogVcf.cc.

References _make_filter(), and filter().

128 {
129  _make_filter(cutoff_hz, resonance);
130 
131  return filter(input);
132 }
virtual float64 filter(const float64 &x)
void _make_filter(float64 cutoff_hz, float64 resonance)
void FilterLowPassMoogVcf::plot ( boolean  show_fc = true,
boolean  show_phase = false 
)

Definition at line 137 of file FilterLowPassMoogVcf.cc.

References Nsound::Plotter::axvline(), cutoff_, Nsound::Filter::plot(), resonance_, Nsound::Filter::sample_rate_, Nsound::Plotter::subplot(), and Nsound::Plotter::title().

138 {
139  char title[128];
140  sprintf(title,
141  "Moog 24 dB Resonant Lowpass\n"
142  "Resonance = %.3f, Cutoff = %0.1f Hz, sr = %0.1f Hz",
143  resonance_,
144  cutoff_,
145  sample_rate_);
146 
147  Filter::plot(show_phase);
148 
149  Plotter pylab;
150 
151  uint32 n_rows = 1;
152 
153  if(show_phase)
154  {
155  n_rows = 2;
156  }
157 
158  if(show_fc)
159  {
160  pylab.subplot(n_rows, 1, 1);
161 
162  pylab.axvline(cutoff_, "color='red'");
163 
164  pylab.title(title);
165  }
166 }
unsigned int uint32
Definition: Nsound.h:153
void axvline(const float64 &x_pos=0.0, const std::string &kwargs="")
Draws a vertical line at x and spans ymin to ymax (ralitive).
Definition: Plotter.cc:358
void title(const std::string &title, const std::string &kwargs="")
Add a title to the plot at the top and centered.
Definition: Plotter.cc:1127
Axes subplot(const uint32 n_rows, const uint32 n_cols, const uint32 n, const std::string &kwargs="", Axes *sharex=NULL, Axes *sharey=NULL)
Creates a figure in a subplot, subplot(A, B, C, **kwargs)
Definition: Plotter.cc:1031
void plot(boolean show_phase=false)
Definition: Filter.cc:262
float64 sample_rate_
Definition: Filter.h:113
void FilterLowPassMoogVcf::reset ( )
virtual

Resets interal history buffer and sets the cut off frequency to the one used at declaration.

Implements Nsound::Filter.

Definition at line 171 of file FilterLowPassMoogVcf.cc.

References _make_filter(), cutoff_, oldx_, oldy0_, oldy1_, oldy2_, resonance_, y0_, y1_, y2_, and y3_.

void FilterLowPassMoogVcf::_make_filter ( float64  cutoff_hz,
float64  resonance 
)
protected

Definition at line 71 of file FilterLowPassMoogVcf.cc.

References k_, p_, r_, and Nsound::Filter::sample_time_.

Referenced by filter(), FilterLowPassMoogVcf(), and reset().

72 {
73  // normalized, f = [0 : 1.0] (percent of nyquest)
74  float64 f = 2.0 * cutoff_hz * sample_time_;
75 
76  k_ = 3.6 * f - 1.6 * f * f - 1.0;
77  p_ = (k_ + 1.0) * 0.5;
78 
79  float64 scale = std::exp((1.0 - p_) * 1.386249);
80 
81  r_ = resonance * scale;
82 }
float64 sample_time_
Definition: Filter.h:115
double float64
Definition: Nsound.h:146
void Nsound::Filter::setRealtime ( bool  flag)
inlineinherited

Definition at line 57 of file Filter.h.

References Nsound::Filter::is_realtime_.

57 {is_realtime_ = flag;}
bool is_realtime_
Definition: Filter.h:118
AudioStream Filter::filter ( const AudioStream x)
inherited

Definition at line 53 of file Filter.cc.

References Nsound::AudioStream::getNChannels(), Nsound::AudioStream::getSampleRate(), Nsound::Filter::is_realtime_, M_THROW, and Nsound::Filter::reset().

Referenced by Nsound::FilterHighPassIIR::filter(), Nsound::FilterHighPassFIR::filter(), Nsound::FilterLowPassFIR::filter(), Nsound::FilterLowPassIIR::filter(), Nsound::FilterTone::filter(), Nsound::FilterDelay::filter(), Nsound::FilterMovingAverage::filter(), Nsound::FilterAllPass::filter(), Nsound::FilterFlanger::filter(), Nsound::Filter::filter(), Nsound::FilterCombLowPassFeedback::filter(), Nsound::FilterBandPassVocoder::filter(), Nsound::FilterPhaser::filter(), Nsound::FilterBandRejectFIR::filter(), Nsound::FilterBandPassFIR::filter(), Nsound::FilterBandRejectIIR::filter(), Nsound::FilterBandPassIIR::filter(), Nsound::FilterStageIIR::filter(), Nsound::FilterLeastSquaresFIR::filter(), Nsound::FilterIIR::filter(), and Nsound::Filter::getImpulseResponse().

54 {
55  if(!is_realtime_) reset();
56 
57  uint32 n_channels = x.getNChannels();
58 
59  if(is_realtime_ && n_channels > 1)
60  {
61  M_THROW("In real-time mode, a filter per audio channel must be used!");
62  }
63 
64  AudioStream y(x.getSampleRate(), n_channels);
65 
66  for(uint32 channel = 0; channel < n_channels; ++channel)
67  {
68  y[channel] = filter(x[channel]);
69  }
70 
71  return y;
72 }
unsigned int uint32
Definition: Nsound.h:153
float64 getSampleRate() const
Returns the sample rate of the stream.
Definition: AudioStream.h:217
virtual void reset()=0
uint32 getNChannels(void) const
Returns the number of audio channels in the stream.
Definition: AudioStream.h:212
AudioStream filter(const AudioStream &x)
Definition: Filter.cc:53
#define M_THROW(message)
Definition: Macros.h:108
bool is_realtime_
Definition: Filter.h:118
AudioStream Filter::filter ( const AudioStream x,
const float64 frequency 
)
inherited

Definition at line 76 of file Filter.cc.

References Nsound::Filter::filter(), Nsound::AudioStream::getNChannels(), Nsound::AudioStream::getSampleRate(), Nsound::Filter::is_realtime_, M_THROW, and Nsound::Filter::reset().

77 {
78  if(!is_realtime_) reset();
79 
80  uint32 n_channels = x.getNChannels();
81 
82  if(is_realtime_ && n_channels > 1)
83  {
84  M_THROW("In real-time mode, a filter per audio channel must be used!");
85  }
86 
87  AudioStream y(x.getSampleRate(), n_channels);
88 
89  for(uint32 channel = 0; channel < n_channels; ++channel)
90  {
91  y[channel] = filter(x[channel], frequency);
92  }
93 
94  return y;
95 }
unsigned int uint32
Definition: Nsound.h:153
float64 getSampleRate() const
Returns the sample rate of the stream.
Definition: AudioStream.h:217
virtual void reset()=0
uint32 getNChannels(void) const
Returns the number of audio channels in the stream.
Definition: AudioStream.h:212
AudioStream filter(const AudioStream &x)
Definition: Filter.cc:53
#define M_THROW(message)
Definition: Macros.h:108
bool is_realtime_
Definition: Filter.h:118
AudioStream Filter::filter ( const AudioStream x,
const Buffer frequencies 
)
inherited

Definition at line 99 of file Filter.cc.

References Nsound::Filter::filter(), Nsound::AudioStream::getNChannels(), Nsound::AudioStream::getSampleRate(), Nsound::Filter::is_realtime_, M_THROW, and Nsound::Filter::reset().

100 {
101  if(!is_realtime_) reset();
102 
103  uint32 n_channels = x.getNChannels();
104 
105  if(is_realtime_ && n_channels > 1)
106  {
107  M_THROW("In real-time mode, a filter per audio channel must be used!");
108  }
109 
110  AudioStream y(x.getSampleRate(), n_channels);
111 
112  for(uint32 channel = 0; channel < n_channels; ++channel)
113  {
114  y[channel] = filter(x[channel], frequency);
115  }
116 
117  return y;
118 }
unsigned int uint32
Definition: Nsound.h:153
float64 getSampleRate() const
Returns the sample rate of the stream.
Definition: AudioStream.h:217
virtual void reset()=0
uint32 getNChannels(void) const
Returns the number of audio channels in the stream.
Definition: AudioStream.h:212
AudioStream filter(const AudioStream &x)
Definition: Filter.cc:53
#define M_THROW(message)
Definition: Macros.h:108
bool is_realtime_
Definition: Filter.h:118
Buffer Filter::filter ( const Buffer x)
inherited

Definition at line 122 of file Filter.cc.

References Nsound::Filter::filter(), Nsound::Buffer::getLength(), Nsound::Filter::is_realtime_, and Nsound::Filter::reset().

123 {
124  if(!is_realtime_) reset();
125 
126  Buffer y(x.getLength());
127 
128  uint32 x_samples = x.getLength();
129 
130  for(uint32 i = 0; i < x_samples; ++i)
131  {
132  y << filter(x[i]);
133  }
134 
135  return y;
136 }
unsigned int uint32
Definition: Nsound.h:153
uint32 getLength() const
Returns the number of samples in the Buffer.
Definition: Buffer.h:587
virtual void reset()=0
AudioStream filter(const AudioStream &x)
Definition: Filter.cc:53
bool is_realtime_
Definition: Filter.h:118
A Buffer for storing audio samples.
Definition: Buffer.h:60
Buffer Filter::filter ( const Buffer x,
const float64 frequency 
)
inherited

Definition at line 140 of file Filter.cc.

References Nsound::Buffer::begin(), Nsound::Buffer::end(), Nsound::Filter::filter(), Nsound::Buffer::getLength(), Nsound::Filter::is_realtime_, and Nsound::Filter::reset().

141 {
142  if(!is_realtime_) reset();
143 
144  Buffer::const_iterator itor = x.begin();
145  Buffer::const_iterator end = x.end();
146 
147  Buffer y(x.getLength());
148 
149  while(itor != end)
150  {
151  y << filter(*itor, frequency);
152 
153  ++itor;
154  }
155 
156  return y;
157 }
uint32 getLength() const
Returns the number of samples in the Buffer.
Definition: Buffer.h:587
virtual void reset()=0
iterator end()
Retruns the itreator at the end of the Buffer.
Definition: Buffer.h:348
FloatVector::const_iterator const_iterator
Definition: Buffer.h:70
iterator begin()
Retruns the itreator at the start of the Buffer.
Definition: Buffer.h:285
AudioStream filter(const AudioStream &x)
Definition: Filter.cc:53
bool is_realtime_
Definition: Filter.h:118
A Buffer for storing audio samples.
Definition: Buffer.h:60
Buffer Filter::filter ( const Buffer x,
const Buffer frequencies 
)
inherited

Definition at line 161 of file Filter.cc.

References Nsound::Buffer::begin(), Nsound::Buffer::cbegin(), Nsound::Buffer::end(), Nsound::Filter::filter(), Nsound::Buffer::getLength(), Nsound::Filter::is_realtime_, and Nsound::Filter::reset().

162 {
163  if(!is_realtime_) reset();
164 
165  Buffer::const_circular_iterator freq = frequencies.cbegin();
166 
167  Buffer::const_iterator itor = x.begin();
168  Buffer::const_iterator end = x.end();
169 
170  Buffer y(x.getLength());
171 
172  while(itor != end)
173  {
174  y << filter(*itor, *freq);
175 
176  ++itor;
177  ++freq;
178  }
179 
180  return y;
181 }
circular_iterator cbegin()
Retruns the itreator at the start of the Buffer.
Definition: Buffer.h:318
uint32 getLength() const
Returns the number of samples in the Buffer.
Definition: Buffer.h:587
virtual void reset()=0
iterator end()
Retruns the itreator at the end of the Buffer.
Definition: Buffer.h:348
FloatVector::const_iterator const_iterator
Definition: Buffer.h:70
iterator begin()
Retruns the itreator at the start of the Buffer.
Definition: Buffer.h:285
AudioStream filter(const AudioStream &x)
Definition: Filter.cc:53
bool is_realtime_
Definition: Filter.h:118
A Buffer for storing audio samples.
Definition: Buffer.h:60
Buffer Filter::getFrequencyAxis ( const uint32  n_fft = 8192)
inherited

Definition at line 185 of file Filter.cc.

References Nsound::FFTransform::roundUp2(), and Nsound::Filter::sample_rate_.

Referenced by main(), Nsound::Filter::plot(), and Nsound::FilterIIR::savePlot().

186 {
187  uint32 fft_chunk_size = FFTransform::roundUp2(
188  static_cast<int32>(n_fft));
189 
190  uint32 n_samples = fft_chunk_size / 2 + 1;
191 
192  float64 f_step = (1.0 / (static_cast<float64>(fft_chunk_size) / 2.0))
193  * (sample_rate_ / 2.0);
194 
195  Buffer f_axis;
196 
197  float64 f = 0.0;
198 
199  for(uint32 i = 0; i < n_samples; ++i)
200  {
201  f_axis << f;
202  f += f_step;
203  }
204 
205  return f_axis;
206 };
unsigned int uint32
Definition: Nsound.h:153
double float64
Definition: Nsound.h:146
static int32 roundUp2(int32 raw)
Returns nearest power of 2 >= raw.
Definition: FFTransform.cc:274
A Buffer for storing audio samples.
Definition: Buffer.h:60
float64 sample_rate_
Definition: Filter.h:113
Buffer Filter::getFrequencyResponse ( const uint32  n_fft = 8192)
inherited

Definition at line 210 of file Filter.cc.

References Nsound::FFTransform::fft(), Nsound::Filter::getImpulseResponse(), and Nsound::Filter::sample_rate_.

Referenced by Nsound::FilterBandPassIIR::FilterBandPassIIR(), FilterLeastSquaresFIR_UnitTest(), Nsound::FilterIIR::getRMS(), main(), Nsound::Filter::plot(), and Nsound::FilterIIR::savePlot().

211 {
213 
214 //~ fft.setWindow(HANNING);
215 
216  FFTChunkVector vec;
217 
218  vec = fft.fft(getImpulseResponse(), n_fft);
219 
220  return vec[0].getMagnitude();
221 }
Buffer getImpulseResponse(const uint32 n_samples=8192)
Definition: Filter.cc:225
A Class that performes the Fast Fouier Transfrom on a Buffer.
Definition: FFTransform.h:57
std::vector< FFTChunk > FFTChunkVector
Definition: FFTChunk.h:119
float64 sample_rate_
Definition: Filter.h:113
Buffer Filter::getImpulseResponse ( const uint32  n_samples = 8192)
inherited

Definition at line 225 of file Filter.cc.

References Nsound::Filter::filter(), Nsound::Filter::is_realtime_, and Nsound::Filter::reset().

Referenced by Nsound::Filter::getFrequencyResponse(), Nsound::FilterHighPassFIR::getImpulseResponse(), Nsound::FilterLowPassFIR::getImpulseResponse(), Nsound::FilterLeastSquaresFIR::getImpulseResponse(), Nsound::FilterIIR::getImpulseResponse(), and Nsound::Filter::getPhaseResponse().

226 {
227  if(!is_realtime_) reset();
228 
229  Buffer response(n_samples);
230 
231  response << filter(1.0);
232 
233  for(uint32 i = 1; i < n_samples; ++i)
234  {
235  response << filter(0.0);
236  }
237 
238  if(!is_realtime_) reset();
239 
240  return response;
241 }
unsigned int uint32
Definition: Nsound.h:153
virtual void reset()=0
AudioStream filter(const AudioStream &x)
Definition: Filter.cc:53
bool is_realtime_
Definition: Filter.h:118
A Buffer for storing audio samples.
Definition: Buffer.h:60
virtual uint32 Nsound::Filter::getKernelSize ( ) const
inlinevirtualinherited
Buffer Filter::getPhaseResponse ( )
inherited

Definition at line 245 of file Filter.cc.

References Nsound::FFTransform::fft(), Nsound::Filter::getImpulseResponse(), Nsound::Buffer::getLength(), Nsound::Filter::sample_rate_, and Nsound::Buffer::subbuffer().

Referenced by Nsound::Filter::plot().

246 {
247  uint32 n_samples = static_cast<uint32>(sample_rate_ * 2);
248 
249  FFTransform fft(n_samples);
250 
251  FFTChunkVector vec;
252 
253  vec = fft.fft(getImpulseResponse(), n_samples);
254 
255  Buffer phase = vec[0].getPhase();
256 
257  return phase.subbuffer(0, phase.getLength() / 2 + 1);
258 }
Buffer subbuffer(uint32 start_index, uint32 n_samples=0) const
Slice the Buffer.
Definition: Buffer.cc:2073
unsigned int uint32
Definition: Nsound.h:153
uint32 getLength() const
Returns the number of samples in the Buffer.
Definition: Buffer.h:587
Buffer getImpulseResponse(const uint32 n_samples=8192)
Definition: Filter.cc:225
A Class that performes the Fast Fouier Transfrom on a Buffer.
Definition: FFTransform.h:57
A Buffer for storing audio samples.
Definition: Buffer.h:60
std::vector< FFTChunk > FFTChunkVector
Definition: FFTChunk.h:119
float64 sample_rate_
Definition: Filter.h:113
float64 Nsound::Filter::getSampleRate ( ) const
inlineinherited

Definition at line 102 of file Filter.h.

References Nsound::Filter::sample_rate_.

102 { return sample_rate_; };
float64 sample_rate_
Definition: Filter.h:113
void Filter::plot ( boolean  show_phase = false)
inherited

Definition at line 262 of file Filter.cc.

References Nsound::Plotter::figure(), Nsound::Buffer::getdB(), Nsound::Filter::getFrequencyAxis(), Nsound::Filter::getFrequencyResponse(), Nsound::Buffer::getMax(), Nsound::Filter::getPhaseResponse(), Nsound::Plotter::plot(), Nsound::Plotter::subplot(), Nsound::Plotter::xlabel(), Nsound::Plotter::ylabel(), and Nsound::Plotter::ylim().

Referenced by main(), plot(), Nsound::FilterPhaser::plot(), Nsound::FilterTone::plot(), Nsound::FilterHighPassIIR::plot(), Nsound::FilterCombLowPassFeedback::plot(), Nsound::FilterLowPassIIR::plot(), Nsound::FilterLowPassFIR::plot(), Nsound::FilterHighPassFIR::plot(), Nsound::FilterAllPass::plot(), Nsound::FilterBandPassVocoder::plot(), Nsound::FilterBandPassFIR::plot(), Nsound::FilterLeastSquaresFIR::plot(), Nsound::FilterFlanger::plot(), Nsound::FilterBandRejectFIR::plot(), Nsound::FilterBandPassIIR::plot(), Nsound::FilterBandRejectIIR::plot(), and Nsound::FilterParametricEqualizer::plot().

263 {
264  Buffer x = getFrequencyAxis();
266 
267  Plotter pylab;
268 
269  pylab.figure();
270 
271  uint32 n_rows = 1;
272  uint32 n_cols = 1;
273 
274  if(show_phase)
275  {
276  n_rows = 2;
277  }
278 
279  pylab.subplot(n_rows, n_cols, 1);
280 
281  // Frequency response
282  pylab.plot(x,fr, "blue");
283 
284  pylab.xlabel("Frequency (Hz)");
285  pylab.ylabel("Frequency Response (dB)");
286 
287  // Phase response
288  if(show_phase)
289  {
290  pylab.subplot(n_rows, n_cols, 2);
291 
292  Buffer pr = getPhaseResponse().getdB();
293 
294  pylab.plot(x,pr);
295 
296  pylab.xlabel("Frequency (Hz)");
297  pylab.ylabel("Phase Response (dB)");
298  }
299 
300  float64 ymax = fr.getMax();
301  float64 height = ymax - -60.0;
302 
303  pylab.ylim(-60.0, ymax + 0.05 * height);
304 }
unsigned int uint32
Definition: Nsound.h:153
void xlabel(const std::string &label, const std::string &kwargs="")
Add a label x axis.
Definition: Plotter.cc:1154
void plot(const Buffer &y, const std::string &fmt="", const std::string &kwargs="")
Plots the Buffer on the current figure.
Definition: Plotter.cc:765
void figure(const std::string &kwargs="") const
Creates a new figure window to plot in.
Definition: Plotter.cc:455
Buffer getPhaseResponse()
Definition: Filter.cc:245
double float64
Definition: Nsound.h:146
Axes subplot(const uint32 n_rows, const uint32 n_cols, const uint32 n, const std::string &kwargs="", Axes *sharex=NULL, Axes *sharey=NULL)
Creates a figure in a subplot, subplot(A, B, C, **kwargs)
Definition: Plotter.cc:1031
void ylim(const float64 &ymin, const float64 &ymax)
Definition: Plotter.cc:422
Buffer getFrequencyAxis(const uint32 n_fft=8192)
Definition: Filter.cc:185
void ylabel(const std::string &label, const std::string &kwargs="")
Add a label y axis.
Definition: Plotter.cc:1180
A Buffer for storing audio samples.
Definition: Buffer.h:60
Buffer getFrequencyResponse(const uint32 n_fft=8192)
Definition: Filter.cc:210
float64 getMax() const
Returns the maximum sample value in the Buffer.
Definition: Buffer.cc:951
Buffer getdB() const
Returns the Buffer in dB.
Definition: Buffer.h:487

Member Data Documentation

float64 Nsound::FilterLowPassMoogVcf::resonance_
protected

Definition at line 83 of file FilterLowPassMoogVcf.h.

Referenced by filter(), plot(), and reset().

float64 Nsound::FilterLowPassMoogVcf::cutoff_
protected

Definition at line 84 of file FilterLowPassMoogVcf.h.

Referenced by plot(), and reset().

float64 Nsound::FilterLowPassMoogVcf::k_
protected

Definition at line 85 of file FilterLowPassMoogVcf.h.

Referenced by _make_filter(), and filter().

float64 Nsound::FilterLowPassMoogVcf::p_
protected

Definition at line 86 of file FilterLowPassMoogVcf.h.

Referenced by _make_filter(), and filter().

float64 Nsound::FilterLowPassMoogVcf::r_
protected

Definition at line 87 of file FilterLowPassMoogVcf.h.

Referenced by _make_filter(), and filter().

float64 Nsound::FilterLowPassMoogVcf::oldx_
protected

Definition at line 89 of file FilterLowPassMoogVcf.h.

Referenced by filter(), and reset().

float64 Nsound::FilterLowPassMoogVcf::y0_
protected

Definition at line 90 of file FilterLowPassMoogVcf.h.

Referenced by filter(), and reset().

float64 Nsound::FilterLowPassMoogVcf::y1_
protected

Definition at line 90 of file FilterLowPassMoogVcf.h.

Referenced by filter(), and reset().

float64 Nsound::FilterLowPassMoogVcf::y2_
protected

Definition at line 90 of file FilterLowPassMoogVcf.h.

Referenced by filter(), and reset().

float64 Nsound::FilterLowPassMoogVcf::y3_
protected

Definition at line 90 of file FilterLowPassMoogVcf.h.

Referenced by filter(), and reset().

float64 Nsound::FilterLowPassMoogVcf::oldy0_
protected

Definition at line 91 of file FilterLowPassMoogVcf.h.

Referenced by filter(), and reset().

float64 Nsound::FilterLowPassMoogVcf::oldy1_
protected

Definition at line 91 of file FilterLowPassMoogVcf.h.

Referenced by filter(), and reset().

float64 Nsound::FilterLowPassMoogVcf::oldy2_
protected

Definition at line 91 of file FilterLowPassMoogVcf.h.

Referenced by filter(), and reset().

float64 Nsound::Filter::sample_rate_
protectedinherited

Definition at line 113 of file Filter.h.

Referenced by Nsound::FilterPhaser::filter(), Nsound::FilterCombLowPassFeedback::filter(), Nsound::FilterDelay::filter(), Nsound::FilterAllPass::FilterAllPass(), Nsound::FilterCombLowPassFeedback::FilterCombLowPassFeedback(), Nsound::FilterDelay::FilterDelay(), Nsound::FilterFlanger::FilterFlanger(), Nsound::FilterPhaser::FilterPhaser(), Nsound::FilterSlinky::FilterSlinky(), Nsound::Filter::getFrequencyAxis(), Nsound::Filter::getFrequencyResponse(), Nsound::Filter::getPhaseResponse(), Nsound::Filter::getSampleRate(), Nsound::FilterStageIIR::makeIIRKernelHelper(), Nsound::FilterHighPassFIR::makeKernel(), Nsound::FilterStageIIR::makeKernel(), Nsound::FilterBandPassVocoder::makeKernel(), Nsound::FilterLeastSquaresFIR::makeKernel(), Nsound::FilterParametricEqualizer::makeKernel(), Nsound::FilterPhaser::operator=(), Nsound::FilterLeastSquaresFIR::operator=(), Nsound::FilterFlanger::operator=(), Nsound::FilterIIR::operator=(), plot(), Nsound::FilterPhaser::plot(), Nsound::FilterTone::plot(), Nsound::FilterHighPassIIR::plot(), Nsound::FilterLowPassIIR::plot(), Nsound::FilterCombLowPassFeedback::plot(), Nsound::FilterLowPassFIR::plot(), Nsound::FilterHighPassFIR::plot(), Nsound::FilterAllPass::plot(), Nsound::FilterBandPassFIR::plot(), Nsound::FilterLeastSquaresFIR::plot(), Nsound::FilterFlanger::plot(), Nsound::FilterBandRejectFIR::plot(), Nsound::FilterBandRejectIIR::plot(), Nsound::FilterBandPassIIR::plot(), Nsound::FilterParametricEqualizer::plot(), Nsound::FilterLowPassIIR::setCutoff(), and Nsound::FilterLeastSquaresFIR::setWindow().

float64 Nsound::Filter::two_pi_over_sample_rate_
protectedinherited
float64 Nsound::Filter::sample_time_
protectedinherited

Definition at line 115 of file Filter.h.

Referenced by _make_filter().

uint32 Nsound::Filter::kernel_size_
protectedinherited
bool Nsound::Filter::is_realtime_
protectedinherited

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