Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
bias.hpp
Go to the documentation of this file.
1#pragma once
2
3// Bias — adds a constant DC offset to a signal.
4// Trivial but included for API completeness.
5
6#include <cstddef>
7
8namespace pulp::signal {
9
10// RT contract: setters, reset(), set_sample_rate(), and process paths are
11// scalar-only and allocate no memory.
12template <typename SampleType = float>
13class BiasT {
14public:
15 void set_bias(SampleType b) { bias_ = b; }
16 SampleType bias() const { return bias_; }
17
18 SampleType process(SampleType input) const { return input + bias_; }
19
20 void process(SampleType* buffer, int num_samples) const {
21 for (int i = 0; i < num_samples; ++i)
22 buffer[i] += bias_;
23 }
24
25 void process(const SampleType* input, SampleType* output, int num_samples) const {
26 for (int i = 0; i < num_samples; ++i)
27 output[i] = input[i] + bias_;
28 }
29
30 void reset() {}
31 void set_sample_rate(SampleType) {}
32
33private:
34 SampleType bias_ = SampleType{0.0f};
35};
36
39
40} // namespace pulp::signal
Definition bias.hpp:13
void reset()
Definition bias.hpp:30
void process(SampleType *buffer, int num_samples) const
Definition bias.hpp:20
void set_sample_rate(SampleType)
Definition bias.hpp:31
void set_bias(SampleType b)
Definition bias.hpp:15
SampleType bias() const
Definition bias.hpp:16
SampleType process(SampleType input) const
Definition bias.hpp:18
void process(const SampleType *input, SampleType *output, int num_samples) const
Definition bias.hpp:25
Definition additive_bank.hpp:218
@ buffer
A borrowed static buffer with a traversable playhead.
Definition granular.hpp:110
BiasT< float > Bias
Definition bias.hpp:37
@ i
Definition formant_filter_bank.hpp:20
BiasT< double > Bias64
Definition bias.hpp:38