Question to the Masses: Resonance

Official support for: zynaddsubfx.sourceforge.net
Post Reply New Topic
RELATED
PRODUCTS

Post

To those of you who have been using ZynAddSubFX for a while, especially those who understand the advanced aspects well, I have a question:

What exactly IS the Resonance function, and how does it shape the sound?

I've been using Zyn for several years, but never truly explored this feature. As far as I can tell, it's a hand-drawn equalizer that is resizable, but doesn't have any specific frequencies to reference.
Couple of points:
1. Does it affect the sound in any way different than frequency boosts/cuts (more than just EQ)
2. What is the reference point for the frequencies? Does it function similar to the Local EQ in Harmor where the midi note playing is the lowest point on the graph, or is it something else?

Would love to hear some feedback!

(Side note: where is everyone? Activity has been so slow on this forum :( )
Free BassTables for Xfer Serum 1 | 2
2016 Synthmaster Song Contest Winner Presets

Post

Did some exploring last night, and realized there actually is a reference point for the graph (the "center frequency" value) :dog:
Still, my first question stands: does it affect the sound beyond the way an EQ does? I'm thinking it may do more with the harmonics of a sound, but clarification would be great!
Free BassTables for Xfer Serum 1 | 2
2016 Synthmaster Song Contest Winner Presets

Post

The resonance window controls a per harmonic adjustment term which varies based upon the base frequency of each oscillator.
Unless I'm mistaken the frequencies are specified in an absolute sense (Hz) in the resonance window.
One of the developers on the ZynAddSubFX open source synth
The author of the Zyn-Fusion UI for ZynAddSubFX

Post

Thanks for the reply! If I understand you, the resonance window adjusts the harmonics of a sound based on it's fundamental frequency. My question, then, is about HOW the resonance window affect the harmonics.

For example, if I draw a dip in the graph around 1000hz, does it
a) Soften all harmonics of a sound when the fundamental note is played around 1000hz,
b) soften the harmonics around 1000hz, no matter what the fundamental note is,
c) something completely different?

More or less, could you define this further:
fundamental wrote:per harmonic adjustment term
?

I'm not a TL;DR guy, so lots of details are welcome!
Free BassTables for Xfer Serum 1 | 2
2016 Synthmaster Song Contest Winner Presets

Post

It alters the output of the oscillator (non-modulating IIRC) before anything else transforms the signal.
This occurs after all other oscillator spectral modification functions
(base function, adaptive harmonics, harmonic randomness, etc).
When a note is started the fundamental frequency F is used to find each one of the harmonics positions on the resonance graph.
The resonance graph goes from center-freq * 2^(1/2*octaves) to 2^(octaves * controller_bandwidth)
Each one of the harmonics has a frequency of i*F for the ith harmonic.
The fundamental frequency receives some special treatment, if ProtectTheFundamental is enabled (ie it's not modified if this parameter is enabled).
Via linear interpolation the gain is found from the harmonic frequency and the point on the resonance graph (using a log-frequency/dB scale).
Each term is multiplied by its gain and then the total spectral energy is normalized for generating a wavetable from the spectral representation.

Note: when rereading this code I spotted a bug in resonance, so this description fits the original (prior to the bug) and the fixed implementation
One of the developers on the ZynAddSubFX open source synth
The author of the Zyn-Fusion UI for ZynAddSubFX

Post Reply

Return to “ZynAddSubFX”