HephAudio v3.0.6
A cross-platform C++ library for recording, playing, and processing audio on Windows, Android, Linux, iOS, and macOS.
Loading...
Searching...
No Matches
Chorus.h
Go to the documentation of this file.
1#pragma once
2#include "HephAudioShared.h"
3#include "Flanger.h"
4
7namespace HephAudio
8{
15 class Chorus : public Flanger
16 {
17 protected:
21 double extent;
22
23 public:
26
32 Chorus(double depth, double constantDelay, double variableDelay, double extent, const Oscillator& lfo);
33
35 virtual ~Chorus() = default;
36
37 virtual std::string Name() const override;
38 virtual size_t CalculateRequiredFrameCount(size_t outputFrameCount, const AudioFormatInfo& formatInfo) const override;
39
44 virtual double GetExtent() const;
45
52 virtual void SetExtent(double extent);
53
54 protected:
55 virtual void ProcessST(const AudioBuffer& inputBuffer, AudioBuffer& outputBuffer, size_t startIndex, size_t frameCount) override;
56 virtual size_t CalculatePastSamplesSize(const AudioBuffer& inputBuffer) const override;
57 };
58}
class for storing the audio samples in internal format.
Definition AudioBuffer.h:16
delays the audio data and changes its pitch periodically. Then mixes the result with the input signal...
Definition Chorus.h:16
virtual std::string Name() const override
virtual void SetExtent(double extent)
virtual size_t CalculatePastSamplesSize(const AudioBuffer &inputBuffer) const override
virtual size_t CalculateRequiredFrameCount(size_t outputFrameCount, const AudioFormatInfo &formatInfo) const override
virtual ~Chorus()=default
virtual double GetExtent() const
double extent
Definition Chorus.h:21
Chorus(double depth, double constantDelay, double variableDelay, double extent, const Oscillator &lfo)
virtual void ProcessST(const AudioBuffer &inputBuffer, AudioBuffer &outputBuffer, size_t startIndex, size_t frameCount) override
delays the audio data and mixes the result with the input signal. The amount of delay applied changes...
Definition Flanger.h:14
double variableDelay
Definition Flanger.h:32
double constantDelay
Definition Flanger.h:27
double depth
Definition ModulationEffect.h:35
base class for oscillators.
Definition Oscillator.h:16
stores the properties of the audio signals
Definition AudioFormatInfo.h:20