An internally carried ring modulator with ideal and diode-ring models. More...
#include <nonlinear_shaping.hpp>
Public Member Functions | |
| NonlinearRingModulatorT () noexcept | |
| void | prepare (double sample_rate) |
| void | set_alias_policy (NonlinearAliasPolicy policy) |
| NonlinearAliasPolicy | alias_policy () const noexcept |
| int | oversample_factor () const noexcept |
| int | latency_samples () const noexcept |
| int | tail_samples () const noexcept |
| double | sample_rate () const noexcept |
| void | set_model (RingModulationModel model) noexcept |
| RingModulationModel | model () const noexcept |
| void | set_carrier_hz (double hz) noexcept |
| double | carrier_hz () const noexcept |
| void | set_index (double index01) noexcept |
| double | index () const noexcept |
| void | set_nonlinear_drive (double drive) noexcept |
| double | nonlinear_drive () const noexcept |
| void | set_carrier_waveform (RingCarrierWaveform waveform) noexcept |
| RingCarrierWaveform | carrier_waveform () const noexcept |
| void | set_carrier_mode (RingCarrierMode mode) noexcept |
| RingCarrierMode | carrier_mode () const noexcept |
| void | set_output_polarity (RingOutputPolarity polarity) noexcept |
| RingOutputPolarity | output_polarity () const noexcept |
| void | set_phase (double cycles) noexcept |
| double | phase () const noexcept |
| void | reset () noexcept |
| SampleType | process (SampleType input) noexcept |
| void | process_block (const SampleType *input, SampleType *output, std::size_t sample_count) noexcept |
| double | shape (double input, double carrier) const noexcept |
Static Public Member Functions | |
| static constexpr double | dc_output () noexcept |
An internally carried ring modulator with ideal and diode-ring models.
Keeping the carrier inside the oversampled callback makes the carrier and audio meet at the same rate; multiplying a host-rate carrier after the upsampler would retain the very sum sideband the policy is meant to reject.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinestaticconstexprnoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |