-
Notifications
You must be signed in to change notification settings - Fork 1
ring mod
senso edited this page Jun 22, 2026
·
2 revisions
#example #audio #query #events #simple
Ring modulator audio effect.
| Module Name | ring mod example |
| Type | mtSimple |
| Color | clAudioModuleColor |
| Source | examples/RingMod/ |
A ring modulator that multiplies audio inputs by a modulation signal with a dry/wet mix control. Supports multi-channel audio via the query system.
Dynamic count (N = number of audio channels):
| # | Name | Type | I/O | Details |
|---|---|---|---|---|
| 0..N-1 |
in 1, in 2, ... |
ptAudio |
Input | Audio inputs |
| N..2N-1 |
out 1, out 2, ... |
ptAudio |
Output (ReadOnly) | Audio outputs |
| 2N | mod |
ptAudio |
Input | Modulation signal |
| 2N+1 | mix |
ptDataFader |
Input | Dry/wet mix (0–1, default 0.5) |
-
onCallBack: Stores mix coefficient instd::atomic<float> -
onProcess: For each channel:output = input * (1-mix) + (input * mod) * mix - Uses
createEventfor a temporary multiplication buffer
- Ring modulation via event multiplication
-
Temporary events with
createEvent/destroyEvent - Dry/wet mixing pattern
-
std::atomicfor thread-safe parameter sharing
onGetModuleInfo · onGetNumberOfParams · onAfterQuery · onInitModule · onGetParamInfo · onCallBack · onProcess
- RingModMultithread — Same effect with parallel processing
- AudioVolume — Simpler multi-channel audio