HephAudio v3.1.0
A cross-platform C++ library for recording, playing, and processing audio on Windows, Android, Linux, iOS, and macOS.
Loading...
Searching...
No Matches
HephAudio::BandPassFilter Class Reference

removes the frequencies that are not in the provided frequency band. More...

#include <BandPassFilter.h>

Inheritance diagram for HephAudio::BandPassFilter:
HephAudio::Equalizer HephAudio::FrequencyDomainEffect HephAudio::OlaEffect HephAudio::DoubleBufferedAudioEffect HephAudio::AudioEffect

Public Member Functions

 BandPassFilter ()
 
 BandPassFilter (double f1, double f2, size_t hopSize, const Window &wnd)
 
virtual ~BandPassFilter ()=default
 
virtual std::string Name () const override
 
virtual double GetF1 () const
 
virtual void SetF1 (double f1)
 
virtual double GetF2 () const
 
virtual void SetF2 (double f2)
 
- Public Member Functions inherited from HephAudio::Equalizer
 Equalizer ()
 
 Equalizer (size_t hopSize, const Window &wnd)
 
 Equalizer (size_t hopSize, const Window &wnd, const std::initializer_list< Equalizer::FrequencyRange > &frequencyRanges)
 
 Equalizer (size_t hopSize, const Window &wnd, const std::vector< Equalizer::FrequencyRange > &frequencyRanges)
 
virtual ~Equalizer ()=default
 
- Public Member Functions inherited from HephAudio::FrequencyDomainEffect
virtual ~FrequencyDomainEffect ()=default
 
virtual void SetWindow (const Window &wnd) override
 
- Public Member Functions inherited from HephAudio::OlaEffect
virtual ~OlaEffect ()=default
 
virtual size_t CalculateRequiredFrameCount (size_t outputFrameCount, const AudioFormatInfo &formatInfo) const
 
virtual void ResetInternalState () override
 
virtual void Process (AudioBuffer &buffer, size_t startIndex, size_t frameCount) override
 
virtual size_t GetHopSize () const
 
virtual void SetHopSize (size_t hopSize)
 
virtual size_t GetWindowSize () const
 
virtual void Process (AudioBuffer &buffer)
 
virtual void Process (AudioBuffer &buffer, size_t startIndex)
 
- Public Member Functions inherited from HephAudio::DoubleBufferedAudioEffect
virtual ~DoubleBufferedAudioEffect ()=default
 
- Public Member Functions inherited from HephAudio::AudioEffect
virtual ~AudioEffect ()=default
 
virtual bool HasMTSupport () const
 
virtual bool HasRTSupport () const
 
virtual size_t GetThreadCount () const
 
virtual void SetThreadCount (size_t threadCount)
 
virtual size_t CalculateOutputFrameCount (size_t inputFrameCount, const AudioFormatInfo &formatInfo) const
 
virtual size_t CalculateAdvanceSize (size_t renderFrameCount, const AudioFormatInfo &formatInfo) const
 

Protected Member Functions

virtual const std::vector< Equalizer::FrequencyRange > & GetFrequencyRanges () const
 
virtual void AddFrequencyRange (double f1, double f2, double volume)
 
virtual void AddFrequencyRange (const Equalizer::FrequencyRange &range)
 
virtual void ModifyFrequencyRange (size_t index, const Equalizer::FrequencyRange &range)
 
virtual void RemoveFrequencyRange (size_t index)
 
- Protected Member Functions inherited from HephAudio::Equalizer
virtual void ProcessST (const AudioBuffer &inputBuffer, AudioBuffer &outputBuffer, size_t startIndex, size_t frameCount) override
 
- Protected Member Functions inherited from HephAudio::FrequencyDomainEffect
 FrequencyDomainEffect ()
 
 FrequencyDomainEffect (size_t hopSize)
 
 FrequencyDomainEffect (size_t hopSize, const Window &wnd)
 
- Protected Member Functions inherited from HephAudio::OlaEffect
 OlaEffect ()
 
 OlaEffect (size_t hopSize)
 
 OlaEffect (size_t hopSize, const Window &wnd)
 
virtual size_t CalculateMaxNumberOfOverlaps () const
 
virtual size_t CalculatePastSamplesSize () const
 
