Nsound  0.9.4
FilterHighPassFIR.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------------
2 //
3 // $Id: FilterHighPassFIR.h 874 2014-09-08 02:21:29Z weegreenblobbie $
4 //
5 // Nsound is a C++ library and Python module for audio synthesis featuring
6 // dynamic digital filters. Nsound lets you easily shape waveforms and write
7 // to disk or plot them. Nsound aims to be as powerful as Csound but easy to
8 // use.
9 //
10 // Copyright (c) 2006 Nick Hilton
11 //
12 // weegreenblobbie_yahoo_com (replace '_' with '@' and '.')
13 //
14 //-----------------------------------------------------------------------------
15 
16 //-----------------------------------------------------------------------------
17 //
18 // This program is free software; you can redistribute it and/or modify
19 // it under the terms of the GNU General Public License as published by
20 // the Free Software Foundation; either version 2 of the License, or
21 // (at your option) any later version.
22 //
23 // This program is distributed in the hope that it will be useful,
24 // but WITHOUT ANY WARRANTY; without even the implied warranty of
25 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 // GNU Library General Public License for more details.
27 //
28 // You should have received a copy of the GNU General Public License
29 // along with this program; if not, write to the Free Software
30 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
31 //
32 //-----------------------------------------------------------------------------
33 #ifndef _NSOUND_FILTER_HIGH_PASS_FIR_H_
34 #define _NSOUND_FILTER_HIGH_PASS_FIR_H_
35 
37 
38 namespace Nsound
39 {
40 
41 //-----------------------------------------------------------------------------
43 {
44  public:
45 
47  const float64 & sample_rate,
48  uint32 kernel_size,
49  const float64 & cutoff_frequency_Hz);
50 
51  virtual ~FilterHighPassFIR();
52 
54  filter(const AudioStream & x);
55 
57  filter(const AudioStream & x, const float64 & frequency);
58 
60  filter(const AudioStream & x, const Buffer & frequencies);
61 
62  Buffer
63  filter(const Buffer & x);
64 
65  Buffer
66  filter(const Buffer & x, const float64 & frequency);
67 
68  Buffer
69  filter(const Buffer & x, const Buffer & frequencies);
70 
71  virtual
72  float64
73  filter(const float64 & x);
74 
75  virtual
76  float64
77  filter(const float64 & x, const float64 & frequency_Hz);
78 
79  float64
80  getFrequency() const {return frequency_1_Hz_;};
81 
82  Buffer
84 
85  void
86  makeKernel(const float64 & frequency);
87 
88  void
89  plot(boolean show_fc = true, boolean show_phase = false);
90 
93  virtual
94  void
95  reset();
96 
97  protected:
98 
100 
101  void
103 
104 }; // HighPassFilter
105 
106 }; // Nsound
107 
108 // :mode=c++: jEdit modeline
109 #endif
unsigned int uint32
Definition: Nsound.h:153
FilterLowPassFIR::KernelCache hp_cache_
double float64
Definition: Nsound.h:146
FilterHighPassFIR(const float64 &sample_rate, uint32 kernel_size, const float64 &cutoff_frequency_Hz)
void makeKernel(const float64 &frequency)
std::set< Kernel > KernelCache
void plot(boolean show_fc=true, boolean show_phase=false)
A Buffer for storing audio samples.
Definition: Buffer.h:60
float64 getFrequency() const
AudioStream filter(const AudioStream &x)