|
Tabula Sonora 0.1.0
A native C++20 implementation of the Roland Sound Canvas VA synth voice
|
The four-band EQ block's coefficient tables — two bands, two corner frequencies each. More...
#include <tabulasonora/effect_presets.hpp>
Public Member Functions | |
| const EqBand & | low_band (int frequency, int gain) const noexcept |
| The band for a SysEx frequency and gain pair, clamped the way the engine clamps them. | |
| const EqBand & | high_band (int frequency, int gain) const noexcept |
Public Attributes | |
| std::array< std::array< EqBand, gain_count >, 2 > | low {} |
| [frequency][gain byte − 0x34]. | |
| std::array< std::array< EqBand, gain_count >, 2 > | high {} |
Static Public Attributes | |
| static constexpr int | gain_count = 25 |
| Gain settings per band: 40 02 01 and 40 02 03 accept 0x34–0x4C, which is −12…+12 dB. | |
| static constexpr int | gain_base = 0x34 |
| The lowest gain byte, subtracted to index the tables. | |
| static constexpr std::array< int, 2 > | low_frequencies {200, 400} |
| Corner frequencies each band can be switched between, in Hz, for reporting only — the coefficients carry the real thing. | |
| static constexpr std::array< int, 2 > | high_frequencies {3000, 6000} |
The four-band EQ block's coefficient tables — two bands, two corner frequencies each.
The engine computes nothing here: every gain setting is a stored row, and the SysEx values index straight into them. The corner is not a parameter but a choice of table, which is why 40 02 00 and 40 02 02 take 0 or 1 and nothing else.
|
nodiscardnoexcept |
The band for a SysEx frequency and gain pair, clamped the way the engine clamps them.
|
nodiscardnoexcept |
|
staticconstexpr |
Gain settings per band: 40 02 01 and 40 02 03 accept 0x34–0x4C, which is −12…+12 dB.
|
staticconstexpr |
The lowest gain byte, subtracted to index the tables.
|
staticconstexpr |
Corner frequencies each band can be switched between, in Hz, for reporting only — the coefficients carry the real thing.
|
staticconstexpr |
| std::array<std::array<EqBand, gain_count>, 2> ts::EqPresets::low {} |
[frequency][gain byte − 0x34].
| std::array<std::array<EqBand, gain_count>, 2> ts::EqPresets::high {} |