Hope I'm not being presumptuous here starting a new thread, but I have a question and will almost certainly have more ... and I surely am not the only one a bit overwhelmed by the depth of Z3.
I’m just getting started with Zebra 3 and am blown away with what I’m finding here. But as I work my way through the documentation, I’m struggling with several concepts. Top of the list right now has to do with time domain vs. frequency domain issues in the oscillators. We have Unison available only for the Wavetable (time domain) Renderer option, which makes perfect sense. Likewise, the Harmonics parameter only makes sense for the Additive (frequency domain) Renderer option.
But for the oscillator FX choices, I’m very puzzled. Some of the FX are presumably time domain (e.g. Sync, Symmetry) and others frequency domain (e.g. Spectral Decay, Twinkles). I expected availability of the various FX to be contingent upon choice of Renderer. But I see that all FX types are available for both Renderer options.
So, does this mean that things flip between time and frequency domain as needed for the continuous processing of every note? If so, should we be concerned about performance if we mix and match with worse-case choices?
Zebra 3 Questions
-
- KVRist
- 66 posts since 4 Sep, 2011
Sound is all waves/waveforms. A spectrum is a specific representation of the sound showing how the sound is build up from sine/cosines. Your loudspeakers/ears only care about waves, not spectra (actually your inner ear does a log spectrum analysis but your ear drum operates on pressure waves).
The Z3 editor lets you edit the sound either directly as a waveform or in the representative spectrum form. A single frequency waveform i.e. sine would be presented in the spectrum as a single spike/bar. However, importantly, Z3 does not convert a waveform in the editor to spectrum when switching from time to frequency. Instead, it simply takes the drawn curve as either time or frequency.
Anyway, the OSC plot "produces" a waveform before it goes into the FX stages. These stages can modify the time waveform directly or first convert to spectrum, modify, and convert back (or other smart stuff such as convolution and other fun transforms). The stages are not contingent on how you drew/created the waveform.
The Z3 editor lets you edit the sound either directly as a waveform or in the representative spectrum form. A single frequency waveform i.e. sine would be presented in the spectrum as a single spike/bar. However, importantly, Z3 does not convert a waveform in the editor to spectrum when switching from time to frequency. Instead, it simply takes the drawn curve as either time or frequency.
Anyway, the OSC plot "produces" a waveform before it goes into the FX stages. These stages can modify the time waveform directly or first convert to spectrum, modify, and convert back (or other smart stuff such as convolution and other fun transforms). The stages are not contingent on how you drew/created the waveform.
-
- KVRAF
- Topic Starter
- 1758 posts since 11 Nov, 2009 from Northern CA
Yes, I understand, but my question was simply: does Z3 do *huge* numbers of FFTs/IFFTs to accommodate the requirements to do certain FX operations in the time domain and others in the frequency domain and what are the performance implications of this? You are saying "yes", I believe.jooster wrote: Fri May 29, 2026 8:39 pm These stages can modify the time waveform directly or first convert to spectrum, modify, and convert back (or other smart stuff such as convolution and other fun transforms). The stages are not contingent on how you drew/created the waveform.
That means that certain scenarios would (I think) require an FFT, IFFT, FFT, IFFT sequence hundreds of times per second for every active note. That seems scary to me, but maybe it's no big deal for today's PCs (my DAW computer is at least ten years old but I haven't encountered any performance issues with Z3 so far).
- u-he
- 30180 posts since 8 Aug, 2002 from Berlin
Yes, that is pretty much what's happening. Not a big deal due to highly parallelised FFT algorithms and cache friendly table sizes. Rendering the curve from Splines into a wavetable or spectrum uses up more CPU than two or three FFTs on the same. This was the same in Zebra 2 btw, so it's been manageable for a very long time.dmbaer wrote: Sat May 30, 2026 8:44 pmYes, I understand, but my question was simply: does Z3 do *huge* numbers of FFTs/IFFTs to accommodate the requirements to do certain FX operations in the time domain and others in the frequency domain and what are the performance implications of this? You are saying "yes", I believe.jooster wrote: Fri May 29, 2026 8:39 pm These stages can modify the time waveform directly or first convert to spectrum, modify, and convert back (or other smart stuff such as convolution and other fun transforms). The stages are not contingent on how you drew/created the waveform.
That means that certain scenarios would (I think) require an FFT, IFFT, FFT, IFFT sequence hundreds of times per second for every active note. That seems scary to me, but maybe it's no big deal for today's PCs (my DAW computer is at least ten years old but I haven't encountered any performance issues with Z3 so far).
The oscillator caches whatever it can though. So if a step is not necessary, it won't perform it.
