|
marvin 0.0.1
Pure C++ audio helper library
|
A white noise oscillator. More...
#include <marvin_Oscillator.h>
Public Member Functions | |
| NoiseOscillator (std::random_device &rd) | |
| ~NoiseOscillator () noexcept override=default | |
| SampleType | operator() () noexcept override |
| SampleType | operator() (SampleType phase) noexcept override |
| Public Member Functions inherited from marvin::dsp::oscillators::OscillatorBase< SampleType > | |
| virtual | ~OscillatorBase () noexcept=default |
| virtual void | initialise (double sampleRate) |
| virtual void | reset () noexcept |
| void | setFrequency (SampleType newFrequency) noexcept |
| void | setPhaseOffset (SampleType newPhaseOffset) noexcept |
Additional Inherited Members | |
| Protected Member Functions inherited from marvin::dsp::oscillators::OscillatorBase< SampleType > | |
| void | incrementPhase () noexcept |
| Protected Attributes inherited from marvin::dsp::oscillators::OscillatorBase< SampleType > | |
| double | m_sampleRate {} |
| SampleType | m_phaseIncrement { static_cast<SampleType>(0.0) } |
| SampleType | m_phase { static_cast<SampleType>(0.0) } |
| SampleType | m_phaseOffset { static_cast<SampleType>(0.0) } |
A white noise oscillator.
|
explicit |
As it's not recommended to keep multiple instances of std::random_device around, it's necessary to pass one in by reference to the constructor, as a seed for the internal rng.
| rd | The seed generator to use. |
|
overridedefaultnoexcept |
|
nodiscardoverridevirtualnoexcept |
Processes the next sample of the wave, handling phase increments internally. Make sure to call prepareToPlay and setFrequency before calling this function!
Implements marvin::dsp::oscillators::OscillatorBase< SampleType >.
|
nodiscardoverridevirtualnoexcept |
As NoiseOscillator has no concept of phase, this overload is exactly identical to the internal phase overload.
| phase | Unused in this case. |
Implements marvin::dsp::oscillators::OscillatorBase< SampleType >.