Question to the Masses: Resonance
- KVRist
- Topic Starter
- 334 posts since 19 Aug, 2014
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 )
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 )
- KVRist
- Topic Starter
- 334 posts since 19 Aug, 2014
Did some exploring last night, and realized there actually is a reference point for the graph (the "center frequency" value)
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!
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!
-
- KVRian
- 551 posts since 21 Oct, 2008 from USA
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.
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
The author of the Zyn-Fusion UI for ZynAddSubFX
- KVRist
- Topic Starter
- 334 posts since 19 Aug, 2014
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:
I'm not a TL;DR guy, so lots of details are welcome!
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!
-
- KVRian
- 551 posts since 21 Oct, 2008 from USA
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
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
The author of the Zyn-Fusion UI for ZynAddSubFX