Zebra and Wave Sequencing

Official support for: u-he.com
Post Reply New Topic
RELATED
PRODUCTS

Post

It has occured to me that Zebra may just be the perfect tool to try out some wave sequencing ideas that I have. I am looking for wave sequences that involve straight segments, much like PWM.

For example, morphing a saw into a square would be interesting but there are many other geometricaly progressive shapes that might provided some intersting results.

What I find fascinating about Zebra is how it modulates the wave sequence (nice move Urs, I don't think anyone has thought of that).

Question: Can Zebra modulate wavesequences above sub-audio (20 Hz) levels? I presume so. That might yeild some very interesting sidebands. :o

I am just beginning to realize the possiblities of Zebra. You can do things with Zebra that I don't think are possible with other synths.

I have lots of exploring to do.

John M.

Post

Lux_Seeker@yahoo.com wrote:What I find fascinating about Zebra is how it modulates the wave sequence (nice move Urs, I don't think anyone has thought of that).
Exactly what "how_to _modulate" do you refer to?
As far as I can see the principle is the same as on the PPG and Waldorf synths, no?


Post

meister eder wrote:
Lux_Seeker@yahoo.com wrote:What I find fascinating about Zebra is how it modulates the wave sequence (nice move Urs, I don't think anyone has thought of that).
Exactly what "how_to _modulate" do you refer to?
As far as I can see the principle is the same as on the PPG and Waldorf synths, no?
Nope. IIRC PPG synths make a hard switch between two waveforms at the beginning of a cycle. Waldorf synths can dynamically (dynamical = by volume, mix) fade between two adjacent waveforms in a table.

Zebra does dynamically fade between waveforms in the two "blend" modes.

But in the "morph" modes, the actual curves smoothly interpolate, yielding in much more expressive transitions than simple crossfades.

Example:

Code: Select all

Waveform 1:
__
  |
  |______

Waveform 2:

______
      |
      |__

Common Wavetable Synth at 50% between 1 & 2
__
  |____
      |__


Zebra:

____
    |
    |____
Now, back to John's question:

Yes, the modulation can go into audio rate, up to about 800Hz

The maximum rate is determined by that parameter called "Resolution". It's a control for the accuracy of the transitions. You'll have to set it to 8-9, which - no wonder - will put the oscillator in kinda cpu-hog mode.

A Resolution of 5-7 is typically sufficient to create *smooth* results. Resolutions between 3-5 are good for slow modulations. Resolutions below 3 can yield to LoFi, i.e. frequency modulations (Portamento, PitchBend) can create aliasing.

Cheers,

;) Urs

Post

Thanks Urs:

This could be very interesting. My CPU should also be able to handle it.

John M.
Urs wrote:
meister eder wrote:
Lux_Seeker@yahoo.com wrote:What I find fascinating about Zebra is how it modulates the wave sequence (nice move Urs, I don't think anyone has thought of that).
Exactly what "how_to _modulate" do you refer to?
As far as I can see the principle is the same as on the PPG and Waldorf synths, no?
Nope. IIRC PPG synths make a hard switch between two waveforms at the beginning of a cycle. Waldorf synths can dynamically (dynamical = by volume, mix) fade between two adjacent waveforms in a table.

Zebra does dynamically fade between waveforms in the two "blend" modes.

But in the "morph" modes, the actual curves smoothly interpolate, yielding in much more expressive transitions than simple crossfades.

Example:

Code: Select all

Waveform 1:
__
  |
  |______

Waveform 2:

______
      |
      |__

Common Wavetable Synth at 50% between 1 & 2
__
  |____
      |__


Zebra:

____
    |
    |____
Now, back to John's question:

Yes, the modulation can go into audio rate, up to about 800Hz

The maximum rate is determined by that parameter called "Resolution". It's a control for the accuracy of the transitions. You'll have to set it to 8-9, which - no wonder - will put the oscillator in kinda cpu-hog mode.

A Resolution of 5-7 is typically sufficient to create *smooth* results. Resolutions between 3-5 are good for slow modulations. Resolutions below 3 can yield to LoFi, i.e. frequency modulations (Portamento, PitchBend) can create aliasing.

Cheers,

;) Urs

Post

Urs wrote:
meister eder wrote:As far as I can see the principle is the same as on the PPG and Waldorf synths, no?
Nope. IIRC PPG synths make a hard switch between two waveforms at the beginning of a cycle. Waldorf synths can dynamically (dynamical = by volume, mix) fade between two adjacent waveforms in a table.

Zebra does dynamically fade between waveforms in the two "blend" modes.

But in the "morph" modes, the actual curves smoothly interpolate, yielding in much more expressive transitions than simple crossfades.
Ah, ok. Thanks. That's a big difference.

Although, when you leave empty slots between waveforms in a wavetable in Waldorf synths, they do also interpolate (not crossfade) between the waveforms.


Post

meister eder wrote:Although, when you leave empty slots between waveforms in a wavetable in Waldorf synths, they do also interpolate (not crossfade) between the waveforms.
Hmmm... I wouldn't be surprised if they mean crossfade when they say interpolate. Does this work with the PPG plugin? Might be worth looking at...

I've thought about interpolating two curves created from arbitrary points for almost 8 years (started back when I wrote 3D software). I think one either needs ai or some sort of fractal algorithms, so I decided that it's way over my head, if it's solvable at all.

You'd have to look out for areas of the waveform that "belong together", so you can move them around and adjust them in shape. I think that even such a (seemingly) simple thing as detecting and moving around two peaks is something that can't be done in realtime, if it can be done at all without human intervention:

Code: Select all

*->
*
******** waveform 1
   <-**


  *  
******** intermediate result, peaks moving across each other
   *

     *
     *
******** waveform 2
**
This is weird stuff ;)

Cheers,

;) Urs

Post


Don't know about how the PPG plugin (or the original PPG) handles it, but on the Waldorf Wave when I create a custom wavetable in the Wavetable Edit mode (which is a seperate application within the Wave - running on its Motorola DSPs), the empty gaps between non adjacent waveforms will be filled with interpolated waveforms.
But: The waveforms in the Wave are always inverse symetric waveforms, which means real pulsewithmodulation like in your example is indeed not possible, and if I go half way between a squarewave and a pulswave (which in this case has one narrow peak in the left half and a twice mirrored peak in the right half), the "interpolated" waveforms look more like in your example.

Code: Select all

Waveform 1: 
________ 
         | 
         |
         |
         |________

50%: 
__
  |______
         |
         | ______
                 |__

Waveform 2: 
__
  |
  |______ ______
                 |
                 |__

You might be right, that they just call it interpolation in the manual. At least what I can say from looking at more complex waveforms in Wavetable Edit mode while I dial through the "interpolated" positions is that it seems that each half of the waveform is infact interpolated rather than crossfaded - on the Y axis only. But then maybe moving each sample of one waveform on the Y axis towards each corresponding sample of the other waveform is crossfading, is it?


Post

meister eder wrote:But then maybe moving each sample of one waveform on the Y axis towards each corresponding sample of the other waveform is crossfading, is it?
Yep! Same as mixing, crossfade, whatever one would call it.

;) Urs

Post


Thanks for the lesson! :wink:


Post Reply

Return to “u-he”