- Protected Member Functions inherited from HephAudio::DoubleBufferedAudioEffect
 DoubleBufferedAudioEffect ()
 
virtual AudioBuffer CreateOutputBuffer (const AudioBuffer &inputBuffer, size_t startIndex, size_t frameCount) const
 
virtual void InitializeOutputBuffer (const AudioBuffer &inputBuffer, AudioBuffer &outputBuffer, size_t startIndex, size_t frameCount) const
 
- Protected Member Functions inherited from HephAudio::AudioEffect
 AudioEffect ()
 
virtual void ProcessMT (const AudioBuffer &inputBuffer, AudioBuffer &outputBuffer, size_t startIndex, size_t frameCount)
 

Additional Inherited Members

- Protected Attributes inherited from HephAudio::Equalizer
std::vector< Equalizer::FrequencyRangefrequencyRanges
 
- Protected Attributes inherited from HephAudio::OlaEffect
size_t hopSize
 
Heph::DoubleBuffer wnd
 
size_t currentIndex
 
AudioBuffer pastSamples
 
- Protected Attributes inherited from HephAudio::AudioEffect
size_t threadCount
 

Detailed Description

removes the frequencies that are not in the provided frequency band.

Constructor & Destructor Documentation

◆ BandPassFilter() [1/2]

HephAudio::BandPassFilter::BandPassFilter ( )

creates a new instance and initializes it with default values.

◆ BandPassFilter() [2/2]

HephAudio::BandPassFilter::BandPassFilter ( double f1,
double f2,
size_t hopSize,
const Window & wnd )

creates a new instance and initializes it with the provided values.

Parameters
f1first frequency.
f2second frequency.
hopSizenumber of frames to advance each iteration.
wndwindow that will be applied for overlap-add.

◆ ~BandPassFilter()

virtual HephAudio::BandPassFilter::~BandPassFilter ( )
virtualdefault

releases the resources and destroys the instance.

Member Function Documentation

◆ Name()

virtual std::string HephAudio::BandPassFilter::Name ( ) const
overridevirtual

gets the name of the audio effect.

Reimplemented from HephAudio::Equalizer.

◆ GetF1()

virtual double HephAudio::BandPassFilter::GetF1 ( ) const
virtual

gets the first frequency.

◆ SetF1()

virtual void HephAudio::BandPassFilter::SetF1 ( double f1)
virtual

sets the first frequency.

Parameters
f1first frequency.

◆ GetF2()

virtual double HephAudio::BandPassFilter::GetF2 ( ) const
virtual

gets the second frequency.

◆ SetF2()

virtual void HephAudio::BandPassFilter::SetF2 ( double f2)
virtual

sets the second frequency.

Parameters
f2second frequency.

◆ GetFrequencyRanges()

virtual const std::vector< Equalizer::FrequencyRange > & HephAudio::Equalizer::GetFrequencyRanges ( ) const
protectedvirtual

gets a const reference to the internal frequency range vector.

Reimplemented from HephAudio::Equalizer.

◆ AddFrequencyRange() [1/2]

virtual void HephAudio::Equalizer::AddFrequencyRange ( double f1,
double f2,
double volume )
protectedvirtual

adds frequency range.

Parameters
f1first frequency.
f2second frequency.
volumevolume adjustment for the frequency range.

Reimplemented from HephAudio::Equalizer.

◆ AddFrequencyRange() [2/2]

virtual void HephAudio::Equalizer::AddFrequencyRange ( const Equalizer::FrequencyRange & range)
protectedvirtual

adds frequency range.

Parameters
rangerepresents a range of frequencies with volume adjustment.

Reimplemented from HephAudio::Equalizer.

◆ ModifyFrequencyRange()

virtual void HephAudio::Equalizer::ModifyFrequencyRange ( size_t index,
const Equalizer::FrequencyRange & range )
protectedvirtual

modifies the frequency range at the provided index.

Parameters
indexindex of the frequency range that will be modified.
rangerepresents a range of frequencies with volume adjustment.

Reimplemented from HephAudio::Equalizer.

◆ RemoveFrequencyRange()

virtual void HephAudio::Equalizer::RemoveFrequencyRange ( size_t index)
protectedvirtual

removes the frequency range at the provided index.

Parameters
indexindex of the frequency range that will be removed.

Reimplemented from HephAudio::Equalizer.