|
Tabula Sonora 0.1.0
A native C++20 implementation of the Roland Sound Canvas VA synth voice
|
The GS chorus: a modulated delay line with two anti-phase taps. More...
#include <tabulasonora/send_effects.hpp>
Public Member Functions | |
| Chorus (const ChorusPreset &preset) | |
| void | reset () override |
| Clears all internal state. | |
| void | process (std::span< const float > input, std::span< float > left, std::span< float > right) override |
| Processes a block. | |
| Public Member Functions inherited from ts::Effect | |
| virtual | ~Effect ()=default |
Static Public Member Functions | |
| static Chorus | for_type (std::optional< int > type) |
| Creates a chorus for a GS type 0–7, or the default when none is given. | |
| static double | send_gain (int controller) noexcept |
| The send-bus gain for CC#93. | |
Static Public Attributes | |
| static constexpr int | ring_size = 65536 |
| Size of the delay ring. | |
The GS chorus: a modulated delay line with two anti-phase taps.
A 24-bit signed sawtooth drives a triangle from its magnitude; the two taps read 180° apart, which is what makes the output stereo from a mono send. The engine has a companion right-hand stage, but it is gated off for every GS type, so the left stage alone is correct.
|
inlineexplicit |
|
staticnodiscard |
Creates a chorus for a GS type 0–7, or the default when none is given.
|
inlinestaticnodiscardnoexcept |
The send-bus gain for CC#93.
|
overridevirtual |
Clears all internal state.
Implements ts::Effect.
|
overridevirtual |
Processes a block.
Implements ts::Effect.
|
staticconstexpr |
Size of the delay ring.